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