diff -r a2656b27cace -r 6112a403a52d tests/PPPredicateTest.st --- a/tests/PPPredicateTest.st Fri Oct 03 01:59:10 2014 +0100 +++ b/tests/PPPredicateTest.st Fri Oct 03 02:33:08 2014 +0100 @@ -11,13 +11,7 @@ !PPPredicateTest methodsFor:'private'! charactersDo: aBlock - "cg: isn't 256 one too many?" - - Smalltalk isSmalltalkX ifTrue:[ - 0 to: 255 do: [ :index | aBlock value: (Character codePoint: index) ] - ] ifFalse:[ - 1 to: 256 do: [ :index | aBlock value: (Character codePoint: index) ] - ]. + 1 to: 256 do: [ :index | aBlock value: (Character codePoint: index) ] ! ! !PPPredicateTest methodsFor:'testing'! @@ -26,12 +20,15 @@ | block parser | block := [ :char | char = $* ]. parser := PPPredicateObjectParser on: block message: 'starlet'. - self assert: parser block = block. - self assert: parser message = 'starlet'. - + self assert: parser block equals: block. + self assert: parser message equals: 'starlet'. self assertCharacterSets: parser. self assert: parser parse: '*' to: $*. - self assert: parser parse: '**' to: $* end: 1. + self + assert: parser + parse: '**' + to: $* + end: 1. self assert: parser fail: ''. self assert: parser fail: '1'. self assert: parser fail: 'a' @@ -40,17 +37,14 @@ !PPPredicateTest methodsFor:'testing-chars'! testBlank - | parser cr| - parser := #blank asParser. - self assertCharacterSets: parser. - self assert: parser parse: (String with: Character space) to: Character space. - self assert: parser parse: (String with: Character tab) to: Character tab. - self assert: parser fail: ''. - self assert: parser fail: '1'. - cr := Smalltalk isSmalltalkX - ifTrue:[Character return] - ifFalse:[Character cr]. - self assert: parser fail: (String with: cr) + | parser | + parser := #blank asParser. + self assertCharacterSets: parser. + self assert: parser parse: (String with: Character space) to: Character space. + self assert: parser parse: (String with: Character tab) to: Character tab. + self assert: parser fail: ''. + self assert: parser fail: '1'. + self assert: parser fail: (String with: Character cr) ! testChar @@ -65,15 +59,10 @@ ! testCr - | parser cr | - - cr := Smalltalk isSmalltalkX - ifTrue:[Character return] - ifFalse:[Character cr]. - - parser := #cr asParser. - self assertCharacterSets: parser. - self assert: parser parse: (String with: cr) to: cr + | parser | + parser := #cr asParser. + self assertCharacterSets: parser. + self assert: parser parse: (String with: Character cr) to: Character cr ! testDigit @@ -132,15 +121,12 @@ ! testNewline - | parser cr| - cr := Smalltalk isSmalltalkX - ifTrue:[Character return] - ifFalse:[Character cr]. - parser := #newline asParser. - self assertCharacterSets: parser. - self assert: parser parse: (String with: cr) to: cr. - self assert: parser parse: (String with: Character lf) to: Character lf. - self assert: parser fail: ' ' + | parser | + parser := #newline asParser. + self assertCharacterSets: parser. + self assert: parser parse: (String with: Character cr) to: Character cr. + self assert: parser parse: (String with: Character lf) to: Character lf. + self assert: parser fail: ' ' ! testPunctuation @@ -164,6 +150,29 @@ self assert: parser fail: 'a' ! +testStartOfLine + | parser | + parser := #startOfLine asParser, #any asParser star. + + self assert: parser parse: 'lorem ipsum'. + + parser := #any asParser, #startOfLine asParser, #any asParser star. + self assert: parser fail: 'lorem ipsum'. + + parser := #startOfLine asParser, #any asParser, #startOfLine asParser, #any asParser star. + self assert: parser parse: String cr, 'lorem ipsum'. + self assert: parser parse: String lf, 'lorem ipsum'. + self assert: parser fail: String crlf, 'lorem ipsum'. + + self assert: parser fail: String crlf. + self assert: parser parse: String cr. + self assert: parser parse: String lf. + + parser := #startOfLine asParser, #any asParser, #any asParser, #startOfLine asParser, #any asParser star. + self assert: parser parse: String crlf, 'lorem ipsum'. + self assert: parser parse: String crlf. +! + testTab | parser | parser := #tab asParser. @@ -248,20 +257,19 @@ testSequenceParser | parser | - parser := PPPredicateSequenceParser - on: [ :value | value first isUppercase ] + parser := PPPredicateSequenceParser + on: [ :value | value first isUppercase ] message: 'uppercase 3 letter words' size: 3. - self assert: parser size = 3. + self assert: parser size equals: 3. self assert: parser parse: 'Abc'. self assert: parser parse: 'ABc'. self assert: parser parse: 'ABC'. self assert: parser fail: 'abc'. self assert: parser fail: 'aBC'. self assert: parser fail: 'Ab'. - parser := parser negate. - self assert: parser size = 3. + self assert: parser size equals: 3. self assert: parser fail: 'Abc'. self assert: parser fail: 'ABc'. self assert: parser fail: 'ABC'.