From 44a0f819078a4520ef733d85f97cf163332005be Mon Sep 17 00:00:00 2001 From: aamine Date: Mon, 20 Sep 2004 06:14:09 +0000 Subject: * test/ripper/test_scanner_events.rb: test #lineno and #column. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@6933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++ test/ripper/test_scanner_events.rb | 78 ++++++++++++++++++++++++++++---------- 2 files changed, 63 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index 469b909f5..086f48f09 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Sep 20 15:13:52 2004 Minero Aoki + + * test/ripper/test_scanner_events.rb: test #lineno and #column. + Mon Sep 20 14:50:17 2004 Minero Aoki * parse.y [ripper]: delayed heredocument events should be diff --git a/test/ripper/test_scanner_events.rb b/test/ripper/test_scanner_events.rb index 6b95c4f5d..8a8efbb16 100644 --- a/test/ripper/test_scanner_events.rb +++ b/test/ripper/test_scanner_events.rb @@ -9,20 +9,12 @@ class TestRipper_ScannerEvents < Test::Unit::TestCase class R < Ripper def R.scan(target, src) - lex(target, src).map {|id, tok| tok } - end - - def R.lex(target, src) new(src, target).parse end def initialize(src, target) super src - if target - @target = ('on__' + target).intern - else - @target = nil - end + @target = target ? ('on__' + target).intern : nil end def parse @@ -32,18 +24,19 @@ class TestRipper_ScannerEvents < Test::Unit::TestCase end def on__scan(type, tok) - @tokens.push [type,tok] if !@target or type == @target - end - - def warn(fmt, *args) - #p [fmt, args] + @tokens.push tok if !@target or type == @target end + end - def warning(fmt, *args) - #p [fmt, args] + class PosInfo < Ripper + def parse + @q = [] + super + @q end - def compile_error(msg) + def on__scan(type, tok) + @q.push [tok, type, lineno(), column()] end end @@ -56,12 +49,47 @@ class TestRipper_ScannerEvents < Test::Unit::TestCase R.scan(nil, '1') assert_equal ['1', ';', 'def', ' ', 'm', '(', 'arg', ')', 'end'], R.scan(nil, "1;def m(arg)end") - assert_equal ['print', '(', '<