PPExtensionTest.st
changeset 188 3fd09999fe92
parent 57 caf553957d9c
equal deleted inserted replaced
187:7532226d6389 188:3fd09999fe92
     1 "{ Package: 'stx:goodies/petitparser' }"
     1 "{ Package: 'stx:goodies/petitparser' }"
     2 
     2 
     3 PPAbstractParseTest subclass:#PPExtensionTest
     3 PPAbstractParserTest subclass:#PPExtensionTest
     4 	instanceVariableNames:''
     4 	instanceVariableNames:''
     5 	classVariableNames:''
     5 	classVariableNames:''
     6 	poolDictionaries:''
     6 	poolDictionaries:''
     7 	category:'PetitTests-Tests'
     7 	category:'PetitTests-Tests'
     8 !
     8 !
    13 testCharacter
    13 testCharacter
    14 	| parser |
    14 	| parser |
    15 	parser := $a asParser.
    15 	parser := $a asParser.
    16 	self assert: parser parse: 'a' to: $a.
    16 	self assert: parser parse: 'a' to: $a.
    17 	self assert: parser fail: 'b'
    17 	self assert: parser fail: 'b'
       
    18 !
       
    19 
       
    20 testChoice
       
    21 	| parser |
       
    22 	parser := #(1 2) asChoiceParser.
       
    23 	self assert: parser parse: #(1) to: 1.
       
    24 	self assert: parser parse: #(2) to: 2.
       
    25 	self assert: parser parse: #(1 2) to: 1 end: 1.
       
    26 	self assert: parser parse: #(2 1) to: 2 end: 1.
       
    27 	self assert: parser fail: #().
       
    28 	self assert: parser fail: #(3)
    18 !
    29 !
    19 
    30 
    20 testClosure
    31 testClosure
    21 	| parser |
    32 	| parser |
    22 	parser := [ :stream | stream upTo: $s ] asParser.
    33 	parser := [ :stream | stream upTo: $s ] asParser.
    59 	self assert: parser asParser = parser
    70 	self assert: parser asParser = parser
    60 !
    71 !
    61 
    72 
    62 testRange
    73 testRange
    63         | parser |
    74         | parser |
    64         parser := $a ppMinus: $c.
    75         parser := ($a to: $c) asParser.
    65         self assert: parser parse: 'a' to: $a.
    76         self assert: parser parse: 'a' to: $a.
    66         self assert: parser parse: 'b' to: $b.
    77         self assert: parser parse: 'b' to: $b.
    67         self assert: parser parse: 'c' to: $c.
    78         self assert: parser parse: 'c' to: $c.
    68         self assert: parser fail: 'd'
    79         self assert: parser fail: 'd'
       
    80 !
    69 
    81 
    70     "Modified: / 19-12-2010 / 18:15:45 / Jan Kurs <kurs.jan@post.cz>"
    82 testSequence
       
    83 	| parser |
       
    84 	parser := #(1 2) asSequenceParser.
       
    85 	self assert: parser parse: #(1 2) to: #(1 2).
       
    86 	self assert: parser parse: #(1 2 3) to: #(1 2) end: 2.
       
    87 	self assert: parser fail: #().
       
    88 	self assert: parser fail: #(1).
       
    89 	self assert: parser fail: #(1 1).
       
    90 	self assert: parser fail: #(1 1 2)
    71 !
    91 !
    72 
    92 
    73 testString
    93 testString
    74 	| parser |
    94 	| parser |
    75 	parser := 'ab' asParser.
    95 	parser := 'ab' asParser.
   119 ! !
   139 ! !
   120 
   140 
   121 !PPExtensionTest class methodsFor:'documentation'!
   141 !PPExtensionTest class methodsFor:'documentation'!
   122 
   142 
   123 version
   143 version
   124     ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPExtensionTest.st,v 1.3 2012-05-04 22:10:26 vrany Exp $'
   144     ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPExtensionTest.st,v 1.4 2014-03-04 14:34:17 cg Exp $'
   125 !
   145 !
   126 
   146 
   127 version_CVS
   147 version_CVS
   128     ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPExtensionTest.st,v 1.3 2012-05-04 22:10:26 vrany Exp $'
   148     ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPExtensionTest.st,v 1.4 2014-03-04 14:34:17 cg Exp $'
   129 !
   149 !
   130 
   150 
   131 version_SVN
   151 version_SVN
   132     ^ '§Id: PPExtensionTest.st 5 2010-12-19 17:38:27Z kursjan §'
   152     ^ '$Id: PPExtensionTest.st,v 1.4 2014-03-04 14:34:17 cg Exp $'
   133 ! !
   153 ! !
       
   154