1*16467b97STreehugger Robot#!/usr/bin/ruby 2*16467b97STreehugger Robot# encoding: utf-8 3*16467b97STreehugger Robot 4*16467b97STreehugger Robotrequire 'antlr3' 5*16467b97STreehugger Robotrequire 'test/unit' 6*16467b97STreehugger Robotrequire 'spec' 7*16467b97STreehugger Robot 8*16467b97STreehugger Robotinclude ANTLR3 9*16467b97STreehugger Robot 10*16467b97STreehugger Robotclass TestTokenSource < Test::Unit::TestCase 11*16467b97STreehugger Robot TrivialToken = Struct.new(:type) do 12*16467b97STreehugger Robot include Token 13*16467b97STreehugger Robot end 14*16467b97STreehugger Robot class TestSource 15*16467b97STreehugger Robot include TokenSource 16*16467b97STreehugger Robot def initialize 17*16467b97STreehugger Robot @tokens = (1..4).map { |i| TrivialToken[i] } 18*16467b97STreehugger Robot @tokens << TrivialToken[EOF] 19*16467b97STreehugger Robot end 20*16467b97STreehugger Robot 21*16467b97STreehugger Robot def next_token 22*16467b97STreehugger Robot @tokens.shift 23*16467b97STreehugger Robot end 24*16467b97STreehugger Robot end 25*16467b97STreehugger Robot 26*16467b97STreehugger Robot def test_iterator_interface 27*16467b97STreehugger Robot src = TestSource.new 28*16467b97STreehugger Robot tokens = [] 29*16467b97STreehugger Robot src.each do |token| 30*16467b97STreehugger Robot tokens << token.type 31*16467b97STreehugger Robot end 32*16467b97STreehugger Robot tokens.should == [1,2,3,4] 33*16467b97STreehugger Robot end 34*16467b97STreehugger Robot 35*16467b97STreehugger Robotend 36*16467b97STreehugger Robot 37*16467b97STreehugger Robotclass TestLexer < Test::Unit::TestCase 38*16467b97STreehugger Robot class TLexer < Lexer 39*16467b97STreehugger Robot @antlr_version = ANTLR3::ANTLR_VERSION.dup 40*16467b97STreehugger Robot end 41*16467b97STreehugger Robot def test_init 42*16467b97STreehugger Robot stream = StringStream.new('foo') 43*16467b97STreehugger Robot TLexer.new(stream) 44*16467b97STreehugger Robot end 45*16467b97STreehugger Robotend 46*16467b97STreehugger Robot 47*16467b97STreehugger Robot__END__ 48*16467b97STreehugger Robottestrecognizers.py | LN | STATUS 49*16467b97STreehugger Robot---------------------------------------------+----+-------------- 50*16467b97STreehugger Robotclass TestBaseRecognizer(unittest.TestCase) | 07 | [x] 51*16467b97STreehugger Robot def testGetRuleInvocationStack(self) | 10 | [x] 52*16467b97STreehugger Robotclass TestTokenSource(unittest.TestCase) | 20 | [x] 53*16467b97STreehugger Robot def testIteratorInterface(self) | 24 | [x] 54*16467b97STreehugger Robotclass TestLexer(unittest.TestCase) | 54 | [x] 55*16467b97STreehugger Robot def testInit(self) | 56 | [x]