Project

General

Profile

Bug #10430

Updated by nobu (Nobuyoshi Nakada) over 9 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. 

Back