author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Fri, 11 Jan 2013 15:53:03 +0000 | |
changeset 6 | 06efdfe62106 |
parent 3 | 46c322c66a29 |
permissions | -rw-r--r-- |
3 | 1 |
"{ Package: 'jv:dart/compiler' }" |
2 |
||
3 |
"{ NameSpace: Dart }" |
|
4 |
||
5 |
PPCompositeParserTest subclass:#ParserTests |
|
6 |
instanceVariableNames:'' |
|
7 |
classVariableNames:'' |
|
8 |
poolDictionaries:'' |
|
9 |
category:'Languages-Dart-Parser-Tests' |
|
10 |
! |
|
11 |
||
12 |
||
13 |
!ParserTests methodsFor:'accessing'! |
|
14 |
||
15 |
parserClass |
|
16 |
^ Dart::Parser |
|
17 |
||
18 |
"Modified: / 11-01-2013 / 13:14:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
19 |
! ! |
|
20 |
||
21 |
!ParserTests methodsFor:'parsing'! |
|
22 |
||
23 |
fail: aString rule: aSymbol |
|
24 |
||
25 |
^super fail: (Dart::Scanner for: aString) rule: aSymbol |
|
26 |
||
27 |
"Created: / 14-03-2012 / 22:51:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
28 |
"Modified: / 11-01-2013 / 13:28:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
29 |
! |
|
30 |
||
6
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
31 |
parse: aString rule: aSymbol |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
32 |
| production | |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
33 |
production := self parserInstance. |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
34 |
aSymbol = #start ifFalse: [ |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
35 |
production := production productionAt: aSymbol. |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
36 |
production := production , (Dart::Parser::TokenParser for: #EOF). |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
37 |
]. |
3 | 38 |
|
6
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
39 |
result := production parse: (Dart::Scanner for: aString). |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
40 |
self |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
41 |
assert: result isPetitFailure not |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
42 |
description: 'Unable to parse ' , aString printString. |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
43 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
44 |
^ result |
3 | 45 |
|
46 |
"Created: / 14-03-2012 / 22:51:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
6
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
47 |
"Modified: / 11-01-2013 / 15:35:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
48 |
! ! |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
49 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
50 |
!ParserTests methodsFor:'tests - expressions'! |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
51 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
52 |
test_expression_01 |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
53 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
54 |
self parse:'1 + 1' rule: #expression |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
55 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
56 |
"Created: / 11-01-2013 / 15:12:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
57 |
! |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
58 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
59 |
test_expression_02 |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
60 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
61 |
self parse:'a.foo()' rule: #expression |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
62 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
63 |
"Created: / 11-01-2013 / 15:19:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
64 |
! |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
65 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
66 |
test_expression_04 |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
67 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
68 |
self parse:'new Foo()' rule: #expression |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
69 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
70 |
"Created: / 11-01-2013 / 15:38:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
71 |
! ! |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
72 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
73 |
!ParserTests methodsFor:'tests - literals'! |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
74 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
75 |
test_literal_01 |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
76 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
77 |
self parse: '1' rule: #literal. |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
78 |
self parse: '1.0' rule: #literal. |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
79 |
self parse: 'true' rule: #literal. |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
80 |
self parse: 'false' rule: #literal. |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
81 |
self parse: 'null' rule: #literal. |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
82 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
83 |
"Created: / 11-01-2013 / 15:13:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
84 |
! ! |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
85 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
86 |
!ParserTests methodsFor:'tests - misc'! |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
87 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
88 |
test_misc_01 |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
89 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
90 |
self parse:'=' rule: #assignmentOperator |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
91 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
92 |
"Created: / 11-01-2013 / 15:49:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3 | 93 |
! ! |
94 |
||
95 |
!ParserTests methodsFor:'tests - smoke'! |
|
96 |
||
97 |
test_smoke_01 |
|
98 |
self parse: 'import ''dart:html''; |
|
99 |
||
100 |
void main() { |
|
101 |
||
102 |
}' |
|
103 |
||
104 |
"Created: / 11-01-2013 / 13:15:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
105 |
! |
|
106 |
||
107 |
test_smoke_01a |
|
108 |
self parse: 'void main() { }' |
|
109 |
||
110 |
"Created: / 11-01-2013 / 13:37:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
111 |
! |
|
112 |
||
113 |
test_smoke_02 |
|
6
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
114 |
self parse: ' |
3 | 115 |
|
116 |
void main() { |
|
117 |
var a = 1 + 1; |
|
118 |
||
119 |
}' |
|
120 |
||
121 |
"Created: / 11-01-2013 / 13:30:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
6
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
122 |
"Modified: / 11-01-2013 / 15:07:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3 | 123 |
! |
124 |
||
125 |
test_smoke_03 |
|
126 |
self parse: ' |
|
127 |
||
128 |
class Test { |
|
129 |
void foo() { |
|
130 |
print("Foo"); |
|
131 |
} |
|
132 |
} |
|
133 |
||
134 |
void main() {1 |
|
135 |
1 = 1 + 1; |
|
136 |
Test foo = new Test(); |
|
137 |
foo.foo(); |
|
138 |
}' |
|
139 |
||
140 |
"Created: / 11-01-2013 / 13:34:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
141 |
! ! |
|
142 |
||
6
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
143 |
!ParserTests methodsFor:'tests - statements'! |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
144 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
145 |
test_statement_01 |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
146 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
147 |
self parse:'a = 1;' rule: #statement |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
148 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
149 |
"Created: / 11-01-2013 / 15:40:02 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
150 |
! |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
151 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
152 |
test_statement_02 |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
153 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
154 |
self parse:'return 1;' rule: #statement |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
155 |
|
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
156 |
"Created: / 11-01-2013 / 15:44:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
157 |
! ! |
06efdfe62106
More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
158 |
|
3 | 159 |
!ParserTests class methodsFor:'documentation'! |
160 |
||
161 |
version_HG |
|
162 |
||
163 |
^ '$Changeset: <not expanded> $' |
|
164 |
! ! |