From edc87841f261b40ba8e4f1e0f7523d2da531dbfd Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 28 Oct 2015 04:26:22 +0000 Subject: [PATCH] test_parser_events.rb: event token * test/ripper/test_parser_events.rb (test_opassign): test parsed event tokens too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ripper/test_parser_events.rb | 67 ++++++++++++++++++------------- 1 file changed, 40 insertions(+), 27 deletions(-) diff --git a/test/ripper/test_parser_events.rb b/test/ripper/test_parser_events.rb index 107fb6192f..aa222de84f 100644 --- a/test/ripper/test_parser_events.rb +++ b/test/ripper/test_parser_events.rb @@ -738,44 +738,57 @@ class TestRipper::ParserEvents < Test::Unit::TestCase def test_opassign thru_opassign = false - parse('a += b', :on_opassign) {thru_opassign = true} + tree = parse('a += b', :on_opassign) {thru_opassign = true} + assert_equal true, thru_opassign + assert_equal "[opassign(var_field(a),+=,vcall(b))]", tree + thru_opassign = false + tree = parse('a -= b', :on_opassign) {thru_opassign = true} + assert_equal true, thru_opassign + assert_equal "[opassign(var_field(a),-=,vcall(b))]", tree + thru_opassign = false + tree = parse('a *= b', :on_opassign) {thru_opassign = true} + assert_equal true, thru_opassign + assert_equal "[opassign(var_field(a),*=,vcall(b))]", tree + thru_opassign = false + tree = parse('a /= b', :on_opassign) {thru_opassign = true} + assert_equal true, thru_opassign + assert_equal "[opassign(var_field(a),/=,vcall(b))]", tree + thru_opassign = false + tree = parse('a %= b', :on_opassign) {thru_opassign = true} + assert_equal true, thru_opassign + assert_equal "[opassign(var_field(a),%=,vcall(b))]", tree + thru_opassign = false + tree = parse('a **= b', :on_opassign) {thru_opassign = true} + assert_equal true, thru_opassign + assert_equal "[opassign(var_field(a),**=,vcall(b))]", tree + thru_opassign = false + tree = parse('a &= b', :on_opassign) {thru_opassign = true} + assert_equal true, thru_opassign + assert_equal "[opassign(var_field(a),&=,vcall(b))]", tree + thru_opassign = false + tree = parse('a |= b', :on_opassign) {thru_opassign = true} + assert_equal "[opassign(var_field(a),|=,vcall(b))]", tree assert_equal true, thru_opassign thru_opassign = false - parse('a -= b', :on_opassign) {thru_opassign = true} + tree = parse('a <<= b', :on_opassign) {thru_opassign = true} assert_equal true, thru_opassign + assert_equal "[opassign(var_field(a),<<=,vcall(b))]", tree thru_opassign = false - parse('a *= b', :on_opassign) {thru_opassign = true} + tree = parse('a >>= b', :on_opassign) {thru_opassign = true} assert_equal true, thru_opassign + assert_equal "[opassign(var_field(a),>>=,vcall(b))]", tree thru_opassign = false - parse('a /= b', :on_opassign) {thru_opassign = true} + tree = parse('a &&= b', :on_opassign) {thru_opassign = true} assert_equal true, thru_opassign + assert_equal "[opassign(var_field(a),&&=,vcall(b))]", tree thru_opassign = false - parse('a %= b', :on_opassign) {thru_opassign = true} + tree = parse('a ||= b', :on_opassign) {thru_opassign = true} assert_equal true, thru_opassign + assert_equal "[opassign(var_field(a),||=,vcall(b))]", tree thru_opassign = false - parse('a **= b', :on_opassign) {thru_opassign = true} - assert_equal true, thru_opassign - thru_opassign = false - parse('a &= b', :on_opassign) {thru_opassign = true} - assert_equal true, thru_opassign - thru_opassign = false - parse('a |= b', :on_opassign) {thru_opassign = true} - assert_equal true, thru_opassign - thru_opassign = false - parse('a <<= b', :on_opassign) {thru_opassign = true} - assert_equal true, thru_opassign - thru_opassign = false - parse('a >>= b', :on_opassign) {thru_opassign = true} - assert_equal true, thru_opassign - thru_opassign = false - parse('a &&= b', :on_opassign) {thru_opassign = true} - assert_equal true, thru_opassign - thru_opassign = false - parse('a ||= b', :on_opassign) {thru_opassign = true} - assert_equal true, thru_opassign - thru_opassign = false - parse('a::X ||= c 1', :on_opassign) {thru_opassign = true} + tree = parse('a::X ||= c 1', :on_opassign) {thru_opassign = true} assert_equal true, thru_opassign + assert_equal "[opassign(const_path_field(vcall(a),X),||=,command(c,[1]))]", tree end def test_opassign_error