PPTokenTest.st
changeset 38 1e678b5f1423
parent 4 90de244a7fa2
child 95 3ba2f35e7a50
equal deleted inserted replaced
37:d602818dd055 38:1e678b5f1423
    17 !PPTokenTest methodsFor:'testing'!
    17 !PPTokenTest methodsFor:'testing'!
    18 
    18 
    19 testCollection
    19 testCollection
    20 	| input result |
    20 	| input result |
    21 	input := 'foo    '.
    21 	input := 'foo    '.
    22 	result := self
    22 	result := self 
    23 		parse: input
    23 		parse: input
    24 		using: self identifier.
    24 		using: self identifier.
    25 	self assert: (result collection = input).
    25 	self assert: (result collection = input).
    26 	self assert: (result collection == input)
    26 	self assert: (result collection == input)
    27 !
    27 !
    28 
    28 
    29 testNew
    29 testNew
    30 	self should: [ PPToken new ] raise: Error.
    30 	self should: [ PPToken new ] raise: Error.
    31 
    31 	
    32 !
    32 !
    33 
    33 
    34 testPrinting
    34 testPrinting
    35 	| result |
    35 	| result |
    36 	result := PPToken on: 'var'.
    36 	result := PPToken on: 'var'.
    37 	self assert: (result printString includesSubString: 'PPToken(var)')
    37 	self assert: (result printString includesSubString: 'PPToken(var)')
    38 !
    38 !
    39 
    39 
    40 testSize
    40 testSize
    41 	| result |
    41 	| result |
    42 	result := self
    42 	result := self 
    43 		parse: 'foo'
    43 		parse: 'foo'
    44 		using: self identifier.
    44 		using: self identifier.
    45 	self assert: result size = 3
    45 	self assert: result size = 3
    46 !
    46 !
    47 
    47 
    48 testStart
    48 testStart
    49 	| result |
    49 	| result |
    50 	result := self
    50 	result := self 
    51 		parse: 'foo'
    51 		parse: 'foo'
    52 		using: self identifier.
    52 		using: self identifier.
    53 	self assert: result start = 1
    53 	self assert: result start = 1
    54 !
    54 !
    55 
    55 
    56 testStop
    56 testStop
    57 	| result |
    57 	| result |
    58 	result := self
    58 	result := self 
    59 		parse: 'foo'
    59 		parse: 'foo'
    60 		using: self identifier.
    60 		using: self identifier.
    61 	self assert: result stop = 3
    61 	self assert: result stop = 3
    62 !
    62 !
    63 
    63 
    64 testValue
    64 testValue
    65 	| input result |
    65 	| input result |
    66 	input := 'foo'.
    66 	input := 'foo'.
    67 	result := self
    67 	result := self 
    68 		parse: input
    68 		parse: input
    69 		using: self identifier.
    69 		using: self identifier.
    70 	self assert: result value = input.
    70 	self assert: result value = input.
    71 	self deny: result value == input
    71 	self deny: result value == input
    72 ! !
    72 ! !
    86 
    86 
    87 testCopyFromTo
    87 testCopyFromTo
    88 	| result other |
    88 	| result other |
    89 	result := PPToken on: 'abc'.
    89 	result := PPToken on: 'abc'.
    90 	other := result copyFrom: 2 to: 2.
    90 	other := result copyFrom: 2 to: 2.
    91 
    91 	
    92 	self assert: other size = 1.
    92 	self assert: other size = 1.
    93 	self assert: other start = 2.
    93 	self assert: other start = 2.
    94 	self assert: other stop = 2.
    94 	self assert: other stop = 2.
    95 	self assert: other collection = result collection
    95 	self assert: other collection = result collection
    96 ! !
    96 ! !
   100 testColumn
   100 testColumn
   101 	| input parser result |
   101 	| input parser result |
   102 	input := '1' , (String with: Character cr) , '12' , (String with: Character cr with: Character lf) , '123' , (String with: Character lf) , '1234'.
   102 	input := '1' , (String with: Character cr) , '12' , (String with: Character cr with: Character lf) , '123' , (String with: Character lf) , '1234'.
   103 	parser := #any asParser token star.
   103 	parser := #any asParser token star.
   104 	result := parser parse: input.
   104 	result := parser parse: input.
   105 	result
   105 	result 
   106 		with:  #(1 2 1 2 3 4 1 2 3 4 1 2 3 4)
   106 		with:  #(1 2 1 2 3 4 1 2 3 4 1 2 3 4)
   107 		do: [ :token :line | self assert: token column = line ]
   107 		do: [ :token :line | self assert: token column = line ]
   108 !
   108 !
   109 
   109 
   110 testLine
   110 testLine
   111 	| input parser result |
   111 	| input parser result |
   112 	input := '1' , (String with: Character cr) , '12' , (String with: Character cr with: Character lf) , '123' , (String with: Character lf) , '1234'.
   112 	input := '1' , (String with: Character cr) , '12' , (String with: Character cr with: Character lf) , '123' , (String with: Character lf) , '1234'.
   113 	parser := #any asParser token star.
   113 	parser := #any asParser token star.
   114 	result := parser parse: input.
   114 	result := parser parse: input.
   115 	result
   115 	result 
   116 		with: #(1 1 2 2 2 2 3 3 3 3 4 4 4 4)
   116 		with: #(1 1 2 2 2 2 3 3 3 3 4 4 4 4) 
   117 		do: [ :token :line | self assert: token line = line ]
   117 		do: [ :token :line | self assert: token line = line ]
   118 ! !
   118 ! !
   119 
   119 
   120 !PPTokenTest methodsFor:'utilities'!
   120 !PPTokenTest methodsFor:'utilities'!
   121 
   121 
   123 	^ aParser parse: aString
   123 	^ aParser parse: aString
   124 ! !
   124 ! !
   125 
   125 
   126 !PPTokenTest class methodsFor:'documentation'!
   126 !PPTokenTest class methodsFor:'documentation'!
   127 
   127 
       
   128 version
       
   129     ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPTokenTest.st,v 1.3 2012-05-04 22:05:27 vrany Exp $'
       
   130 !
       
   131 
       
   132 version_CVS
       
   133     ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPTokenTest.st,v 1.3 2012-05-04 22:05:27 vrany Exp $'
       
   134 !
       
   135 
   128 version_SVN
   136 version_SVN
   129     ^ '$Id: PPTokenTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
   137     ^ '§Id: PPTokenTest.st 4 2010-12-18 17:02:23Z kursjan §'
   130 ! !
   138 ! !