analyzer/tests/PPSearcherTest.st
author Claus Gittinger <cg@exept.de>
Tue, 04 Mar 2014 16:43:09 +0100
changeset 210 d9e67752b114
child 402 1d7503124bc8
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
210
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/analyzer/tests' }"
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
PPAbstractParserTest subclass:#PPSearcherTest
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'searcher'
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'PetitAnalyzer-Tests'
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!PPSearcherTest methodsFor:'running'!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
setUp
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	searcher := PPSearcher new
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
! !
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
!PPSearcherTest methodsFor:'testing'!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
testAnyPattern
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	| result |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
		matches: PPPattern any
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
		do: [ :parser :answer | answer add: parser; yourself ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
		execute: ($a asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	self assert: result size = 1.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
		execute: ($a asParser star)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	self assert: result size = 2.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
		execute: ($a asParser , $b asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	self assert: result size = 3
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
testClassPattern
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
	| result |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	searcher 
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
		matches: (PPPattern class: PPLiteralObjectParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
		do: [ :parser :answer | answer add: parser; yourself ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
		execute: ($a asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
	self assert: result size = 1.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
	self assert: (result allSatisfy: [ :each | each class = PPLiteralObjectParser ]).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
		execute: ('abc' asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
	self assert: result isEmpty.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
		execute: (#any asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
	self assert: result isEmpty.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
		execute: ($a asParser / #any asParser , $b asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
	self assert: result size = 2.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
	self assert: (result allSatisfy: [ :each | each class = PPLiteralObjectParser ])
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
testKindPattern
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
	| result |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
	searcher 
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
		matches: (PPPattern kind: PPLiteralParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
		do: [ :parser :answer | answer add: parser; yourself ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
		execute: ($a asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
	self assert: result size = 1.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
	self assert: (result allSatisfy: [ :each | each class = PPLiteralObjectParser ]).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
		execute: ('abc' asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
	self assert: result size = 1.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
	self assert: (result allSatisfy: [ :each | each class = PPLiteralSequenceParser ]).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
		execute: (#any asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
	self assert: result isEmpty.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
		execute: ($a asParser / #any asParser , $b asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
	self assert: result size = 2.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
	self assert: (result allSatisfy: [ :each | each class = PPLiteralObjectParser ])
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
testMatchesAny
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
	| result |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
	searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
		matchesAnyOf: (Array 
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
			with: $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
			with: $b asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
		do: [ :parser :answer | answer add: parser; yourself ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
		execute: $a asParser , $b asParser , $c asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
	self assert: result size = 2.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
	self assert: result first literal = $a.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
	self assert: result last literal = $b
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
testMultiplePattern
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
	| result |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
	searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
		matches: $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
		do: [ :parser :answer | answer first add: parser. answer ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
	searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
		matches: PPPattern any
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
		do: [ :parser :answer | answer second add: parser. answer ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
		execute: $a asParser , $a asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
		initialAnswer: (Array 
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
			with: OrderedCollection new 
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
			with: OrderedCollection new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
	self assert: result first size = 2.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
	self assert: result first first literal = $a.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
	self assert: result first last literal = $a.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
	self assert: result last size = 2.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
	self assert: result last first class = PPSequenceParser.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
	self assert: result last last literal = $b
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
testNamePattern
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
	| result |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
	searcher 
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
		matches: (PPPattern name: 'foo')
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
		do: [ :parser :answer | answer add: parser; yourself ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
	result := searcher 
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
		execute: ($a asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
	self assert: result isEmpty.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
		execute: ($a asParser name: 'foo')
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
	self assert: result size = 1.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
	self assert: result first name = 'foo'.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
		execute: ($a asParser name: 'bar') , ($b asParser name: 'foo')
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
	self assert: result size = 1.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
	self assert: result first name = 'foo'
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
testNewPattern
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
	self 
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
		should: [ PPPattern new ]
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
		raise: Error
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
testRecursivePattern
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
	| recursive |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
	recursive := PPDelegateParser new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
	recursive setParser: recursive.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
	searcher 
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
		matches: recursive 
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
		do: [ :parser :answer | parser ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
	self assert: (searcher execute: recursive) = recursive.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
	self assert: (searcher execute: $a asParser) isNil.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
	self assert: (searcher execute: $a asParser / $b asParser star) isNil
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
testRepeatedPattern
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
	| pattern result |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
	searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
		matches: (pattern := PPPattern any) , pattern
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
		do: [ :parser :answer | answer add: parser; yourself ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
		execute: ($a asParser , $b asParser)
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
	self assert: result isEmpty.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
		execute: $a asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
	self assert: result size = 1.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
		execute: ($a asParser , ($a asParser , $b asParser))
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
	self assert: result isEmpty.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
		execute: ($b asParser , ($a asParser , $a asParser))
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
		initialAnswer: OrderedCollection new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
	self assert: result size = 1
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
! !
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
!PPSearcherTest methodsFor:'testing-copy'!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
testCopyMatchAction
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
	old := $a asParser ==> [ :token | $b ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
testCopyMatchDelegate
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
	old := $a asParser token trim.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
testCopyMatchEpsilon
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
	old := nil asParser.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
testCopyMatchFailure
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
	old := PPFailingParser message: 'problem'.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
testCopyMatchList
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
	old := $a asParser , $b asParser , $c asParser.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
testCopyMatchLiteral
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
	old := $a asParser.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
testCopyMatchPluggable
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
	old := [ :stream | ] asParser.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
testCopyMatchPredicate
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
	old := #word asParser.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
testCopyMatchPredicateSequence
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
	old := 'foo' asParser caseInsensitive.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
testCopyMatchRecursiveDelegate
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
	old := PPDelegateParser new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
	old setParser: old.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
testCopyMatchRecursiveList
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
	old := PPChoiceParser new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
	old setParsers: (Array with: old).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
testCopyMatchRepetition
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
	old := #word asParser star.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
testCopyMatchRepetitionGreedy
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
	old := #word asParser starGreedy: #digit asParser.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
testCopyMatchRepetitionLazy
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
	old := #word asParser starLazy: #digit asParser.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
testCopyMatchRepetitionMinMax
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
	| old new |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
	old := #word asParser min: 5 max: 10.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
	new := old copyInContext: Dictionary new.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
	self assert: (old match: old inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
	self assert: (old match: new inContext: Dictionary new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
	self deny: (old == new).
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
! !
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
!PPSearcherTest methodsFor:'testing-lists'!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
testListInfix
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
	| result |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
	searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
		matches: PPListPattern any , $a asParser , PPListPattern any
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
		do: [ :parser :answer | true ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
		execute: $a asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
		execute: $a asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
		execute: $b asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
		execute: $b asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
		execute: $a asParser , $a asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
		execute: $b asParser , $a asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
		execute: $a asParser , $b asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
		execute: $a asParser , $a asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
		execute: $b asParser , $b asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
		execute: $a asParser , $b asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
		execute: $b asParser , $a asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
		execute: $b asParser , $b asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
	self deny: result
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
testListPostfix
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
	| result |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
	searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
		matches: PPListPattern any , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
		do: [ :parser :answer | true ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
		execute: $a asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
		execute: $a asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
		execute: $b asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
		execute: $b asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
		execute: $a asParser , $a asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
		execute: $b asParser , $a asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
		execute: $a asParser , $b asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
		execute: $a asParser , $a asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
		execute: $b asParser , $b asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
		execute: $a asParser , $b asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
		execute: $b asParser , $a asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
		execute: $b asParser , $b asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
	self assert: result
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
testListPrefix
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
	| result |
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
	searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
		matches: $a asParser , PPListPattern any
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
		do: [ :parser :answer | true ].
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
		execute: $a asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
		execute: $a asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
		execute: $b asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
		execute: $b asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
		execute: $a asParser , $a asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
		execute: $b asParser , $a asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   523
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
		execute: $a asParser , $b asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
		execute: $a asParser , $a asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
		execute: $b asParser , $b asParser , $a asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
		execute: $a asParser , $b asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
	self assert: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
		execute: $b asParser , $a asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
	self deny: result.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
	
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
	result := searcher
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
		execute: $b asParser , $b asParser , $b asParser
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
		initialAnswer: false.
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
	self deny: result
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
! !
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
!PPSearcherTest class methodsFor:'documentation'!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
version
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/PPSearcherTest.st,v 1.1 2014-03-04 15:43:09 cg Exp $'
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
!
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
version_CVS
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/PPSearcherTest.st,v 1.1 2014-03-04 15:43:09 cg Exp $'
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
! !
d9e67752b114 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564