1import antlr3 2import testbase 3import unittest 4 5 6class t035ruleLabelPropertyRef(testbase.ANTLRTest): 7 def setUp(self): 8 self.compileGrammar() 9 10 11 def lexerClass(self, base): 12 class TLexer(base): 13 def recover(self, input, re): 14 # no error recovery yet, just crash! 15 raise 16 17 return TLexer 18 19 20 def parserClass(self, base): 21 class TParser(base): 22 def recover(self, input, re): 23 # no error recovery yet, just crash! 24 raise 25 26 return TParser 27 28 29 def testValid1(self): 30 cStream = antlr3.StringStream(' a a a a ') 31 32 lexer = self.getLexer(cStream) 33 tStream = antlr3.CommonTokenStream(lexer) 34 parser = self.getParser(tStream) 35 start, stop, text = parser.a() 36 37 # first token of rule b is the 2nd token (counting hidden tokens) 38 self.assertEqual(start.index, 1, start) 39 40 # first token of rule b is the 7th token (counting hidden tokens) 41 self.assertEqual(stop.index, 7, stop) 42 43 self.assertEqual(text, "a a a a") 44 45 46if __name__ == '__main__': 47 unittest.main() 48