test/code/regression.rb in rubylexer-0.7.7 vs test/code/regression.rb in rubylexer-0.8.0

- old
+ new

@@ -58,36 +58,38 @@ require 'test/unit' class LexerTests<Test::Unit::TestCase class LexerTestFailure<RuntimeError; end class DifferencesFromMRILex<LexerTestFailure; end - - i=-1 + + i=0 + test_code= TestCases::TESTCASES.map{|tc| i+=1 - name="testcase_#{i}__" esctc=tc.gsub(/['\\]/){"\\"+$&} + shorttc=esctc[0..200] + shorttc.chop! while shorttc[-1]==?\\ + shorttc.gsub!("\0",'\\\\0') + name="test_lexing_of_#{shorttc}" %[ define_method '#{name}' do difflines=[] begin - res=RubyLexerVsRuby.rubylexervsruby('__#{name}','#{esctc}',difflines) + res=RubyLexerVsRuby.rubylexervsruby('__testcase_#{i}','#{esctc}',difflines) unless difflines.empty? - puts '#{esctc}' - puts difflines.join - raise DifferencesFromMRILex + raise DifferencesFromMRILex, difflines.join end res or raise LexerTestFailure, '' - rescue Interrupt; exit - rescue Exception=>e - message=e.message.dup<<"\n"+'while lexing: #{esctc}' - e2=e.class.new(message) - e2.set_backtrace(e.backtrace) - raise e2 end end ] + #rescue Interrupt; exit + #rescue Exception=>e + # message=e.message.dup<<"\n"+'while lexing: \#{esctc}' + # e2=e.class.new(message) + # e2.set_backtrace(e.backtrace) + # raise e2 } illegal_test_code= TestCases::ILLEGAL_TESTCASES.map{|tc| i+=1 name="testcase_#{i}__" @@ -96,27 +98,25 @@ define_method '#{name}' do difflines=[] begin res=RubyLexerVsRuby.rubylexervsruby('__#{name}','#{esctc}',difflines) unless difflines.empty? - puts '#{esctc}' - puts difflines.join - raise DifferencesFromMRILex + raise DifferencesFromMRILex, difflines.join end res or raise LexerTestFailure, '' rescue LexerTestFailure puts 'warning: test failure lexing "#{esctc}"' - rescue Interrupt; exit - rescue Exception=>e; - message=e.message.dup<<"\n"+'while lexing: #{esctc}' - e2=e.class.new(message) - e2.set_backtrace(e.backtrace) - raise e2 end end ] + #rescue Interrupt; exit + #rescue Exception=>e; + # message=e.message.dup<<"\n"+'while lexing: \#{esctc}' + # e2=e.class.new(message) + # e2.set_backtrace(e.backtrace) + # raise e2 } src=(test_code+illegal_test_code).join -# puts src + #puts src eval src end