author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Fri, 03 Oct 2014 01:59:10 +0100 | |
changeset 376 | a2656b27cace |
parent 375 | e2b2f08d054e |
permissions | -rw-r--r-- |
376
a2656b27cace
Added monticelloName to package definition to ease export to .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
375
diff
changeset
|
1 |
"{ Package: 'stx:goodies/petitparser/tests' }" |
0 | 2 |
|
3 |
TestCase subclass:#PPAbstractParseTest |
|
4 |
instanceVariableNames:'' |
|
5 |
classVariableNames:'' |
|
6 |
poolDictionaries:'' |
|
7 |
category:'PetitTests-Core' |
|
8 |
! |
|
9 |
||
10 |
||
11 |
!PPAbstractParseTest class methodsFor:'accessing'! |
|
12 |
||
13 |
packageNamesUnderTest |
|
14 |
^ #('PetitParser' 'PetitTests') |
|
15 |
! ! |
|
16 |
||
17 |
!PPAbstractParseTest class methodsFor:'testing'! |
|
18 |
||
19 |
isAbstract |
|
20 |
^ self name = #PPAbstractParseTest |
|
21 |
! ! |
|
22 |
||
23 |
!PPAbstractParseTest methodsFor:'utilities'! |
|
24 |
||
25 |
assert: aParser fail: aCollection |
|
26 |
self assert: aParser fail: aCollection end: 0 |
|
27 |
! |
|
28 |
||
29 |
assert: aParser fail: aCollection end: anInteger |
|
30 |
| stream result | |
|
50 | 31 |
self |
0 | 32 |
assert: aParser isPetitParser |
33 |
description: 'Parser invalid'. |
|
34 |
stream := aCollection asPetitStream. |
|
35 |
result := aParser parse: stream. |
|
50 | 36 |
self |
0 | 37 |
assert: result isPetitFailure |
38 |
description: 'Parser did not fail'. |
|
39 |
self |
|
40 |
assert: stream position = anInteger |
|
41 |
description: 'Parser failed at wrong position' |
|
42 |
! |
|
43 |
||
44 |
assert: aParser parse: aCollection |
|
50 | 45 |
self assert: aParser parse: aCollection to: nil end: aCollection size |
0 | 46 |
! |
47 |
||
48 |
assert: aParser parse: aCollection end: anInteger |
|
49 |
self assert: aParser parse: aCollection to: nil end: anInteger |
|
50 |
! |
|
51 |
||
52 |
assert: aParser parse: aCollection to: anObject |
|
50 | 53 |
self assert: aParser parse: aCollection to: anObject end: aCollection size |
0 | 54 |
! |
55 |
||
56 |
assert: aParser parse: aParseObject to: aTargetObject end: anInteger |
|
50 | 57 |
| stream result | |
58 |
self |
|
59 |
assert: aParser isPetitParser |
|
60 |
description: 'Parser invalid'. |
|
61 |
stream := aParseObject asPetitStream. |
|
62 |
result := aParser parse: stream. |
|
63 |
aTargetObject isNil |
|
64 |
ifTrue: [ self deny: result isPetitFailure ] |
|
65 |
ifFalse: [ self assert: result = aTargetObject ]. |
|
66 |
self |
|
67 |
assert: stream position = anInteger |
|
68 |
description: 'Parser accepted at wrong position' |
|
0 | 69 |
|
70 |
"Modified: / 18-12-2010 / 18:01:30 / Jan Kurs <kurs.jan@post.cz>" |
|
71 |
! |
|
72 |
||
73 |
assert: aParser parse: aParserObject toToken: from stop: to |
|
74 |
| token | |
|
75 |
token := PPToken on: aParserObject start: from stop: to. |
|
76 |
^ self assert: aParser parse: aParserObject to: token |
|
77 |
! |
|
78 |
||
79 |
assert: aParser parse: aParserObject toToken: from stop: to end: end |
|
80 |
| token | |
|
81 |
token := PPToken on: aParserObject start: from stop: to. |
|
82 |
^ self assert: aParser parse: aParserObject to: token end: end |
|
83 |
! ! |
|
84 |
||
85 |
!PPAbstractParseTest class methodsFor:'documentation'! |
|
86 |
||
50 | 87 |
version |
88 |
^ '$Header: /cvs/stx/stx/goodies/petitparser/PPAbstractParseTest.st,v 1.3 2012-05-04 22:09:07 vrany Exp $' |
|
89 |
! |
|
90 |
||
91 |
version_CVS |
|
92 |
^ '$Header: /cvs/stx/stx/goodies/petitparser/PPAbstractParseTest.st,v 1.3 2012-05-04 22:09:07 vrany Exp $' |
|
93 |
! |
|
94 |
||
0 | 95 |
version_SVN |
50 | 96 |
^ '§Id: PPAbstractParseTest.st 4 2010-12-18 17:02:23Z kursjan §' |
0 | 97 |
! ! |
376
a2656b27cace
Added monticelloName to package definition to ease export to .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
375
diff
changeset
|
98 |