compiler/tests/PPCTokenizingVisitorTest.st
changeset 515 b5316ef15274
parent 452 9f4558b3be66
equal deleted inserted replaced
502:1e45d3c96ec5 515:b5316ef15274
    19     visitor := PPCTokenizingVisitor new.
    19     visitor := PPCTokenizingVisitor new.
    20 !
    20 !
    21 
    21 
    22 testTokenNode1
    22 testTokenNode1
    23     | nilNode |
    23     | nilNode |
    24     nilNode := PPCNilNode new.
    24     nilNode := PPCCharacterNode new.
    25     node := PPCTokenNode new
    25     node := PPCTokenNode new
    26         child: nilNode.
    26         child: nilNode.
    27     result := visitor visit: node.
    27     result := visitor visit: node.
    28     
    28     
    29     self assert: result type: PPCTokenizingParserNode.
    29     self assert: result type: PPCTokenizingParserNode.
    30     self assert: result parser type: PPCTokenConsumeNode.
    30     self assert: result parser type: PPCTokenConsumeNode.
    31     self assert: result parser child = node.
    31     self assert: result parser child = node.
    32     
    32     
    33     self assert: result tokenizer children size = 2.
    33     self assert: result tokens children size = 1.
    34     self assert: (result tokenizer children anySatisfy: [ :e | e =  node ]).
    34     self assert: (result tokens children anySatisfy: [ :e | e =  node ]).
    35 !
    35 !
    36 
    36 
    37 testTokenizingParserNode
    37 testTokenizingParserNode
    38     node := PPCNilNode new.
    38     node := PPCNilNode new.
    39     result := visitor visit: node.
    39     result := visitor visit: node.
    40     
    40     
    41     self assert: result type: PPCTokenizingParserNode.
    41     self assert: result type: PPCTokenizingParserNode.
    42     self assert: result parser = node.
    42     self assert: result parser = node.
    43     self assert: result tokenizer children size = 1.
    43     self assert: result tokens children size = 0.
    44 !
    44 !
    45 
    45 
    46 testTokenizingParserNode2
    46 testTokenizingParserNode2
    47     | nilNode |
    47     | nilNode |
    48     nilNode := PPCNilNode new.
    48     nilNode := PPCCharacterNode new.
    49     node := PPCTokenNode new
    49     node := PPCTokenNode new
    50         child: nilNode.
    50         child: nilNode.
    51     result := visitor visit: node.
    51     result := visitor visit: node.
    52     
    52     
    53     self assert: result type: PPCTokenizingParserNode.
    53     self assert: result type: PPCTokenizingParserNode.
    54     self assert: result parser type: PPCTokenConsumeNode.
    54     self assert: result parser type: PPCTokenConsumeNode.
    55     self assert: result parser child = node.
    55     self assert: result parser child = node.
    56     
    56     
    57     self assert: result tokenizer children size = 2.
    57     self assert: result tokens children size = 1.
    58     self assert: (result tokenizer children anySatisfy: [ :e | e =  node ]).
    58     self assert: (result tokens children anySatisfy: [ :e | e =  node ]).
    59 !
    59 !
    60 
    60 
    61 testTrimmingTokenNode1
    61 testTrimmingTokenNode1
    62     | nilNode tokenNode |
    62     | nilNode tokenNode |
    63     nilNode := PPCNilNode new.
    63     nilNode := PPCNilNode new.
    71     
    71     
    72     self assert: result type: PPCTokenizingParserNode.
    72     self assert: result type: PPCTokenizingParserNode.
    73     self assert: result parser type: PPCTokenConsumeNode.
    73     self assert: result parser type: PPCTokenConsumeNode.
    74     self assert: result parser child = node.
    74     self assert: result parser child = node.
    75     
    75     
    76     self assert: result tokenizer children size = 2.
    76     self assert: result tokens children size = 1.
    77     self assert: (result tokenizer children anySatisfy: [ :e | e =  node ]).
    77     self assert: (result tokens children anySatisfy: [ :e | e =  node ]).
    78 ! !
    78 ! !
    79 
    79