| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #import('dart:uri'); | 5 #import('dart:uri'); |
| 6 #import('parser_helper.dart'); | 6 #import('parser_helper.dart'); |
| 7 #import('mock_compiler.dart'); | 7 #import('mock_compiler.dart'); |
| 8 #import("../../../lib/compiler/implementation/tree/tree.dart"); | 8 #import("../../../lib/compiler/implementation/tree/tree.dart"); |
| 9 | 9 |
| 10 testUnparse(String statement) { | 10 testUnparse(String statement) { |
| 11 Node node = parseStatement(statement); | 11 Node node = parseStatement(statement); |
| 12 Expect.equals(statement, unparse(node)); | 12 Expect.equals(statement, unparse(node)); |
| 13 } | 13 } |
| 14 | 14 |
| 15 testUnparseMember(String member) { | 15 testUnparseMember(String member) { |
| 16 Node node = parseMember(member); | 16 Node node = parseMember(member); |
| 17 Expect.equals(member, unparse(node)); | 17 Expect.equals(member, unparse(node)); |
| 18 } | 18 } |
| 19 | 19 |
| 20 testUnparseUnit(String code) { |
| 21 Node node = fullParseUnit(code); |
| 22 Expect.equals(code, unparse(node)); |
| 23 } |
| 24 |
| 25 testUnparseTopLevelWithMetadata(String code) { |
| 26 testUnparseUnit(code); |
| 27 // TODO(ahe): Enable when supported. |
| 28 // testUnparseUnit('@foo $code'); |
| 29 } |
| 30 |
| 20 testSignedConstants() { | 31 testSignedConstants() { |
| 21 testUnparse('var x=+42;'); | 32 testUnparse('var x=+42;'); |
| 22 testUnparse('var x=+.42;'); | 33 testUnparse('var x=+.42;'); |
| 23 testUnparse('var x=-42;'); | 34 testUnparse('var x=-42;'); |
| 24 testUnparse('var x=-.42;'); | 35 testUnparse('var x=-.42;'); |
| 25 testUnparse('var x=+0;'); | 36 testUnparse('var x=+0;'); |
| 26 testUnparse('var x=+0.0;'); | 37 testUnparse('var x=+0.0;'); |
| 27 testUnparse('var x=+.0;'); | 38 testUnparse('var x=+.0;'); |
| 28 testUnparse('var x=-0;'); | 39 testUnparse('var x=-0;'); |
| 29 testUnparse('var x=-0.0;'); | 40 testUnparse('var x=-0.0;'); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 testUnparse('foo([var a=const[] ]){}'); | 82 testUnparse('foo([var a=const[] ]){}'); |
| 72 testUnparse('foo([var a=const{}]){}'); | 83 testUnparse('foo([var a=const{}]){}'); |
| 73 testUnparse('foo(){var a=const[] ;var b=const{};}'); | 84 testUnparse('foo(){var a=const[] ;var b=const{};}'); |
| 74 testUnparse('foo([var a=const[const{"a":const[1,2,3]}]]){}'); | 85 testUnparse('foo([var a=const[const{"a":const[1,2,3]}]]){}'); |
| 75 } | 86 } |
| 76 | 87 |
| 77 testSimpleObjectInstantiation() { | 88 testSimpleObjectInstantiation() { |
| 78 testUnparse('main(){new Object();}'); | 89 testUnparse('main(){new Object();}'); |
| 79 } | 90 } |
| 80 | 91 |
| 92 testLibraryName() { |
| 93 testUnparseTopLevelWithMetadata('library com;'); |
| 94 testUnparseTopLevelWithMetadata('library com.example;'); |
| 95 testUnparseTopLevelWithMetadata('library com.example.dart;'); |
| 96 } |
| 97 |
| 98 testImport() { |
| 99 testUnparseTopLevelWithMetadata('import "søhest";'); |
| 100 testUnparseTopLevelWithMetadata('import "søhest" as fiskehest;'); |
| 101 } |
| 102 |
| 103 testExport() { |
| 104 testUnparseTopLevelWithMetadata('export "søhest";'); |
| 105 } |
| 106 |
| 107 testPart() { |
| 108 testUnparseTopLevelWithMetadata('part "søhest";'); |
| 109 } |
| 110 |
| 111 testPartOf() { |
| 112 testUnparseTopLevelWithMetadata('part of com;'); |
| 113 testUnparseTopLevelWithMetadata('part of com.example;'); |
| 114 testUnparseTopLevelWithMetadata('part of com.example.dart;'); |
| 115 } |
| 116 |
| 117 testCombinators() { |
| 118 testUnparseTopLevelWithMetadata('import "søhest" as fiskehest show a;'); |
| 119 testUnparseTopLevelWithMetadata('import "søhest" as fiskehest show hide;'); |
| 120 testUnparseTopLevelWithMetadata('import "søhest" as fiskehest show show;'); |
| 121 testUnparseTopLevelWithMetadata('import "søhest" as fiskehest show a, hide;'); |
| 122 testUnparseTopLevelWithMetadata('import "søhest" as fiskehest show a, show;'); |
| 123 |
| 124 testUnparseTopLevelWithMetadata('import "søhest" as fiskehest hide a;'); |
| 125 testUnparseTopLevelWithMetadata('import "søhest" as fiskehest hide hide;'); |
| 126 testUnparseTopLevelWithMetadata('import "søhest" as fiskehest hide show;'); |
| 127 testUnparseTopLevelWithMetadata('import "søhest" as fiskehest hide a, hide;'); |
| 128 testUnparseTopLevelWithMetadata('import "søhest" as fiskehest hide a, show;'); |
| 129 |
| 130 testUnparseTopLevelWithMetadata( |
| 131 'import "søhest" as fiskehest show a hide a;'); |
| 132 testUnparseTopLevelWithMetadata( |
| 133 'import "søhest" as fiskehest show hide hide hide;'); |
| 134 testUnparseTopLevelWithMetadata( |
| 135 'import "søhest" as fiskehest show show hide show;'); |
| 136 testUnparseTopLevelWithMetadata( |
| 137 'import "søhest" as fiskehest show a, hide hide a, hide;'); |
| 138 testUnparseTopLevelWithMetadata( |
| 139 'import "søhest" as fiskehest show a, show hide a, show;'); |
| 140 |
| 141 testUnparseTopLevelWithMetadata( |
| 142 'import "søhest" as fiskehest hide a show a;'); |
| 143 testUnparseTopLevelWithMetadata( |
| 144 'import "søhest" as fiskehest hide hide show hide;'); |
| 145 testUnparseTopLevelWithMetadata( |
| 146 'import "søhest" as fiskehest hide show show show;'); |
| 147 testUnparseTopLevelWithMetadata( |
| 148 'import "søhest" as fiskehest hide a, hide show a, hide;'); |
| 149 testUnparseTopLevelWithMetadata( |
| 150 'import "søhest" as fiskehest hide a, show show a, show;'); |
| 151 |
| 152 testUnparseTopLevelWithMetadata( |
| 153 'import "søhest" as fiskehest show a show a;'); |
| 154 testUnparseTopLevelWithMetadata( |
| 155 'import "søhest" as fiskehest show hide show hide;'); |
| 156 testUnparseTopLevelWithMetadata( |
| 157 'import "søhest" as fiskehest show show show show;'); |
| 158 testUnparseTopLevelWithMetadata( |
| 159 'import "søhest" as fiskehest show a, hide show a, hide;'); |
| 160 testUnparseTopLevelWithMetadata( |
| 161 'import "søhest" as fiskehest show a, show show a, show;'); |
| 162 |
| 163 testUnparseTopLevelWithMetadata( |
| 164 'import "søhest" as fiskehest hide a hide a;'); |
| 165 testUnparseTopLevelWithMetadata( |
| 166 'import "søhest" as fiskehest hide hide hide hide;'); |
| 167 testUnparseTopLevelWithMetadata( |
| 168 'import "søhest" as fiskehest hide show hide show;'); |
| 169 testUnparseTopLevelWithMetadata( |
| 170 'import "søhest" as fiskehest hide a, hide hide a, hide;'); |
| 171 testUnparseTopLevelWithMetadata( |
| 172 'import "søhest" as fiskehest hide a, show hide a, show;'); |
| 173 |
| 174 testUnparseTopLevelWithMetadata('export "søhest" as fiskehest show a;'); |
| 175 testUnparseTopLevelWithMetadata('export "søhest" as fiskehest show hide;'); |
| 176 testUnparseTopLevelWithMetadata('export "søhest" as fiskehest show show;'); |
| 177 testUnparseTopLevelWithMetadata('export "søhest" as fiskehest show a, hide;'); |
| 178 testUnparseTopLevelWithMetadata('export "søhest" as fiskehest show a, show;'); |
| 179 |
| 180 testUnparseTopLevelWithMetadata('export "søhest" as fiskehest hide a;'); |
| 181 testUnparseTopLevelWithMetadata('export "søhest" as fiskehest hide hide;'); |
| 182 testUnparseTopLevelWithMetadata('export "søhest" as fiskehest hide show;'); |
| 183 testUnparseTopLevelWithMetadata('export "søhest" as fiskehest hide a, hide;'); |
| 184 testUnparseTopLevelWithMetadata('export "søhest" as fiskehest hide a, show;'); |
| 185 |
| 186 testUnparseTopLevelWithMetadata( |
| 187 'export "søhest" as fiskehest show a hide a;'); |
| 188 testUnparseTopLevelWithMetadata( |
| 189 'export "søhest" as fiskehest show hide hide hide;'); |
| 190 testUnparseTopLevelWithMetadata( |
| 191 'export "søhest" as fiskehest show show hide show;'); |
| 192 testUnparseTopLevelWithMetadata( |
| 193 'export "søhest" as fiskehest show a, hide hide a, hide;'); |
| 194 testUnparseTopLevelWithMetadata( |
| 195 'export "søhest" as fiskehest show a, show hide a, show;'); |
| 196 |
| 197 testUnparseTopLevelWithMetadata( |
| 198 'export "søhest" as fiskehest hide a show a;'); |
| 199 testUnparseTopLevelWithMetadata( |
| 200 'export "søhest" as fiskehest hide hide show hide;'); |
| 201 testUnparseTopLevelWithMetadata( |
| 202 'export "søhest" as fiskehest hide show show show;'); |
| 203 testUnparseTopLevelWithMetadata( |
| 204 'export "søhest" as fiskehest hide a, hide show a, hide;'); |
| 205 testUnparseTopLevelWithMetadata( |
| 206 'export "søhest" as fiskehest hide a, show show a, show;'); |
| 207 |
| 208 testUnparseTopLevelWithMetadata( |
| 209 'export "søhest" as fiskehest show a show a;'); |
| 210 testUnparseTopLevelWithMetadata( |
| 211 'export "søhest" as fiskehest show hide show hide;'); |
| 212 testUnparseTopLevelWithMetadata( |
| 213 'export "søhest" as fiskehest show show show show;'); |
| 214 testUnparseTopLevelWithMetadata( |
| 215 'export "søhest" as fiskehest show a, hide show a, hide;'); |
| 216 testUnparseTopLevelWithMetadata( |
| 217 'export "søhest" as fiskehest show a, show show a, show;'); |
| 218 |
| 219 testUnparseTopLevelWithMetadata( |
| 220 'export "søhest" as fiskehest hide a hide a;'); |
| 221 testUnparseTopLevelWithMetadata( |
| 222 'export "søhest" as fiskehest hide hide hide hide;'); |
| 223 testUnparseTopLevelWithMetadata( |
| 224 'export "søhest" as fiskehest hide show hide show;'); |
| 225 testUnparseTopLevelWithMetadata( |
| 226 'export "søhest" as fiskehest hide a, hide hide a, hide;'); |
| 227 testUnparseTopLevelWithMetadata( |
| 228 'export "søhest" as fiskehest hide a, show hide a, show;'); |
| 229 } |
| 230 |
| 81 main() { | 231 main() { |
| 82 testSignedConstants(); | 232 testSignedConstants(); |
| 83 testGenericTypes(); | 233 testGenericTypes(); |
| 84 testForLoop(); | 234 testForLoop(); |
| 85 testEmptyList(); | 235 testEmptyList(); |
| 86 testClosure(); | 236 testClosure(); |
| 87 testIndexedOperatorDecl(); | 237 testIndexedOperatorDecl(); |
| 88 testNativeMethods(); | 238 testNativeMethods(); |
| 89 testPrefixIncrements(); | 239 testPrefixIncrements(); |
| 90 testConstModifier(); | 240 testConstModifier(); |
| 91 testSimpleObjectInstantiation(); | 241 testSimpleObjectInstantiation(); |
| 242 testLibraryName(); |
| 243 testImport(); |
| 244 testExport(); |
| 245 testPart(); |
| 246 testPartOf(); |
| 247 // TODO(ahe): Enable when it works. |
| 248 // testCombinators(); |
| 92 } | 249 } |
| OLD | NEW |