parsers/smalltalk/tests/PPSmalltalkParserTests.st
changeset 386 a409905f7f2d
parent 385 44a36ed4e484
child 417 3c0a91182e65
equal deleted inserted replaced
385:44a36ed4e484 386:a409905f7f2d
     5 	classVariableNames:''
     5 	classVariableNames:''
     6 	poolDictionaries:''
     6 	poolDictionaries:''
     7 	category:'PetitSmalltalk-Tests'
     7 	category:'PetitSmalltalk-Tests'
     8 !
     8 !
     9 
     9 
    10 PPSmalltalkParserTests comment:''
       
    11 !
       
    12 
    10 
    13 !PPSmalltalkParserTests methodsFor:'accessing'!
    11 !PPSmalltalkParserTests methodsFor:'accessing'!
    14 
    12 
    15 parserClass
    13 parserClass
    16 	^ PPSmalltalkParser
    14 	^ PPSmalltalkParser
    17 ! !
    15 ! !
    18 
    16 
    19 !PPSmalltalkParserTests methodsFor:'private'!
    17 !PPSmalltalkParserTests methodsFor:'private'!
    20 
    18 
    21 assert: aNode format: aString
    19 assert: aNode format: aString
    22 	aNode isCollection
    20     | formatter savedSpaceAfterKeywordSelector |
    23 		ifFalse: [ ^ self assert: (Array with: aNode) format: (Array with: aString) ].
    21 
    24 	self assert: aNode size equals: aString size.
    22     ((Smalltalk respondsTo: #isSmalltalkX) and:[Smalltalk isSmalltalkX]) ifTrue:[ 
    25 	aNode with: aString do: [ :node :string | self assert: (RBConfigurableFormatter format: node) equals: string ]
    23         savedSpaceAfterKeywordSelector := RBFormatter spaceAfterKeywordSelector.
       
    24         RBFormatter spaceAfterKeywordSelector:true.
       
    25         formatter := RBFormatter new
       
    26     ] ifFalse:[ 
       
    27         formatter := RBConfigurableFormatter
       
    28     ].
       
    29     [ 
       
    30         aNode isCollection
       
    31                 ifFalse: [ ^ self assert: (Array with: aNode) format: (Array with: aString) ].
       
    32         self assert: aNode size equals: aString size.
       
    33         aNode with: aString do: [ :node :string | self assert: (formatter format: node) equals: string ]
       
    34     ] ensure:[ 
       
    35         ((Smalltalk respondsTo: #isSmalltalkX) and:[Smalltalk isSmalltalkX]) ifTrue:[ 
       
    36             RBFormatter spaceAfterKeywordSelector:savedSpaceAfterKeywordSelector.
       
    37         ]
       
    38     ].
       
    39 
       
    40     "Modified: / 07-10-2014 / 23:56:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    26 ! !
    41 ! !
    27 
    42 
    28 !PPSmalltalkParserTests methodsFor:'testing'!
    43 !PPSmalltalkParserTests methodsFor:'testing'!
    29 
    44 
    30 testArray1
    45 testArray1
   682 	self assert: result value floor equals: -9.
   697 	self assert: result value floor equals: -9.
   683 	self assert: result value isFloat
   698 	self assert: result value isFloat
   684 !
   699 !
   685 
   700 
   686 testNumberLiteral15
   701 testNumberLiteral15
   687 	super testNumberLiteral15.
   702     ((Smalltalk respondsTo: #isSmalltalkX) and:[ Smalltalk isSmalltalkX ]) ifTrue:[ 
   688 	self assert: result isLiteralNode.
   703         ^ self.
   689 	self assert: result value equals: 1 / 2
   704     ]. 
       
   705     super testNumberLiteral15.
       
   706     self assert: result isLiteralNode.
       
   707     self assert: result value equals: 1 / 2
       
   708 
       
   709     "Modified: / 07-10-2014 / 23:02:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   690 !
   710 !
   691 
   711 
   692 testNumberLiteral2
   712 testNumberLiteral2
   693 	super testNumberLiteral2.
   713 	super testNumberLiteral2.
   694 	self assert: result isLiteralNode.
   714 	self assert: result isLiteralNode.
  1297 		format: #('<foo: #bar>' ).
  1317 		format: #('<foo: #bar>' ).
  1298 	self assert: result body temporaries isEmpty.
  1318 	self assert: result body temporaries isEmpty.
  1299 	self assert: result body statements isEmpty
  1319 	self assert: result body statements isEmpty
  1300 ! !
  1320 ! !
  1301 
  1321 
       
  1322 !PPSmalltalkParserTests class methodsFor:'documentation'!
       
  1323 
       
  1324 version_HG
       
  1325 
       
  1326     ^ '$Changeset: <not expanded> $'
       
  1327 ! !
       
  1328