diff options
Diffstat (limited to 'test/test-main.rb')
-rw-r--r-- | test/test-main.rb | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/test/test-main.rb b/test/test-main.rb index 3e78cfc..0e63229 100644 --- a/test/test-main.rb +++ b/test/test-main.rb @@ -7,6 +7,7 @@ require "#{File.dirname(__FILE__)}/test.rb" require 'tempfile' +require 'fileutils' require 'erubis/main' @@ -25,6 +26,17 @@ class StringWriter < String def flush(*args) # pass end + def puts(arg) + case arg + when Array + arg.each do |item| + self << item << "\n" + end + else + self << arg.to_s + self << "\n" unless arg =~ /\n$/ + end + end end class Erubis::Main @@ -261,6 +273,17 @@ END errmsgs << <<'END' 7: syntax error, unexpected $end, expecting keyword_end END + elsif rubinius? + errmsgs << <<'END' +3: expecting ')' + _buf << ' <li>'; _buf << ( item[:name]] ).to_s; _buf << '</li> + ^ +END + errmsgs << <<'END' +7: missing 'end' for 'for' started on line 2 +_buf.to_s + ^ +END else errmsgs << <<'END' 3: syntax error, unexpected ']', expecting ')' @@ -281,6 +304,10 @@ END @input = inputs[i] @expected = "tmp.test_syntax2:#{errmsgs[i]}" @options = '-z' + if rubinius? + @expected.sub! /unexpected kEND/, 'unexpected keyword_end' + @expected.sub! /expecting kEND/, 'expecting keyword_end' + end _test() end # @@ -295,6 +322,10 @@ END @expected << "#{filenames[i]}:#{errmsgs[i]}" @options << " #{filenames[i]}" end + if rubinius? + @expected.sub! /unexpected kEND/, 'unexpected keyword_end' + @expected.sub! /expecting kEND/, 'expecting keyword_end' + end _test() ensure (0...max).each do |i| @@ -566,7 +597,7 @@ END _test() ensure File.unlink filename if test(?f, filename) - Dir.rmdir dir if test(?d, dir) + FileUtils.rm_r dir if test(?d, dir) end end @@ -592,7 +623,7 @@ END _test() ensure File.unlink filename if test(?f, filename) - Dir.rmdir dir if test(?d, dir) + FileUtils.rm_r dir if test(?d, dir) end end |