test/test_ruby2ruby.rb in ruby2ruby-2.0.8 vs test/test_ruby2ruby.rb in ruby2ruby-2.1.0

- old
+ new

@@ -227,15 +227,25 @@ out = "(a + (b ? (c) : (d)))" util_compare inn, out end def test_defn_kwsplat - inn = s(:defn, :test, s(:args, :"**testing")) + inn = s(:defn, :test, s(:args, :"**testing"), s(:nil)) out = "def test(**testing)\n # do nothing\nend" - util_compare inn, out + assert_parse inn, out end + def test_defn_rescue_return + inn = s(:defn, :blah, s(:args), + s(:rescue, + s(:lasgn, :a, s(:lit, 1)), + s(:resbody, s(:array), s(:return, s(:str, "a"))))) + out = "def blah\n a = 1\nrescue\n return \"a\"\nend" + + assert_parse inn, out + end + def test_masgn_block_arg inn = s(:iter, s(:call, s(:nil), :x), @@ -340,11 +350,11 @@ s(:lasgn, :a, s(:lit, 1)), s(:resbody, s(:array), s(:call, nil, :log), s(:call, nil, :raise)))) - out = "def foo\n begin\n a = 1\n rescue\n log\n raise\n end\nend" + out = "def foo\n a = 1\nrescue\n log\n raise\nend" util_compare inn, out end def test_regexp_options inn = s(:match3, @@ -510,16 +520,17 @@ util_compare Ruby18Parser.new.parse(rb3), rb1 util_compare Ruby19Parser.new.parse(rb3), rb2 end - def util_compare sexp, expected_ruby, expected_eval = nil + def assert_parse sexp, expected_ruby, expected_eval = nil assert_equal sexp, RubyParser.new.process(expected_ruby), "ruby -> sexp" if @check_sexp assert_equal expected_ruby, @processor.process(sexp), "sexp -> ruby" assert_equal expected_eval, eval(expected_ruby) if expected_eval end + alias util_compare assert_parse def util_thingy(type) s(type, 'a"b', s(:evstr, s(:call, s(:lit, 1), :+, s(:lit, 1))),