1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#!/usr/bin/ruby 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# encoding: utf-8 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverrequire 'antlr3' 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverrequire 'test/unit' 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverrequire 'spec' 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverinclude ANTLR3 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverclass TestTokenSource < Test::Unit::TestCase 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TrivialToken = Struct.new(:type) do 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver include Token 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver class TestSource 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver include TokenSource 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver def initialize 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @tokens = (1..4).map { |i| TrivialToken[i] } 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @tokens << TrivialToken[EOF] 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver def next_token 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @tokens.shift 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver def test_iterator_interface 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver src = TestSource.new 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver tokens = [] 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver src.each do |token| 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver tokens << token.type 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver tokens.should == [1,2,3,4] 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverclass TestLexer < Test::Unit::TestCase 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver class TLexer < Lexer 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @antlr_version = ANTLR3::ANTLR_VERSION.dup 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver def test_init 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream = StringStream.new('foo') 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TLexer.new(stream) 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver end 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver__END__ 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertestrecognizers.py | LN | STATUS 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver---------------------------------------------+----+-------------- 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverclass TestBaseRecognizer(unittest.TestCase) | 07 | [x] 51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver def testGetRuleInvocationStack(self) | 10 | [x] 52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverclass TestTokenSource(unittest.TestCase) | 20 | [x] 53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver def testIteratorInterface(self) | 24 | [x] 54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverclass TestLexer(unittest.TestCase) | 54 | [x] 55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver def testInit(self) | 56 | [x]