tests/PPExtensionTest.st
changeset 377 6112a403a52d
parent 376 a2656b27cace
child 379 451b5ae38b72
equal deleted inserted replaced
376:a2656b27cace 377:6112a403a52d
    38 	self assert: parser parse: 'as' to: 'a'.
    38 	self assert: parser parse: 'as' to: 'a'.
    39 	self assert: parser parse: 'aas' to: 'aa'.
    39 	self assert: parser parse: 'aas' to: 'aa'.
    40 	self assert: parser parse: 'sa' to: '' end: 1.
    40 	self assert: parser parse: 'sa' to: '' end: 1.
    41 	self assert: parser parse: 'saa' to: '' end: 1.
    41 	self assert: parser parse: 'saa' to: '' end: 1.
    42 	
    42 	
    43 	parser := [ :stream | stream upTo: $s. PPFailure message: 'stream' at: stream position ] asParser.
    43 	parser := [ :stream | stream upTo: $s. PPFailure message: 'stream' context: stream ] asParser.
    44 	self assert: parser fail: ''.
    44 	self assert: parser fail: ''.
    45 	self assert: parser fail: 's'.
    45 	self assert: parser fail: 's'.
    46 	self assert: parser fail: 'as'
    46 	self assert: parser fail: 'as'
    47 	
    47 	
    48 !
    48 !
    49 
    49 
    50 testEpsilon
    50 testEpsilon
    51 	| parser |
    51 	| parser |
    52 	parser := nil asParser.
    52 	parser := nil asParser.
    53 	self assert: parser asParser = parser
    53 	self assert: parser asParser equals: parser
    54 !
    54 !
    55 
    55 
    56 testOrdered
    56 testOrdered
    57 	| parser |
    57 	| parser |
    58 	parser := #(1 2) asParser.
    58 	parser := #(1 2) asParser.
    65 !
    65 !
    66 
    66 
    67 testParser
    67 testParser
    68 	| parser |
    68 	| parser |
    69 	parser := $a asParser.
    69 	parser := $a asParser.
    70 	self assert: parser asParser = parser
    70 	self assert: parser asParser equals: parser
    71 !
    71 !
    72 
    72 
    73 testRange
    73 testRange
    74         | parser |
    74 	| parser |
    75         parser := ($a to: $c) asParser.
    75 	parser := $a - $c.
    76         self assert: parser parse: 'a' to: $a.
    76 	self assert: parser parse: 'a' to: $a.
    77         self assert: parser parse: 'b' to: $b.
    77 	self assert: parser parse: 'b' to: $b.
    78         self assert: parser parse: 'c' to: $c.
    78 	self assert: parser parse: 'c' to: $c.
    79         self assert: parser fail: 'd'
    79 	self assert: parser fail: 'd'
    80 !
    80 !
    81 
    81 
    82 testSequence
    82 testSequence
    83 	| parser |
    83 	| parser |
    84 	parser := #(1 2) asSequenceParser.
    84 	parser := #(1 2) asSequenceParser.
   121 !PPExtensionTest methodsFor:'testing-stream'!
   121 !PPExtensionTest methodsFor:'testing-stream'!
   122 
   122 
   123 testStream
   123 testStream
   124 	| stream |
   124 	| stream |
   125 	stream := 'abc' readStream asPetitStream.
   125 	stream := 'abc' readStream asPetitStream.
   126 	self assert: (stream class = PPStream).
   126 	self assert: stream class equals: PPStream.
   127 	self assert: (stream printString = '·abc').
   127 	self assert: stream printString equals: '·abc'.
   128 	self assert: (stream peek) = $a.
   128 	self assert: stream peek equals: $a.
   129 	self assert: (stream uncheckedPeek = $a).
   129 	self assert: stream uncheckedPeek equals: $a.
   130 	self assert: (stream next) = $a.
   130 	self assert: stream next equals: $a.
   131 	self assert: (stream printString = 'a·bc').
   131 	self assert: stream printString equals: 'a·bc'.
   132 	self assert: (stream asPetitStream = stream)
   132 	self assert: stream asPetitStream equals: stream
   133 !
   133 !
   134 
   134 
   135 testText
   135 testText
   136 	| stream |
   136 	| stream |
   137 	stream := 'abc' asText asPetitStream.
   137 	stream := 'abc' asText asPetitStream.
   138 	self assert: stream class = PPStream
   138 	self assert: stream class equals: PPStream
   139 ! !
   139 ! !
   140 
   140 
   141 !PPExtensionTest class methodsFor:'documentation'!
   141 !PPExtensionTest class methodsFor:'documentation'!
   142 
   142 
   143 version
   143 version