提交 ab5e99ed 编写于 作者: G Gaurish Sharma

Avoid calling define_method with non-english chars in InflectorTest

When we call define_method with non-english chars like ¿por qué? it
errors out on JRuby as of 1.7.4 & would leave out the following error

invalid byte sequence in US-ASCII

To work around this issue, I have switched to define_test method call
define method with fixed string & the index of the hash. the index was
added because otherwise, ruby will raise method redefined warning.

As far as I can see there are no side-effect of this change for
other implementations. For readbility I have added a message to
asssert_equal informing for which word/phase the test has passed.

Before this Change:
JRuby:
Tests terminated suddenly with an error. no reported of Failues
or errors
MRI:
All Green.

After this Change,
JRuby:
the `ActiveSupport` TestsSuite gracefully fails with report at the end which test failed & why.
MRI:
All Green(no change)
上级 71f51264
......@@ -76,9 +76,10 @@ def test_overwrite_previous_inflectors
ActiveSupport::Inflector.inflections.uncountable "series" # Return to normal
end
MixtureToTitleCase.each do |before, titleized|
define_method "test_titleize_#{before}" do
assert_equal(titleized, ActiveSupport::Inflector.titleize(before))
MixtureToTitleCase.each_with_index do |(before, titleized), index|
define_method "test_titleize_mixture_to_title_case_#{index}" do
assert_equal(titleized, ActiveSupport::Inflector.titleize(before), "mixture \
to TitleCase failed for #{before}")
end
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册