Bug #10430
Updated by nobu (Nobuyoshi Nakada) about 10 years ago
Revision r48113 introduced Procs to delay time-consuming generation of error messages. This is a good idea, but it doesn't work for me. How to reproduce: Make a small change in lib/unicode_normalize/tables.rb. Any change should do; I changed "Q" to "QQ" in one instance. Run make install(-nodoc). Run ruby test/test_unicode_normalize.rb. The result I get is as follows: ~~~ =============================================================================== Failure: test_normalize_to_NFKD_from_source_with_nfkd(TestNormalize) test/test_unicode_normalize.rb:38:in `block (2 levels) in generate_test_normalize' test/test_unicode_normalize.rb:33:in `each' test/test_unicode_normalize.rb:33:in `block in generate_test_normalize' #<Proc:0x000006033229f0@test/test_unicode_normalize.rb:32> <"Q"> expected but was <"QQ"> diff: ? QQ =============================================================================== ~~~ The failure is expected (artificially generated). The problem is the line `#<Proc:0x000006033229f0@test/test_unicode_normalize.rb:32>` #<Proc:0x000006033229f0@test/test_unicode_normalize.rb:32> The Proc that is supposed to be evaluated to generate a more detailed error message (showing codepoints of the characters involved) is just converted to a String. For reference, I'm using the standard bundled gems minitest-5.4.1.gem, power_assert-0.1.4.gem, and test-unit-3.0.1.gem.