compiler/tests/extras/PPCSmalltalkTests.st
changeset 524 f6f68d32de73
parent 515 b5316ef15274
child 525 751532c8f3db
equal deleted inserted replaced
515:b5316ef15274 524:f6f68d32de73
     1 "{ Package: 'stx:goodies/petitparser/compiler/tests/extras' }"
     1 "{ Package: 'stx:goodies/petitparser/compiler/tests/extras' }"
     2 
     2 
     3 "{ NameSpace: Smalltalk }"
     3 "{ NameSpace: Smalltalk }"
     4 
     4 
     5 TestCase subclass:#PPCSmalltalkTests
     5 TestCase subclass:#PPCSmalltalkTests
     6 	instanceVariableNames:'configuration arguments'
     6 	instanceVariableNames:'configuration arguments result'
     7 	classVariableNames:''
     7 	classVariableNames:''
     8 	poolDictionaries:''
     8 	poolDictionaries:''
     9 	category:'PetitCompiler-Extras-Tests-Smalltalk'
     9 	category:'PetitCompiler-Extras-Tests-Smalltalk'
    10 !
    10 !
    11 
    11 
    12 !PPCSmalltalkTests methodsFor:'as yet unclassified'!
    12 !PPCSmalltalkTests methodsFor:'as yet unclassified'!
    13 
    13 
    14 configuration
    14 assert: parser parse: input
    15     arguments := PPCArguments default
    15     result := parser parse: input.
    16         profile: true;
    16     self assert: result isPetitFailure not.
    17         yourself.
       
    18         
       
    19     ^ PPCTokenizingConfiguration new
       
    20         arguments: arguments;
       
    21         yourself.
       
    22 !
    17 !
    23 
    18 
    24 setUp
    19 setUp
    25     arguments := PPCArguments default
    20     arguments := PPCArguments default
    26         profile: true;
    21         profile: true;
    31         yourself.
    26         yourself.
    32 !
    27 !
    33 
    28 
    34 testSmalltakToken
    29 testSmalltakToken
    35     | token1  |
    30     | token1  |
    36     configuration := self configuration.
       
    37     token1 := 'a' asParser smalltalkToken compileWithConfiguration: configuration.
    31     token1 := 'a' asParser smalltalkToken compileWithConfiguration: configuration.
    38     
    32     
    39     self assert: ((token1 parse: 'a') class == PPSmalltalkToken).
    33     self assert: ((token1 parse: 'a') class == PPSmalltalkToken).
    40     self assert: (token1 parse: '"comment" a "another comment"') inputValue = 'a'
    34     self assert: (token1 parse: '"comment" a "another comment"') inputValue = 'a'
       
    35 !
       
    36 
       
    37 testSmalltakToken2
       
    38     | parser compiled  |
       
    39     parser := 'a' asParser smalltalkToken, 'b' asParser smalltalkToken.
       
    40     compiled := parser compileWithConfiguration: configuration.
       
    41     
       
    42     self assert: compiled parse: 'ab'.
       
    43     self assert: compiled parse: '"comment" a "another comment" b '.
       
    44     self assert: result size = 2.
       
    45     self assert: result first inputValue = 'a'.
       
    46     self assert: result second inputValue = 'b'.
       
    47     
    41 !
    48 !
    42 
    49 
    43 testSmalltakWhitespace
    50 testSmalltakWhitespace
    44     | ws1 ws2 |
    51     | ws1 ws2 |
    45     ws1 := PPSmalltalkWhitespaceParser new.
    52     ws1 := PPSmalltalkWhitespaceParser new.