コード例 #1
0
    def testParseNodeShould(self):
        "test ParseNode should allow registering of node classes"

        class CustomParseNode(ParseNode):
            def __init__(self, children):
                ParseNode.__init__(self, "CUSTOM_NODE_TYPE", children)

        ParseNode.register_node_type("CUSTOM_NODE_TYPE", CustomParseNode)
        try:

            node = ParseNode.construct_node("CUSTOM_NODE_TYPE", [])
            self.assertEquals(
                type(node), CustomParseNode,
                "ParseNode.construct_node didn't dispatch to CustomParseNode")
            self.assertEquals(node.type, "CUSTOM_NODE_TYPE",
                              "Wrong type attribute")
            self.assertEquals(node.children, [], "Wrong children")

            node = ParseNode.construct_node("FISH BOWL", ["gox blamp"])
            self.assertEquals(
                type(node), ParseNode,
                "ParseNode.construct_node didn't fall back to ParseNode")
            self.assertEquals(node.type, "FISH BOWL", "Wrong type attribute")
            self.assertEquals(node.children, ["gox blamp"], "Wrong children")

            self.assertIsNotNone(ParseNode.classRegistry,
                                 "ParseNode didn't have a class registry")
        finally:
            del ParseNode.classRegistry["CUSTOM_NODE_TYPE"]
 def testRegisteredWithParse(self):
     "test registered with ParseNode"
     self.assertEquals(
         type(
             ParseNode.construct_node(ParseNode.FL_COLUMN_REFERENCE,
                                      ['A_'])), FLColumnReferenceParseNode,
         "Class is not registered with ParseNode")
コード例 #3
0
 def testRegisteredWithParse(self):
     "test registered with ParseNode"
     self.assertEquals(
         type(ParseNode.construct_node(ParseNode.FL_CELL_RANGE, ["a1", ":", "b4"])),
         FLCellRangeParseNode,
         "Class is not registered with ParseNode",
     )
コード例 #4
0
 def testRegisteredWithParse(self):
     "test registered with ParseNode"
     self.assertEquals(
         type(
             ParseNode.construct_node(ParseNode.FL_CELL_RANGE,
                                      ['a1', ':', 'b4'])),
         FLCellRangeParseNode, "Class is not registered with ParseNode")
コード例 #5
0
    def testParseNodeShould(self):
        "test ParseNode should allow registering of node classes"
        class CustomParseNode(ParseNode):
            def __init__(self, children):
                ParseNode.__init__(self, "CUSTOM_NODE_TYPE", children)

        ParseNode.register_node_type("CUSTOM_NODE_TYPE", CustomParseNode)
        try:

            node = ParseNode.construct_node("CUSTOM_NODE_TYPE", [])
            self.assertEquals(type(node), CustomParseNode, "ParseNode.construct_node didn't dispatch to CustomParseNode")
            self.assertEquals(node.type, "CUSTOM_NODE_TYPE", "Wrong type attribute")
            self.assertEquals(node.children, [], "Wrong children")


            node = ParseNode.construct_node("FISH BOWL", ["gox blamp"])
            self.assertEquals(type(node), ParseNode, "ParseNode.construct_node didn't fall back to ParseNode")
            self.assertEquals(node.type, "FISH BOWL", "Wrong type attribute")
            self.assertEquals(node.children, ["gox blamp"], "Wrong children")


            self.assertIsNotNone(ParseNode.classRegistry, "ParseNode didn't have a class registry")
        finally:
            del ParseNode.classRegistry["CUSTOM_NODE_TYPE"]
コード例 #6
0
def FLDDECall(children):
    return ParseNode.construct_node(ParseNode.FL_DDE_CALL, children)
コード例 #7
0
def ArithExpr(children):
    return ParseNode.construct_node(ParseNode.ARITH_EXPR, children)
コード例 #8
0
def Name(children):
    return ParseNode.construct_node(ParseNode.NAME, children)
コード例 #9
0
def ListFor(children):
    return ParseNode.construct_node(ParseNode.LIST_FOR, children)
コード例 #10
0
def GenFor(children):
    return ParseNode.construct_node(ParseNode.GEN_FOR, children)
コード例 #11
0
def ExprList(children):
    return ParseNode.construct_node(ParseNode.EXPR_LIST, children)
コード例 #12
0
def Comparison(children):
    return ParseNode.construct_node(ParseNode.COMPARISON, children)
コード例 #13
0
def Argument(children):
    return ParseNode.construct_node(ParseNode.ARGUMENT, children)
コード例 #14
0
def ArgList(children):
    return ParseNode.construct_node(ParseNode.ARG_LIST, children)
コード例 #15
0
def VarArgsList(children):
    return ParseNode.construct_node(ParseNode.VAR_ARGS_LIST, children)
コード例 #16
0
def Trailer(children):
    return ParseNode.construct_node(ParseNode.TRAILER, children)
コード例 #17
0
def TestListGexp(children):
    return ParseNode.construct_node(ParseNode.TEST_LIST_GEXP, children)
コード例 #18
0
def TestList(children):
    return ParseNode.construct_node(ParseNode.TEST_LIST, children)
コード例 #19
0
def FLInvalidReference(children):
    return ParseNode.construct_node(ParseNode.FL_INVALID_REFERENCE, children)
コード例 #20
0
def FLReference(children):
    return ParseNode.construct_node(ParseNode.FL_REFERENCE, children)
コード例 #21
0
def ArithExpr(children):
    return ParseNode.construct_node(ParseNode.ARITH_EXPR, children)
コード例 #22
0
def DictMaker(children):
    return ParseNode.construct_node(ParseNode.DICT_MAKER, children)
コード例 #23
0
def Atom(children):
    return ParseNode.construct_node(ParseNode.ATOM, children)
コード例 #24
0
def FPDef(children):
    return ParseNode.construct_node(ParseNode.FP_DEF, children)
コード例 #25
0
def FLDDECall(children):
    return ParseNode.construct_node(ParseNode.FL_DDE_CALL, children)
コード例 #26
0
def GenIter(children):
    return ParseNode.construct_node(ParseNode.GEN_ITER, children)
コード例 #27
0
def FLDeletedReference(children):
    return ParseNode.construct_node(ParseNode.FL_DELETED_REFERENCE, children)
コード例 #28
0
def ListIter(children):
    return ParseNode.construct_node(ParseNode.LIST_ITER, children)
コード例 #29
0
def FLInvalidReference(children):
    return ParseNode.construct_node(ParseNode.FL_INVALID_REFERENCE, children)
コード例 #30
0
def AndTest(children):
    return ParseNode.construct_node(ParseNode.AND_TEST, children)
コード例 #31
0
def FLNakedWorksheetReference(children):
    return ParseNode.construct_node(ParseNode.FL_NAKED_WORKSHEET_REFERENCE,
                                    children)
コード例 #32
0
def Atom(children):
    return ParseNode.construct_node(ParseNode.ATOM, children)
コード例 #33
0
def FLReference(children):
    return ParseNode.construct_node(ParseNode.FL_REFERENCE, children)
コード例 #34
0
def FLDeletedReference(children):
    return ParseNode.construct_node(ParseNode.FL_DELETED_REFERENCE, children)
コード例 #35
0
def FLRoot(children):
    return ParseNode.construct_node(ParseNode.FL_ROOT, children)
コード例 #36
0
def FLNakedWorksheetReference(children):
    return ParseNode.construct_node(ParseNode.FL_NAKED_WORKSHEET_REFERENCE, children)
コード例 #37
0
def Comparison(children):
    return ParseNode.construct_node(ParseNode.COMPARISON, children)
コード例 #38
0
def FLRoot(children):
    return ParseNode.construct_node(ParseNode.FL_ROOT, children)
コード例 #39
0
def CompOperator(children):
    return ParseNode.construct_node(ParseNode.COMP_OPERATOR, children)
コード例 #40
0
def CompOperator(children):
    return ParseNode.construct_node(ParseNode.COMP_OPERATOR, children)
コード例 #41
0
def DictMaker(children):
    return ParseNode.construct_node(ParseNode.DICT_MAKER, children)
コード例 #42
0
def Expr(children):
    return ParseNode.construct_node(ParseNode.EXPR, children)
コード例 #43
0
def Expr(children):
    return ParseNode.construct_node(ParseNode.EXPR, children)
コード例 #44
0
def Factor(children):
    return ParseNode.construct_node(ParseNode.FACTOR, children)
コード例 #45
0
def ExprList(children):
    return ParseNode.construct_node(ParseNode.EXPR_LIST, children)
コード例 #46
0
def FPList(children):
    return ParseNode.construct_node(ParseNode.FP_LIST, children)
コード例 #47
0
def Factor(children):
    return ParseNode.construct_node(ParseNode.FACTOR, children)
コード例 #48
0
def GenIf(children):
    return ParseNode.construct_node(ParseNode.GEN_IF, children)
コード例 #49
0
def FPDef(children):
    return ParseNode.construct_node(ParseNode.FP_DEF, children)
コード例 #50
0
def LambDef(children):
    return ParseNode.construct_node(ParseNode.LAMBDEF, children)
コード例 #51
0
def FPList(children):
    return ParseNode.construct_node(ParseNode.FP_LIST, children)
コード例 #52
0
def ListIf(children):
    return ParseNode.construct_node(ParseNode.LIST_IF, children)
 def testRegisteredWithParse(self):
     "test registered with ParseNode"
     self.assertEquals(type(ParseNode.construct_node(ParseNode.FL_NAMED_ROW_REFERENCE, ['dfytjdky'])), FLNamedRowReferenceParseNode,
                       "Class is not registered with ParseNode")
コード例 #54
0
def ListMaker(children):
    return ParseNode.construct_node(ParseNode.LIST_MAKER, children)
コード例 #55
0
def Argument(children):
    return ParseNode.construct_node(ParseNode.ARGUMENT, children)
コード例 #56
0
def GenFor(children):
    return ParseNode.construct_node(ParseNode.GEN_FOR, children)
コード例 #57
0
def Term(children):
    return ParseNode.construct_node(ParseNode.TERM, children)
コード例 #58
0
 def testRegisteredWithParse(self):
     "test registered with ParseNode"
     self.assertEquals(type(ParseNode.construct_node(ParseNode.FL_COLUMN_REFERENCE, ['A_'])), FLColumnReferenceParseNode,
                       "Class is not registered with ParseNode")
コード例 #59
0
def GenIf(children):
    return ParseNode.construct_node(ParseNode.GEN_IF, children)