示例#1
0
    def testEOF(self):
        """TreePatternLexer(): EOF"""

        lexer = TreePatternLexer('  \n \r \t ')
        type = lexer.nextToken()
        self.assertEqual(type, EOF)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
    def testID(self):
        """TreePatternLexer(): ID"""

        lexer = TreePatternLexer('_foo12_bar')
        type = lexer.nextToken()
        self.failUnlessEqual(type, ID)
        self.failUnlessEqual(lexer.sval, '_foo12_bar')
        self.failUnlessEqual(lexer.error, False)
示例#3
0
    def testDot(self):
        """TreePatternLexer(): '.'"""

        lexer = TreePatternLexer('.')
        type = lexer.nextToken()
        self.assertEqual(type, DOT)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
示例#4
0
    def testEnd(self):
        """TreePatternLexer(): ')'"""

        lexer = TreePatternLexer(')')
        type = lexer.nextToken()
        self.assertEqual(type, END)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
示例#5
0
    def testPercent(self):
        """TreePatternLexer(): '%'"""

        lexer = TreePatternLexer('%')
        type = lexer.nextToken()
        self.assertEqual(type, PERCENT)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
示例#6
0
    def testError(self):
        """TreePatternLexer(): error"""

        lexer = TreePatternLexer('1')
        type = lexer.nextToken()
        self.assertEqual(type, EOF)
        self.assertEqual(lexer.sval, '')
        self.assertTrue(lexer.error)
示例#7
0
    def testBegin(self):
        """TreePatternLexer(): '('"""

        lexer = TreePatternLexer('(')
        type = lexer.nextToken()
        self.assertEqual(type, BEGIN)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
示例#8
0
    def testEOF(self):
        """TreePatternLexer(): EOF"""

        lexer = TreePatternLexer('  \n \r \t ')
        type = lexer.nextToken()
        self.assertEqual(type, EOF)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
示例#9
0
    def testARG(self):
        """TreePatternLexer(): ARG"""

        lexer = TreePatternLexer(r'[ \]bla\n]')
        type = lexer.nextToken()
        self.assertEqual(type, ARG)
        self.assertEqual(lexer.sval, r' ]bla\n')
        self.assertFalse(lexer.error)
示例#10
0
    def testDot(self):
        """TreePatternLexer(): '.'"""

        lexer = TreePatternLexer('.')
        type = lexer.nextToken()
        self.assertEqual(type, DOT)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
示例#11
0
    def testColon(self):
        """TreePatternLexer(): ':'"""

        lexer = TreePatternLexer(':')
        type = lexer.nextToken()
        self.assertEqual(type, COLON)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
示例#12
0
    def testPercent(self):
        """TreePatternLexer(): '%'"""

        lexer = TreePatternLexer('%')
        type = lexer.nextToken()
        self.assertEqual(type, PERCENT)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
示例#13
0
    def testEnd(self):
        """TreePatternLexer(): ')'"""

        lexer = TreePatternLexer(')')
        type = lexer.nextToken()
        self.assertEqual(type, END)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
示例#14
0
    def testBegin(self):
        """TreePatternLexer(): '('"""

        lexer = TreePatternLexer('(')
        type = lexer.nextToken()
        self.assertEqual(type, BEGIN)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
示例#15
0
    def testColon(self):
        """TreePatternLexer(): ':'"""

        lexer = TreePatternLexer(':')
        type = lexer.nextToken()
        self.assertEqual(type, COLON)
        self.assertEqual(lexer.sval, '')
        self.assertFalse(lexer.error)
示例#16
0
    def testID(self):
        """TreePatternLexer(): ID"""

        lexer = TreePatternLexer('_foo12_bar')
        type = lexer.nextToken()
        self.assertEqual(type, ID)
        self.assertEqual(lexer.sval, '_foo12_bar')
        self.assertFalse(lexer.error)
示例#17
0
    def testError(self):
        """TreePatternLexer(): error"""

        lexer = TreePatternLexer('1')
        type = lexer.nextToken()
        self.assertEqual(type, EOF)
        self.assertEqual(lexer.sval, '')
        self.assertTrue(lexer.error)
示例#18
0
    def testPercent(self):
        """TreePatternLexer(): '%'"""

        lexer = TreePatternLexer('%')
        type = lexer.nextToken()
        self.failUnlessEqual(type, PERCENT)
        self.failUnlessEqual(lexer.sval, '')
        self.failUnlessEqual(lexer.error, False)
示例#19
0
    def testBegin(self):
        """TreePatternLexer(): '('"""

        lexer = TreePatternLexer('(')
        type = lexer.nextToken()
        self.failUnlessEqual(type, BEGIN)
        self.failUnlessEqual(lexer.sval, '')
        self.failUnlessEqual(lexer.error, False)
示例#20
0
    def testColon(self):
        """TreePatternLexer(): ':'"""

        lexer = TreePatternLexer(':')
        type = lexer.nextToken()
        self.failUnlessEqual(type, COLON)
        self.failUnlessEqual(lexer.sval, '')
        self.failUnlessEqual(lexer.error, False)
示例#21
0
    def testDot(self):
        """TreePatternLexer(): '.'"""

        lexer = TreePatternLexer('.')
        type = lexer.nextToken()
        self.failUnlessEqual(type, DOT)
        self.failUnlessEqual(lexer.sval, '')
        self.failUnlessEqual(lexer.error, False)
示例#22
0
    def testEOF(self):
        """TreePatternLexer(): EOF"""

        lexer = TreePatternLexer('  \n \r \t ')
        type = lexer.nextToken()
        self.failUnlessEqual(type, EOF)
        self.failUnlessEqual(lexer.sval, '')
        self.failUnlessEqual(lexer.error, False)
示例#23
0
    def testError(self):
        """TreePatternLexer(): error"""

        lexer = TreePatternLexer('1')
        type = lexer.nextToken()
        self.failUnlessEqual(type, EOF)
        self.failUnlessEqual(lexer.sval, '')
        self.failUnlessEqual(lexer.error, True)
示例#24
0
    def testARG(self):
        """TreePatternLexer(): ARG"""

        lexer = TreePatternLexer('[ \\]bla\\n]')
        type = lexer.nextToken()
        self.failUnlessEqual(type, ARG)
        self.failUnlessEqual(lexer.sval, ' ]bla\\n')
        self.failUnlessEqual(lexer.error, False)
示例#25
0
    def testEnd(self):
        """TreePatternLexer(): ')'"""

        lexer = TreePatternLexer(')')
        type = lexer.nextToken()
        self.failUnlessEqual(type, END)
        self.failUnlessEqual(lexer.sval, '')
        self.failUnlessEqual(lexer.error, False)
 def testLabel(self):
     """TreePatternParser: '(%a:A)'"""
     lexer = TreePatternLexer('(%a:A)')
     parser = TreePatternParser(lexer, self.wizard, TreePatternTreeAdaptor())
     tree = parser.pattern()
     self.failUnless(isinstance(tree, TreePattern))
     self.failUnlessEqual(tree.label, 'a')
 def testNil(self):
     """TreePatternParser: 'nil'"""
     lexer = TreePatternLexer('nil')
     parser = TreePatternParser(lexer, self.wizard, self.adaptor)
     tree = parser.pattern()
     self.failUnless(isinstance(tree, CommonTree))
     self.failUnlessEqual(tree.getType(), 0)
     self.failUnlessEqual(tree.getText(), None)
 def testSingleNodeWithArg(self):
     """TreePatternParser: 'ID[foo]'"""
     lexer = TreePatternLexer('ID[foo]')
     parser = TreePatternParser(lexer, self.wizard, self.adaptor)
     tree = parser.pattern()
     self.failUnless(isinstance(tree, CommonTree))
     self.failUnlessEqual(tree.getType(), 10)
     self.failUnlessEqual(tree.getText(), 'foo')
示例#29
0
 def testNil(self):
     """TreePatternParser: 'nil'"""
     lexer = TreePatternLexer('nil')
     parser = TreePatternParser(lexer, self.wizard, self.adaptor)
     tree = parser.pattern()
     self.assertIsInstance(tree, CommonTree)
     self.assertEqual(tree.getType(), 0)
     self.assertIsNone(tree.getText())
示例#30
0
 def testSingleNode(self):
     """TreePatternParser: 'ID'"""
     lexer = TreePatternLexer('ID')
     parser = TreePatternParser(lexer, self.wizard, self.adaptor)
     tree = parser.pattern()
     self.assertIsInstance(tree, CommonTree)
     self.assertEqual(tree.getType(), 10)
     self.assertEqual(tree.getText(), 'ID')
 def testSingleLevelTree(self):
     """TreePatternParser: '(A B)'"""
     lexer = TreePatternLexer('(A B)')
     parser = TreePatternParser(lexer, self.wizard, self.adaptor)
     tree = parser.pattern()
     self.failUnless(isinstance(tree, CommonTree))
     self.failUnlessEqual(tree.getType(), 5)
     self.failUnlessEqual(tree.getText(), 'A')
     self.failUnlessEqual(tree.getChildCount(), 1)
     self.failUnlessEqual(tree.getChild(0).getType(), 6)
     self.failUnlessEqual(tree.getChild(0).getText(), 'B')
示例#32
0
 def testError2(self):
     """TreePatternParser: '()'"""
     lexer = TreePatternLexer('()')
     parser = TreePatternParser(lexer, self.wizard, self.adaptor)
     tree = parser.pattern()
     self.assertIsNone(tree)
 def testWildcard(self):
     """TreePatternParser: '(.)'"""
     lexer = TreePatternLexer('(.)')
     parser = TreePatternParser(lexer, self.wizard, self.adaptor)
     tree = parser.pattern()
     self.failUnless(isinstance(tree, WildcardTreePattern))
 def testError3(self):
     """TreePatternParser: '(A ])'"""
     lexer = TreePatternLexer('(A ])')
     parser = TreePatternParser(lexer, self.wizard, self.adaptor)
     tree = parser.pattern()
     self.failUnless(tree is None)