| import sys |
| import unittest |
| |
| import antlr3 |
| |
| |
| class TestBaseRecognizer(unittest.TestCase): |
| """Tests for BaseRecognizer class""" |
| |
| def testGetRuleInvocationStack(self): |
| """BaseRecognizer._getRuleInvocationStack()""" |
| |
| rules = antlr3.BaseRecognizer._getRuleInvocationStack(__name__) |
| self.failUnlessEqual( |
| rules, |
| ['testGetRuleInvocationStack'] |
| ) |
| |
| |
| class TestTokenSource(unittest.TestCase): |
| """Testcase to the antlr3.TokenSource class""" |
| |
| |
| def testIteratorInterface(self): |
| """TokenSource.next()""" |
| |
| class TrivialToken(object): |
| def __init__(self, type): |
| self.type = type |
| |
| class TestSource(antlr3.TokenSource): |
| def __init__(self): |
| self.tokens = [ |
| TrivialToken(1), |
| TrivialToken(2), |
| TrivialToken(3), |
| TrivialToken(4), |
| TrivialToken(antlr3.EOF), |
| ] |
| |
| def nextToken(self): |
| return self.tokens.pop(0) |
| |
| |
| src = TestSource() |
| tokens = [] |
| for token in src: |
| tokens.append(token.type) |
| |
| self.failUnlessEqual(tokens, [1, 2, 3, 4]) |
| |
| |
| |
| class TestLexer(unittest.TestCase): |
| |
| def testInit(self): |
| """Lexer.__init__()""" |
| |
| class TLexer(antlr3.Lexer): |
| api_version = 'HEAD' |
| |
| stream = antlr3.StringStream('foo') |
| TLexer(stream) |
| |
| |
| if __name__ == "__main__": |
| unittest.main(testRunner=unittest.TextTestRunner(verbosity=2)) |