diff -r 1ba87229ee7e -r e2b2f08d054e tests/PPAbstractParseTest.st --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/PPAbstractParseTest.st Fri Oct 03 01:36:33 2014 +0100 @@ -0,0 +1,97 @@ +"{ Package: 'stx:goodies/petitparser' }" + +TestCase subclass:#PPAbstractParseTest + instanceVariableNames:'' + classVariableNames:'' + poolDictionaries:'' + category:'PetitTests-Core' +! + + +!PPAbstractParseTest class methodsFor:'accessing'! + +packageNamesUnderTest + ^ #('PetitParser' 'PetitTests') +! ! + +!PPAbstractParseTest class methodsFor:'testing'! + +isAbstract + ^ self name = #PPAbstractParseTest +! ! + +!PPAbstractParseTest methodsFor:'utilities'! + +assert: aParser fail: aCollection + self assert: aParser fail: aCollection end: 0 +! + +assert: aParser fail: aCollection end: anInteger + | stream result | + self + assert: aParser isPetitParser + description: 'Parser invalid'. + stream := aCollection asPetitStream. + result := aParser parse: stream. + self + assert: result isPetitFailure + description: 'Parser did not fail'. + self + assert: stream position = anInteger + description: 'Parser failed at wrong position' +! + +assert: aParser parse: aCollection + self assert: aParser parse: aCollection to: nil end: aCollection size +! + +assert: aParser parse: aCollection end: anInteger + self assert: aParser parse: aCollection to: nil end: anInteger +! + +assert: aParser parse: aCollection to: anObject + self assert: aParser parse: aCollection to: anObject end: aCollection size +! + +assert: aParser parse: aParseObject to: aTargetObject end: anInteger + | stream result | + self + assert: aParser isPetitParser + description: 'Parser invalid'. + stream := aParseObject asPetitStream. + result := aParser parse: stream. + aTargetObject isNil + ifTrue: [ self deny: result isPetitFailure ] + ifFalse: [ self assert: result = aTargetObject ]. + self + assert: stream position = anInteger + description: 'Parser accepted at wrong position' + + "Modified: / 18-12-2010 / 18:01:30 / Jan Kurs " +! + +assert: aParser parse: aParserObject toToken: from stop: to + | token | + token := PPToken on: aParserObject start: from stop: to. + ^ self assert: aParser parse: aParserObject to: token +! + +assert: aParser parse: aParserObject toToken: from stop: to end: end + | token | + token := PPToken on: aParserObject start: from stop: to. + ^ self assert: aParser parse: aParserObject to: token end: end +! ! + +!PPAbstractParseTest class methodsFor:'documentation'! + +version + ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPAbstractParseTest.st,v 1.3 2012-05-04 22:09:07 vrany Exp $' +! + +version_CVS + ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPAbstractParseTest.st,v 1.3 2012-05-04 22:09:07 vrany Exp $' +! + +version_SVN + ^ '§Id: PPAbstractParseTest.st 4 2010-12-18 17:02:23Z kursjan §' +! !