Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(906)

Side by Side Diff: pkg/analyzer/test/generated/all_the_rest.dart

Issue 459703002: New analyzer snapshot. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pkg/analyzer/pubspec.yaml ('k') | pkg/analyzer/test/generated/engine_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
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.
4 // // This code was auto-generated, is not intended to be edited, and is subject to
5 // // significant change. Please see the README file for more information.
6 // abstract class AbstractScannerTest extends JUnitTestCase {
7 // void test_tokenize_attribute() {
8 // _tokenize("<html bob=\"one two\">", <Object> [LT, "html", "bob", EQ, "\"o ne two\"", GT]);
9 // }
10 // void test_tokenize_comment() {
11 // _tokenize("<!-- foo -->", <Object> ["<!-- foo -->"]);
12 // }
13 // void test_tokenize_comment_incomplete() {
14 // _tokenize("<!-- foo", <Object> ["<!-- foo"]);
15 // }
16 // void test_tokenize_comment_with_gt() {
17 // _tokenize("<!-- foo > -> -->", <Object> ["<!-- foo > -> -->"]);
18 // }
19 // void test_tokenize_declaration() {
20 // _tokenize("<! foo ><html>", <Object> ["<! foo >", LT, "html", GT]);
21 // }
22 // void test_tokenize_declaration_malformed() {
23 // _tokenize("<! foo /><html>", <Object> ["<! foo />", LT, "html", GT]);
24 // }
25 // void test_tokenize_directive_incomplete() {
26 // _tokenize2("<? \nfoo", <Object> ["<? \nfoo"], <int> [0, 4]);
27 // }
28 // void test_tokenize_directive_xml() {
29 // _tokenize("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>", <Object> ["<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"]);
30 // }
31 // void test_tokenize_directives_incomplete_with_newline() {
32 // _tokenize2("<! \nfoo", <Object> ["<! \nfoo"], <int> [0, 4]);
33 // }
34 // void test_tokenize_empty() {
35 // _tokenize("", <Object> []);
36 // }
37 // void test_tokenize_lt() {
38 // _tokenize("<", <Object> [LT]);
39 // }
40 // void test_tokenize_script_embedded_tags() {
41 // _tokenize("<script> <p></p></script>", <Object> [LT, "script", GT, " <p>< /p>", LT_SLASH, "script", GT]);
42 // }
43 // void test_tokenize_script_embedded_tags2() {
44 // _tokenize("<script> <p></p><</script>", <Object> [LT, "script", GT, " <p> </p><", LT_SLASH, "script", GT]);
45 // }
46 // void test_tokenize_script_embedded_tags3() {
47 // _tokenize("<script> <p></p></</script>", <Object> [LT, "script", GT, " <p ></p></", LT_SLASH, "script", GT]);
48 // }
49 // void test_tokenize_script_partial() {
50 // _tokenize("<script> <p> ", <Object> [LT, "script", GT, " <p> "]);
51 // }
52 // void test_tokenize_script_partial2() {
53 // _tokenize("<script> <p> <", <Object> [LT, "script", GT, " <p> <"]);
54 // }
55 // void test_tokenize_script_partial3() {
56 // _tokenize("<script> <p> </", <Object> [LT, "script", GT, " <p> </"]);
57 // }
58 // void test_tokenize_script_ref() {
59 // _tokenize("<script source='some.dart'/> <p>", <Object> [
60 // LT,
61 // "script",
62 // "source",
63 // EQ,
64 // "'some.dart'",
65 // SLASH_GT,
66 // " ",
67 // LT,
68 // "p",
69 // GT]);
70 // }
71 // void test_tokenize_script_with_newline() {
72 // _tokenize2("<script> <p>\n </script>", <Object> [LT, "script", GT, " <p>\ n ", LT_SLASH, "script", GT], <int> [0, 13]);
73 // }
74 // void test_tokenize_spaces_and_newlines() {
75 // Token token = _tokenize2(" < html \n bob = 'joe\n' >\n <\np > one \r\n tw o <!-- \rfoo --> </ p > </ html > ", <Object> [
76 // " ",
77 // LT,
78 // "html",
79 // "bob",
80 // EQ,
81 // "'joe\n'",
82 // GT,
83 // "\n ",
84 // LT,
85 // "p",
86 // GT,
87 // " one \r\n two ",
88 // "<!-- \rfoo -->",
89 // " ",
90 // LT_SLASH,
91 // "p",
92 // GT,
93 // " ",
94 // LT_SLASH,
95 // "html",
96 // GT,
97 // " "], <int> [0, 9, 21, 25, 28, 38, 49]);
98 // token = token.next;
99 // JUnitTestCase.assertEquals(1, token.offset);
100 // token = token.next;
101 // JUnitTestCase.assertEquals(3, token.offset);
102 // token = token.next;
103 // JUnitTestCase.assertEquals(10, token.offset);
104 // }
105 // void test_tokenize_string() {
106 // _tokenize("<p bob=\"foo\">", <Object> [LT, "p", "bob", EQ, "\"foo\"", GT] );
107 // }
108 // void test_tokenize_string_partial() {
109 // _tokenize("<p bob=\"foo", <Object> [LT, "p", "bob", EQ, "\"foo"]);
110 // }
111 // void test_tokenize_string_single_quote() {
112 // _tokenize("<p bob='foo'>", <Object> [LT, "p", "bob", EQ, "'foo'", GT]);
113 // }
114 // void test_tokenize_string_single_quote_partial() {
115 // _tokenize("<p bob='foo", <Object> [LT, "p", "bob", EQ, "'foo"]);
116 // }
117 // void test_tokenize_tag_begin_end() {
118 // _tokenize("<html></html>", <Object> [LT, "html", GT, LT_SLASH, "html", GT ]);
119 // }
120 // void test_tokenize_tag_begin_only() {
121 // Token token = _tokenize("<html>", <Object> [LT, "html", GT]);
122 // token = token.next;
123 // JUnitTestCase.assertEquals(1, token.offset);
124 // }
125 // void test_tokenize_tag_incomplete_with_special_characters() {
126 // _tokenize("<br-a_b", <Object> [LT, "br-a_b"]);
127 // }
128 // void test_tokenize_tag_self_contained() {
129 // _tokenize("<br/>", <Object> [LT, "br", SLASH_GT]);
130 // }
131 // void test_tokenize_tags_wellformed() {
132 // _tokenize("<html><p>one two</p></html>", <Object> [
133 // LT,
134 // "html",
135 // GT,
136 // LT,
137 // "p",
138 // GT,
139 // "one two",
140 // LT_SLASH,
141 // "p",
142 // GT,
143 // LT_SLASH,
144 // "html",
145 // GT]);
146 // }
147 // AbstractScanner newScanner(String input);
148 // /**
149 // * Given an object representing an expected token, answer the expected toke n type.
150 // *
151 // * @param count the token count for error reporting
152 // * @param expected the object representing an expected token
153 // * @return the expected token type
154 // */
155 // TokenType _getExpectedTokenType(int count, Object expected) {
156 // if (expected is TokenType) {
157 // return expected as TokenType;
158 // }
159 // if (expected is String) {
160 // String lexeme = expected as String;
161 // if (lexeme.startsWith("\"") || lexeme.startsWith("'")) {
162 // return TokenType.STRING;
163 // }
164 // if (lexeme.startsWith("<!--")) {
165 // return TokenType.COMMENT;
166 // }
167 // if (lexeme.startsWith("<!")) {
168 // return TokenType.DECLARATION;
169 // }
170 // if (lexeme.startsWith("<?")) {
171 // return TokenType.DIRECTIVE;
172 // }
173 // if (_isTag(lexeme)) {
174 // return TokenType.TAG;
175 // }
176 // return TokenType.TEXT;
177 // }
178 // JUnitTestCase.fail("Unknown expected token ${count}: ${(expected != null ? expected.runtimeType : "null")}");
179 // return null;
180 // }
181 // bool _isTag(String lexeme) {
182 // if (lexeme.length == 0 || !Character.isLetter(lexeme.codeUnitAt(0))) {
183 // return false;
184 // }
185 // for (int index = 1; index < lexeme.length; index++) {
186 // int ch = lexeme.codeUnitAt(index);
187 // if (!Character.isLetterOrDigit(ch) && ch != 0x2D && ch != 0x5F) {
188 // return false;
189 // }
190 // }
191 // return true;
192 // }
193 // Token _tokenize(String input, List<Object> expectedTokens) => _tokenize2(in put, expectedTokens, <int> [0]);
194 // Token _tokenize2(String input, List<Object> expectedTokens, List<int> expec tedLineStarts) {
195 // AbstractScanner scanner = newScanner(input);
196 // scanner.passThroughElements = <String> ["script"];
197 // int count = 0;
198 // Token firstToken = scanner.tokenize();
199 // Token token = firstToken;
200 // Token previousToken = token.previous;
201 // JUnitTestCase.assertTrue(previousToken.type == TokenType.EOF);
202 // JUnitTestCase.assertSame(previousToken, previousToken.previous);
203 // JUnitTestCase.assertEquals(-1, previousToken.offset);
204 // JUnitTestCase.assertSame(token, previousToken.next);
205 // JUnitTestCase.assertEquals(0, token.offset);
206 // while (token.type != TokenType.EOF) {
207 // if (count == expectedTokens.length) {
208 // JUnitTestCase.fail("too many parsed tokens");
209 // }
210 // Object expected = expectedTokens[count];
211 // TokenType expectedTokenType = _getExpectedTokenType(count, expected);
212 // JUnitTestCase.assertSameMsg("token ${count}", expectedTokenType, token. type);
213 // if (expectedTokenType.lexeme != null) {
214 // JUnitTestCase.assertEqualsMsg("token ${count}", expectedTokenType.lex eme, token.lexeme);
215 // } else {
216 // JUnitTestCase.assertEqualsMsg("token ${count}", expected, token.lexem e);
217 // }
218 // count++;
219 // previousToken = token;
220 // token = token.next;
221 // JUnitTestCase.assertSame(previousToken, token.previous);
222 // }
223 // JUnitTestCase.assertSame(token, token.next);
224 // JUnitTestCase.assertEquals(input.length, token.offset);
225 // if (count != expectedTokens.length) {
226 // JUnitTestCase.assertTrueMsg("not enough parsed tokens", false);
227 // }
228 // List<int> lineStarts = scanner.lineStarts;
229 // bool success = expectedLineStarts.length == lineStarts.length;
230 // if (success) {
231 // for (int i = 0; i < lineStarts.length; i++) {
232 // if (expectedLineStarts[i] != lineStarts[i]) {
233 // success = false;
234 // break;
235 // }
236 // }
237 // }
238 // if (!success) {
239 // JavaStringBuilder msg = new JavaStringBuilder();
240 // msg.append("Expected line starts ");
241 // for (int start in expectedLineStarts) {
242 // msg.append(start);
243 // msg.append(", ");
244 // }
245 // msg.append(" but found ");
246 // for (int start in lineStarts) {
247 // msg.append(start);
248 // msg.append(", ");
249 // }
250 // JUnitTestCase.fail(msg.toString());
251 // }
252 // return firstToken;
253 // }
254 // }
255 // class AngularCompilationUnitBuilderTest extends AngularTest {
256 // static AngularElement getAngularElement(Element element, Type angularElemen tType) {
257 // List<ToolkitObjectElement> toolkitObjects = null;
258 // if (element is ClassElement) {
259 // ClassElement classElement = element as ClassElement;
260 // toolkitObjects = classElement.toolkitObjects;
261 // }
262 // if (element is LocalVariableElement) {
263 // LocalVariableElement variableElement = element as LocalVariableElement;
264 // toolkitObjects = variableElement.toolkitObjects;
265 // }
266 // if (toolkitObjects != null) {
267 // for (ToolkitObjectElement toolkitObject in toolkitObjects) {
268 // if (isInstanceOf(toolkitObject, angularElementType)) {
269 // return toolkitObject as AngularElement;
270 // }
271 // }
272 // }
273 // return null;
274 // }
275 // static void _assertHasAttributeSelector(AngularSelectorElement selector, St ring name) {
276 // EngineTestCase.assertInstanceOf((obj) => obj is HasAttributeSelectorEleme ntImpl, HasAttributeSelectorElementImpl, selector);
277 // JUnitTestCase.assertEquals(name, (selector as HasAttributeSelectorElement Impl).name);
278 // }
279 // static void _assertIsTagSelector(AngularSelectorElement selector, String na me) {
280 // EngineTestCase.assertInstanceOf((obj) => obj is AngularTagSelectorElement Impl, AngularTagSelectorElementImpl, selector);
281 // JUnitTestCase.assertEquals(name, (selector as AngularTagSelectorElementIm pl).name);
282 // }
283 // static String _createAngularSource(List<String> lines) {
284 // String source = "import 'angular.dart';\n";
285 // source += EngineTestCase.createSource(lines);
286 // return source;
287 // }
288 // void test_bad_notConstructorAnnotation() {
289 // String mainContent = EngineTestCase.createSource([
290 // "const MY_ANNOTATION = null;",
291 // "@MY_ANNOTATION()",
292 // "class MyFilter {",
293 // "}"]);
294 // resolveMainSource(mainContent);
295 // // prepare AngularFilterElement
296 // ClassElement classElement = mainUnitElement.getType("MyFilter");
297 // AngularFormatterElement filter = getAngularElement(classElement, AngularF ormatterElement);
298 // JUnitTestCase.assertNull(filter);
299 // }
300 // void test_Decorator() {
301 // String mainContent = _createAngularSource([
302 // "@Decorator(selector: '[my-dir]',",
303 // " map: const {",
304 // " 'my-dir' : '=>myPropA',",
305 // " '.' : '&myPropB',",
306 // " })",
307 // "class MyDirective {",
308 // " set myPropA(value) {}",
309 // " set myPropB(value) {}",
310 // " @NgTwoWay('my-prop-c')",
311 // " String myPropC;",
312 // "}"]);
313 // resolveMainSourceNoErrors(mainContent);
314 // // prepare AngularDirectiveElement
315 // ClassElement classElement = mainUnitElement.getType("MyDirective");
316 // AngularDecoratorElement directive = getAngularElement(classElement, Angul arDecoratorElement);
317 // JUnitTestCase.assertNotNull(directive);
318 // // verify
319 // JUnitTestCase.assertEquals(null, directive.name);
320 // JUnitTestCase.assertEquals(-1, directive.nameOffset);
321 // _assertHasAttributeSelector(directive.selector, "my-dir");
322 // // verify properties
323 // List<AngularPropertyElement> properties = directive.properties;
324 // EngineTestCase.assertLength(3, properties);
325 // _assertProperty(properties[0], "my-dir", findMainOffset("my-dir' :"), Ang ularPropertyKind.ONE_WAY, "myPropA", findMainOffset("myPropA'"));
326 // _assertProperty(properties[1], ".", findMainOffset(".' :"), AngularProper tyKind.CALLBACK, "myPropB", findMainOffset("myPropB'"));
327 // _assertProperty(properties[2], "my-prop-c", findMainOffset("my-prop-c'"), AngularPropertyKind.TWO_WAY, "myPropC", -1);
328 // }
329 // void test_Decorator_bad_cannotParseSelector() {
330 // String mainContent = _createAngularSource([
331 // "@Decorator(selector: '~bad-selector',",
332 // " map: const {",
333 // " 'my-dir' : '=>myPropA',",
334 // " '.' : '&myPropB',",
335 // " })",
336 // "class MyDirective {",
337 // " set myPropA(value) {}",
338 // " set myPropB(value) {}",
339 // "}"]);
340 // resolveMainSource(mainContent);
341 // // has error
342 // assertMainErrors([AngularCode.CANNOT_PARSE_SELECTOR]);
343 // }
344 // void test_Decorator_bad_missingSelector() {
345 // String mainContent = _createAngularSource([
346 // "@Decorator(/*selector: '[my-dir]',*/",
347 // " map: const {",
348 // " 'my-dir' : '=>myPropA',",
349 // " '.' : '&myPropB',",
350 // " })",
351 // "class MyDirective {",
352 // " set myPropA(value) {}",
353 // " set myPropB(value) {}",
354 // "}"]);
355 // resolveMainSource(mainContent);
356 // // has error
357 // assertMainErrors([AngularCode.MISSING_SELECTOR]);
358 // }
359 // void test_Formatter() {
360 // String mainContent = _createAngularSource([
361 // "@Formatter(name: 'myFilter')",
362 // "class MyFilter {",
363 // " call(p1, p2) {}",
364 // "}"]);
365 // resolveMainSourceNoErrors(mainContent);
366 // // prepare AngularFilterElement
367 // ClassElement classElement = mainUnitElement.getType("MyFilter");
368 // AngularFormatterElement filter = getAngularElement(classElement, AngularF ormatterElement);
369 // JUnitTestCase.assertNotNull(filter);
370 // // verify
371 // JUnitTestCase.assertEquals("myFilter", filter.name);
372 // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "myFilter' "), filter.nameOffset);
373 // }
374 // void test_Formatter_missingName() {
375 // String mainContent = _createAngularSource([
376 // "@Formatter()",
377 // "class MyFilter {",
378 // " call(p1, p2) {}",
379 // "}"]);
380 // resolveMainSource(mainContent);
381 // // has error
382 // assertMainErrors([AngularCode.MISSING_NAME]);
383 // // no filter
384 // ClassElement classElement = mainUnitElement.getType("MyFilter");
385 // AngularFormatterElement filter = getAngularElement(classElement, AngularF ormatterElement);
386 // JUnitTestCase.assertNull(filter);
387 // }
388 // void test_getElement_component_name() {
389 // resolveMainSource(_createAngularSource([
390 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
391 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ')",
392 // "class MyComponent {}"]));
393 // SimpleStringLiteral node = _findMainNode("ctrl'", SimpleStringLiteral);
394 // int offset = node.offset;
395 // // find AngularComponentElement
396 // Element element = AngularCompilationUnitBuilder.getElement(node, offset);
397 // EngineTestCase.assertInstanceOf((obj) => obj is AngularComponentElement, AngularComponentElement, element);
398 // }
399 // void test_getElement_component_property_fromFieldAnnotation() {
400 // resolveMainSource(_createAngularSource([
401 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
402 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ')",
403 // "class MyComponent {",
404 // " @NgOneWay('prop')",
405 // " var field;",
406 // "}"]));
407 // // prepare node
408 // SimpleStringLiteral node = _findMainNode("prop'", SimpleStringLiteral);
409 // int offset = node.offset;
410 // // prepare Element
411 // Element element = AngularCompilationUnitBuilder.getElement(node, offset);
412 // JUnitTestCase.assertNotNull(element);
413 // // check AngularPropertyElement
414 // AngularPropertyElement property = element as AngularPropertyElement;
415 // JUnitTestCase.assertEquals("prop", property.name);
416 // }
417 // void test_getElement_component_property_fromMap() {
418 // resolveMainSource(_createAngularSource([
419 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
420 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ',",
421 // " map: const {",
422 // " 'prop' : '@field',",
423 // " })",
424 // "class MyComponent {",
425 // " var field;",
426 // "}"]));
427 // // AngularPropertyElement
428 // {
429 // SimpleStringLiteral node = _findMainNode("prop'", SimpleStringLiteral);
430 // int offset = node.offset;
431 // // prepare Element
432 // Element element = AngularCompilationUnitBuilder.getElement(node, offset );
433 // JUnitTestCase.assertNotNull(element);
434 // // check AngularPropertyElement
435 // AngularPropertyElement property = element as AngularPropertyElement;
436 // JUnitTestCase.assertEquals("prop", property.name);
437 // }
438 // // FieldElement
439 // {
440 // SimpleStringLiteral node = _findMainNode("@field'", SimpleStringLiteral );
441 // int offset = node.offset;
442 // // prepare Element
443 // Element element = AngularCompilationUnitBuilder.getElement(node, offset );
444 // JUnitTestCase.assertNotNull(element);
445 // // check FieldElement
446 // FieldElement field = element as FieldElement;
447 // JUnitTestCase.assertEquals("field", field.name);
448 // }
449 // }
450 // void test_getElement_component_selector() {
451 // resolveMainSource(_createAngularSource([
452 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
453 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ')",
454 // "class MyComponent {}"]));
455 // SimpleStringLiteral node = _findMainNode("myComp'", SimpleStringLiteral);
456 // int offset = node.offset;
457 // // find AngularSelectorElement
458 // Element element = AngularCompilationUnitBuilder.getElement(node, offset);
459 // EngineTestCase.assertInstanceOf((obj) => obj is AngularSelectorElement, A ngularSelectorElement, element);
460 // }
461 // void test_getElement_controller_name() {
462 // resolveMainSource(_createAngularSource([
463 // "@Controller(publishAs: 'ctrl', selector: '[myApp]')",
464 // "class MyController {",
465 // "}"]));
466 // SimpleStringLiteral node = _findMainNode("ctrl'", SimpleStringLiteral);
467 // int offset = node.offset;
468 // // find AngularControllerElement
469 // Element element = AngularCompilationUnitBuilder.getElement(node, offset);
470 // EngineTestCase.assertInstanceOf((obj) => obj is AngularControllerElement, AngularControllerElement, element);
471 // }
472 // void test_getElement_directive_property() {
473 // resolveMainSource(_createAngularSource([
474 // "@Decorator(selector: '[my-dir]',",
475 // " map: const {",
476 // " 'my-dir' : '=>field'",
477 // " })",
478 // "class MyDirective {",
479 // " set field(value) {}",
480 // "}"]));
481 // // prepare node
482 // SimpleStringLiteral node = _findMainNode("my-dir'", SimpleStringLiteral);
483 // int offset = node.offset;
484 // // prepare Element
485 // Element element = AngularCompilationUnitBuilder.getElement(node, offset);
486 // JUnitTestCase.assertNotNull(element);
487 // // check AngularPropertyElement
488 // AngularPropertyElement property = element as AngularPropertyElement;
489 // JUnitTestCase.assertEquals("my-dir", property.name);
490 // }
491 // void test_getElement_directive_selector() {
492 // resolveMainSource(_createAngularSource([
493 // "@Decorator(selector: '[my-dir]')",
494 // "class MyDirective {}"]));
495 // SimpleStringLiteral node = _findMainNode("my-dir]'", SimpleStringLiteral) ;
496 // int offset = node.offset;
497 // // find AngularSelectorElement
498 // Element element = AngularCompilationUnitBuilder.getElement(node, offset);
499 // EngineTestCase.assertInstanceOf((obj) => obj is AngularSelectorElement, A ngularSelectorElement, element);
500 // }
501 // void test_getElement_filter_name() {
502 // resolveMainSource(_createAngularSource([
503 // "@Formatter(name: 'myFilter')",
504 // "class MyFilter {",
505 // " call(p1, p2) {}",
506 // "}"]));
507 // SimpleStringLiteral node = _findMainNode("myFilter'", SimpleStringLiteral );
508 // int offset = node.offset;
509 // // find FilterElement
510 // Element element = AngularCompilationUnitBuilder.getElement(node, offset);
511 // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, element);
512 // }
513 // void test_getElement_noClassDeclaration() {
514 // resolveMainSource("var foo = 'bar';");
515 // SimpleStringLiteral node = _findMainNode("bar'", SimpleStringLiteral);
516 // Element element = AngularCompilationUnitBuilder.getElement(node, 0);
517 // JUnitTestCase.assertNull(element);
518 // }
519 // void test_getElement_noClassElement() {
520 // resolveMainSource(EngineTestCase.createSource([
521 // "class A {",
522 // " const A(p);",
523 // "}",
524 // "",
525 // "@A('bar')",
526 // "class B {}"]));
527 // SimpleStringLiteral node = _findMainNode("bar'", SimpleStringLiteral);
528 // // reset B element
529 // node.getAncestor((node) => node is ClassDeclaration).name.staticElement = null;
530 // // class is not resolved - no element
531 // Element element = AngularCompilationUnitBuilder.getElement(node, 0);
532 // JUnitTestCase.assertNull(element);
533 // }
534 // void test_getElement_noNode() {
535 // Element element = AngularCompilationUnitBuilder.getElement(null, 0);
536 // JUnitTestCase.assertNull(element);
537 // }
538 // void test_getElement_notFound() {
539 // resolveMainSource(EngineTestCase.createSource(["class MyComponent {", " var str = 'some string';", "}"]));
540 // // prepare node
541 // SimpleStringLiteral node = _findMainNode("some string'", SimpleStringLite ral);
542 // int offset = node.offset;
543 // // no Element
544 // Element element = AngularCompilationUnitBuilder.getElement(node, offset);
545 // JUnitTestCase.assertNull(element);
546 // }
547 // void test_getElement_SimpleStringLiteral_withToolkitElement() {
548 // SimpleStringLiteral literal = AstFactory.string2("foo");
549 // Element element = new AngularScopePropertyElementImpl("foo", 0, null);
550 // literal.toolkitElement = element;
551 // JUnitTestCase.assertSame(element, AngularCompilationUnitBuilder.getElemen t(literal, -1));
552 // }
553 // void test_NgComponent_bad_cannotParseSelector() {
554 // contextHelper.addSource("/my_template.html", "");
555 // contextHelper.addSource("/my_styles.css", "");
556 // String mainContent = _createAngularSource([
557 // "@Component(publishAs: 'ctrl', selector: '~myComp',",
558 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ')",
559 // "class MyComponent {",
560 // "}"]);
561 // resolveMainSource(mainContent);
562 // // has error
563 // assertMainErrors([AngularCode.CANNOT_PARSE_SELECTOR]);
564 // }
565 // void test_NgComponent_bad_missingSelector() {
566 // contextHelper.addSource("/my_template.html", "");
567 // contextHelper.addSource("/my_styles.css", "");
568 // String mainContent = _createAngularSource([
569 // "@Component(publishAs: 'ctrl', /*selector: 'myComp',*/",
570 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ')",
571 // "class MyComponent {",
572 // "}"]);
573 // resolveMainSource(mainContent);
574 // // has error
575 // assertMainErrors([AngularCode.MISSING_SELECTOR]);
576 // }
577 // /**
578 // *
579 // * https://code.google.com/p/dart/issues/detail?id=16346
580 // */
581 // void test_NgComponent_bad_notHtmlTemplate() {
582 // contextHelper.addSource("/my_template", "");
583 // contextHelper.addSource("/my_styles.css", "");
584 // addMainSource(_createAngularSource([
585 // "@NgComponent(publishAs: 'ctrl', selector: 'myComp',",
586 // " templateUrl: 'my_template', cssUrl: 'my_styles.css')",
587 // "class MyComponent {",
588 // "}"]));
589 // contextHelper.runTasks();
590 // }
591 // void test_NgComponent_bad_properties_invalidBinding() {
592 // contextHelper.addSource("/my_template.html", "");
593 // contextHelper.addSource("/my_styles.css", "");
594 // String mainContent = _createAngularSource([
595 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
596 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ',",
597 // " map: const {'name' : '?field'})",
598 // "class MyComponent {",
599 // "}"]);
600 // resolveMainSource(mainContent);
601 // // has error
602 // assertMainErrors([AngularCode.INVALID_PROPERTY_KIND]);
603 // }
604 // void test_NgComponent_bad_properties_nameNotStringLiteral() {
605 // contextHelper.addSource("/my_template.html", "");
606 // contextHelper.addSource("/my_styles.css", "");
607 // String mainContent = _createAngularSource([
608 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
609 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ',",
610 // " map: const {null : 'field'})",
611 // "class MyComponent {",
612 // "}"]);
613 // resolveMainSource(mainContent);
614 // // has error
615 // assertMainErrors([AngularCode.INVALID_PROPERTY_NAME]);
616 // }
617 // void test_NgComponent_bad_properties_noSuchField() {
618 // contextHelper.addSource("/my_template.html", "");
619 // contextHelper.addSource("/my_styles.css", "");
620 // String mainContent = _createAngularSource([
621 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
622 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ',",
623 // " map: const {'name' : '=>field'})",
624 // "class MyComponent {",
625 // "}"]);
626 // resolveMainSource(mainContent);
627 // // has error
628 // assertMainErrors([AngularCode.INVALID_PROPERTY_FIELD]);
629 // }
630 // void test_NgComponent_bad_properties_notMapLiteral() {
631 // contextHelper.addSource("/my_template.html", "");
632 // contextHelper.addSource("/my_styles.css", "");
633 // String mainContent = _createAngularSource([
634 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
635 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ',",
636 // " map: null)",
637 // "class MyComponent {",
638 // "}"]);
639 // resolveMainSource(mainContent);
640 // // has error
641 // assertMainErrors([AngularCode.INVALID_PROPERTY_MAP]);
642 // }
643 // void test_NgComponent_bad_properties_specNotStringLiteral() {
644 // contextHelper.addSource("/my_template.html", "");
645 // contextHelper.addSource("/my_styles.css", "");
646 // String mainContent = _createAngularSource([
647 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
648 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ',",
649 // " map: const {'name' : null})",
650 // "class MyComponent {",
651 // "}"]);
652 // resolveMainSource(mainContent);
653 // // has error
654 // assertMainErrors([AngularCode.INVALID_PROPERTY_SPEC]);
655 // }
656 // void test_NgComponent_no_cssUrl() {
657 // contextHelper.addSource("/my_template.html", "");
658 // contextHelper.addSource("/my_styles.css", "");
659 // String mainContent = _createAngularSource([
660 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
661 // " templateUrl: 'my_template.html'/*, cssUrl: 'my_styles.c ss'*/)",
662 // "class MyComponent {",
663 // "}"]);
664 // resolveMainSource(mainContent);
665 // // prepare AngularComponentElement
666 // ClassElement classElement = mainUnitElement.getType("MyComponent");
667 // AngularComponentElement component = getAngularElement(classElement, Angul arComponentElement);
668 // JUnitTestCase.assertNotNull(component);
669 // // no CSS
670 // JUnitTestCase.assertEquals(null, component.styleUri);
671 // JUnitTestCase.assertEquals(-1, component.styleUriOffset);
672 // }
673 // void test_NgComponent_no_publishAs() {
674 // contextHelper.addSource("/my_template.html", "");
675 // contextHelper.addSource("/my_styles.css", "");
676 // String mainContent = _createAngularSource([
677 // "@Component(/*publishAs: 'ctrl',*/ selector: 'myComp',",
678 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ')",
679 // "class MyComponent {",
680 // "}"]);
681 // resolveMainSource(mainContent);
682 // // prepare AngularComponentElement
683 // ClassElement classElement = mainUnitElement.getType("MyComponent");
684 // AngularComponentElement component = getAngularElement(classElement, Angul arComponentElement);
685 // JUnitTestCase.assertNotNull(component);
686 // // no name
687 // JUnitTestCase.assertEquals(null, component.name);
688 // JUnitTestCase.assertEquals(-1, component.nameOffset);
689 // }
690 // void test_NgComponent_no_templateUrl() {
691 // contextHelper.addSource("/my_template.html", "");
692 // contextHelper.addSource("/my_styles.css", "");
693 // String mainContent = _createAngularSource([
694 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
695 // " /*templateUrl: 'my_template.html',*/ cssUrl: 'my_styles .css')",
696 // "class MyComponent {",
697 // "}"]);
698 // resolveMainSource(mainContent);
699 // // prepare AngularComponentElement
700 // ClassElement classElement = mainUnitElement.getType("MyComponent");
701 // AngularComponentElement component = getAngularElement(classElement, Angul arComponentElement);
702 // JUnitTestCase.assertNotNull(component);
703 // // no template
704 // JUnitTestCase.assertEquals(null, component.templateUri);
705 // JUnitTestCase.assertEquals(null, component.templateSource);
706 // JUnitTestCase.assertEquals(-1, component.templateUriOffset);
707 // }
708 // /**
709 // *
710 // * https://code.google.com/p/dart/issues/detail?id=19023
711 // */
712 // void test_NgComponent_notAngular() {
713 // contextHelper.addSource("/my_template.html", "");
714 // contextHelper.addSource("/my_styles.css", "");
715 // String mainContent = EngineTestCase.createSource([
716 // "class Component {",
717 // " const Component(a, b);",
718 // "}",
719 // "",
720 // "@Component('foo', 42)",
721 // "class MyComponent {",
722 // "}"]);
723 // resolveMainSource(mainContent);
724 // assertNoMainErrors();
725 // }
726 // void test_NgComponent_properties_fieldFromSuper() {
727 // contextHelper.addSource("/my_template.html", "");
728 // contextHelper.addSource("/my_styles.css", "");
729 // resolveMainSourceNoErrors(_createAngularSource([
730 // "class MySuper {",
731 // " var myPropA;",
732 // "}",
733 // "",
734 // "",
735 // "",
736 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
737 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ',",
738 // " map: const {",
739 // " 'prop-a' : '@myPropA'",
740 // " })",
741 // "class MyComponent extends MySuper {",
742 // "}"]));
743 // // prepare AngularComponentElement
744 // ClassElement classElement = mainUnitElement.getType("MyComponent");
745 // AngularComponentElement component = getAngularElement(classElement, Angul arComponentElement);
746 // JUnitTestCase.assertNotNull(component);
747 // // verify
748 // List<AngularPropertyElement> properties = component.properties;
749 // EngineTestCase.assertLength(1, properties);
750 // _assertProperty(properties[0], "prop-a", findMainOffset("prop-a' :"), Ang ularPropertyKind.ATTR, "myPropA", findMainOffset("myPropA'"));
751 // }
752 // void test_NgComponent_properties_fromFields() {
753 // contextHelper.addSource("/my_template.html", "");
754 // contextHelper.addSource("/my_styles.css", "");
755 // resolveMainSourceNoErrors(_createAngularSource([
756 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
757 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ')",
758 // "class MyComponent {",
759 // " @NgAttr('prop-a')",
760 // " var myPropA;",
761 // " @NgCallback('prop-b')",
762 // " var myPropB;",
763 // " @NgOneWay('prop-c')",
764 // " var myPropC;",
765 // " @NgOneWayOneTime('prop-d')",
766 // " var myPropD;",
767 // " @NgTwoWay('prop-e')",
768 // " var myPropE;",
769 // "}"]));
770 // // prepare AngularComponentElement
771 // ClassElement classElement = mainUnitElement.getType("MyComponent");
772 // AngularComponentElement component = getAngularElement(classElement, Angul arComponentElement);
773 // JUnitTestCase.assertNotNull(component);
774 // // verify
775 // List<AngularPropertyElement> properties = component.properties;
776 // EngineTestCase.assertLength(5, properties);
777 // _assertProperty(properties[0], "prop-a", findMainOffset("prop-a')"), Angu larPropertyKind.ATTR, "myPropA", -1);
778 // _assertProperty(properties[1], "prop-b", findMainOffset("prop-b')"), Angu larPropertyKind.CALLBACK, "myPropB", -1);
779 // _assertProperty(properties[2], "prop-c", findMainOffset("prop-c')"), Angu larPropertyKind.ONE_WAY, "myPropC", -1);
780 // _assertProperty(properties[3], "prop-d", findMainOffset("prop-d')"), Angu larPropertyKind.ONE_WAY_ONE_TIME, "myPropD", -1);
781 // _assertProperty(properties[4], "prop-e", findMainOffset("prop-e')"), Angu larPropertyKind.TWO_WAY, "myPropE", -1);
782 // }
783 // void test_NgComponent_properties_fromMap() {
784 // contextHelper.addSource("/my_template.html", "");
785 // contextHelper.addSource("/my_styles.css", "");
786 // resolveMainSourceNoErrors(_createAngularSource([
787 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
788 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ',",
789 // " map: const {",
790 // " 'prop-a' : '@myPropA',",
791 // " 'prop-b' : '&myPropB',",
792 // " 'prop-c' : '=>myPropC',",
793 // " 'prop-d' : '=>!myPropD',",
794 // " 'prop-e' : '<=>myPropE'",
795 // " })",
796 // "class MyComponent {",
797 // " var myPropA;",
798 // " var myPropB;",
799 // " var myPropC;",
800 // " var myPropD;",
801 // " var myPropE;",
802 // "}"]));
803 // // prepare AngularComponentElement
804 // ClassElement classElement = mainUnitElement.getType("MyComponent");
805 // AngularComponentElement component = getAngularElement(classElement, Angul arComponentElement);
806 // JUnitTestCase.assertNotNull(component);
807 // // verify
808 // List<AngularPropertyElement> properties = component.properties;
809 // EngineTestCase.assertLength(5, properties);
810 // _assertProperty(properties[0], "prop-a", findMainOffset("prop-a' :"), Ang ularPropertyKind.ATTR, "myPropA", findMainOffset("myPropA'"));
811 // _assertProperty(properties[1], "prop-b", findMainOffset("prop-b' :"), Ang ularPropertyKind.CALLBACK, "myPropB", findMainOffset("myPropB'"));
812 // _assertProperty(properties[2], "prop-c", findMainOffset("prop-c' :"), Ang ularPropertyKind.ONE_WAY, "myPropC", findMainOffset("myPropC'"));
813 // _assertProperty(properties[3], "prop-d", findMainOffset("prop-d' :"), Ang ularPropertyKind.ONE_WAY_ONE_TIME, "myPropD", findMainOffset("myPropD'"));
814 // _assertProperty(properties[4], "prop-e", findMainOffset("prop-e' :"), Ang ularPropertyKind.TWO_WAY, "myPropE", findMainOffset("myPropE'"));
815 // }
816 // void test_NgComponent_properties_no() {
817 // contextHelper.addSource("/my_template.html", "");
818 // contextHelper.addSource("/my_styles.css", "");
819 // String mainContent = _createAngularSource([
820 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
821 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ')",
822 // "class MyComponent {",
823 // "}"]);
824 // resolveMainSourceNoErrors(mainContent);
825 // // prepare AngularComponentElement
826 // ClassElement classElement = mainUnitElement.getType("MyComponent");
827 // AngularComponentElement component = getAngularElement(classElement, Angul arComponentElement);
828 // JUnitTestCase.assertNotNull(component);
829 // // verify
830 // JUnitTestCase.assertEquals("ctrl", component.name);
831 // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "ctrl'"), component.nameOffset);
832 // _assertIsTagSelector(component.selector, "myComp");
833 // JUnitTestCase.assertEquals("my_template.html", component.templateUri);
834 // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "my_templa te.html'"), component.templateUriOffset);
835 // JUnitTestCase.assertEquals("my_styles.css", component.styleUri);
836 // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "my_styles .css'"), component.styleUriOffset);
837 // EngineTestCase.assertLength(0, component.properties);
838 // }
839 // void test_NgComponent_scopeProperties() {
840 // contextHelper.addSource("/my_template.html", "");
841 // contextHelper.addSource("/my_styles.css", "");
842 // String mainContent = _createAngularSource([
843 // "@Component(publishAs: 'ctrl', selector: 'myComp',",
844 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css ')",
845 // "class MyComponent {",
846 // " MyComponent(Scope scope) {",
847 // " scope.context['boolProp'] = true;",
848 // " scope.context['intProp'] = 42;",
849 // " scope.context['stringProp'] = 'foo';",
850 // " // duplicate is ignored",
851 // " scope.context['boolProp'] = true;",
852 // " // LHS is not an IndexExpression",
853 // " var v1;",
854 // " v1 = 1;",
855 // " // LHS is not a Scope access",
856 // " var v2;",
857 // " v2['name'] = 2;",
858 // " }",
859 // "}"]);
860 // resolveMainSourceNoErrors(mainContent);
861 // // prepare AngularComponentElement
862 // ClassElement classElement = mainUnitElement.getType("MyComponent");
863 // AngularComponentElement component = getAngularElement(classElement, Angul arComponentElement);
864 // JUnitTestCase.assertNotNull(component);
865 // // verify
866 // List<AngularScopePropertyElement> scopeProperties = component.scopeProper ties;
867 // EngineTestCase.assertLength(3, scopeProperties);
868 // {
869 // AngularScopePropertyElement property = scopeProperties[0];
870 // JUnitTestCase.assertSame(property, findMainElement2("boolProp"));
871 // JUnitTestCase.assertEquals("boolProp", property.name);
872 // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "boolPro p'"), property.nameOffset);
873 // JUnitTestCase.assertEquals("bool", property.type.name);
874 // }
875 // {
876 // AngularScopePropertyElement property = scopeProperties[1];
877 // JUnitTestCase.assertSame(property, findMainElement2("intProp"));
878 // JUnitTestCase.assertEquals("intProp", property.name);
879 // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "intProp '"), property.nameOffset);
880 // JUnitTestCase.assertEquals("int", property.type.name);
881 // }
882 // {
883 // AngularScopePropertyElement property = scopeProperties[2];
884 // JUnitTestCase.assertSame(property, findMainElement2("stringProp"));
885 // JUnitTestCase.assertEquals("stringProp", property.name);
886 // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "stringP rop'"), property.nameOffset);
887 // JUnitTestCase.assertEquals("String", property.type.name);
888 // }
889 // }
890 // void test_NgController() {
891 // String mainContent = _createAngularSource([
892 // "@Controller(publishAs: 'ctrl', selector: '[myApp]')",
893 // "class MyController {",
894 // "}"]);
895 // resolveMainSourceNoErrors(mainContent);
896 // // prepare AngularControllerElement
897 // ClassElement classElement = mainUnitElement.getType("MyController");
898 // AngularControllerElement controller = getAngularElement(classElement, Ang ularControllerElement);
899 // JUnitTestCase.assertNotNull(controller);
900 // // verify
901 // JUnitTestCase.assertEquals("ctrl", controller.name);
902 // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "ctrl'"), controller.nameOffset);
903 // _assertHasAttributeSelector(controller.selector, "myApp");
904 // }
905 // void test_NgController_cannotParseSelector() {
906 // String mainContent = _createAngularSource([
907 // "@Controller(publishAs: 'ctrl', selector: '~unknown')",
908 // "class MyController {",
909 // "}"]);
910 // resolveMainSource(mainContent);
911 // // has error
912 // assertMainErrors([AngularCode.CANNOT_PARSE_SELECTOR]);
913 // }
914 // void test_NgController_missingPublishAs() {
915 // String mainContent = _createAngularSource([
916 // "@Controller(selector: '[myApp]')",
917 // "class MyController {",
918 // "}"]);
919 // resolveMainSource(mainContent);
920 // // has error
921 // assertMainErrors([AngularCode.MISSING_PUBLISH_AS]);
922 // }
923 // void test_NgController_missingSelector() {
924 // String mainContent = _createAngularSource([
925 // "@Controller(publishAs: 'ctrl')",
926 // "class MyController {",
927 // "}"]);
928 // resolveMainSource(mainContent);
929 // // has error
930 // assertMainErrors([AngularCode.MISSING_SELECTOR]);
931 // }
932 // void test_NgController_noAnnotationArguments() {
933 // String mainContent = _createAngularSource(["@NgController", "class MyCont roller {", "}"]);
934 // resolveMainSource(mainContent);
935 // }
936 // void test_parseSelector_hasAttribute() {
937 // AngularSelectorElement selector = AngularCompilationUnitBuilder.parseSele ctor(42, "[name]");
938 // _assertHasAttributeSelector(selector, "name");
939 // JUnitTestCase.assertEquals(42 + 1, selector.nameOffset);
940 // }
941 // void test_parseSelector_hasClass() {
942 // AngularSelectorElement selector = AngularCompilationUnitBuilder.parseSele ctor(42, ".my-class");
943 // AngularHasClassSelectorElementImpl classSelector = selector as AngularHas ClassSelectorElementImpl;
944 // JUnitTestCase.assertEquals("my-class", classSelector.name);
945 // JUnitTestCase.assertEquals(".my-class", classSelector.toString());
946 // JUnitTestCase.assertEquals(42 + 1, selector.nameOffset);
947 // // test apply()
948 // {
949 // XmlTagNode node = HtmlFactory.tagNode("div", [HtmlFactory.attribute("cl ass", "one two")]);
950 // JUnitTestCase.assertFalse(classSelector.apply(node));
951 // }
952 // {
953 // XmlTagNode node = HtmlFactory.tagNode("div", [HtmlFactory.attribute("cl ass", "one my-class two")]);
954 // JUnitTestCase.assertTrue(classSelector.apply(node));
955 // }
956 // }
957 // void test_parseSelector_isTag() {
958 // AngularSelectorElement selector = AngularCompilationUnitBuilder.parseSele ctor(42, "name");
959 // _assertIsTagSelector(selector, "name");
960 // JUnitTestCase.assertEquals(42, selector.nameOffset);
961 // }
962 // void test_parseSelector_isTag_hasAttribute() {
963 // AngularSelectorElement selector = AngularCompilationUnitBuilder.parseSele ctor(42, "tag[attr]");
964 // EngineTestCase.assertInstanceOf((obj) => obj is IsTagHasAttributeSelector ElementImpl, IsTagHasAttributeSelectorElementImpl, selector);
965 // JUnitTestCase.assertEquals("tag[attr]", selector.name);
966 // JUnitTestCase.assertEquals(-1, selector.nameOffset);
967 // JUnitTestCase.assertEquals("tag", (selector as IsTagHasAttributeSelectorE lementImpl).tagName);
968 // JUnitTestCase.assertEquals("attr", (selector as IsTagHasAttributeSelector ElementImpl).attributeName);
969 // }
970 // void test_parseSelector_unknown() {
971 // AngularSelectorElement selector = AngularCompilationUnitBuilder.parseSele ctor(0, "~unknown");
972 // JUnitTestCase.assertNull(selector);
973 // }
974 // void test_view() {
975 // contextHelper.addSource("/wrong.html", "");
976 // contextHelper.addSource("/my_templateA.html", "");
977 // contextHelper.addSource("/my_templateB.html", "");
978 // String mainContent = _createAngularSource([
979 // "class MyRouteInitializer {",
980 // " init(ViewFactory view, foo) {",
981 // " foo.view('wrong.html'); // has target",
982 // " foo(); // less than one argument",
983 // " foo('wrong.html', 'bar'); // more than one argument",
984 // " foo('wrong' + '.html'); // not literal",
985 // " foo('wrong.html'); // not ViewFactory",
986 // " view('my_templateA.html');",
987 // " view('my_templateB.html');",
988 // " }",
989 // "}"]);
990 // resolveMainSourceNoErrors(mainContent);
991 // // prepare AngularViewElement(s)
992 // List<AngularViewElement> views = mainUnitElement.angularViews;
993 // EngineTestCase.assertLength(2, views);
994 // {
995 // AngularViewElement view = views[0];
996 // JUnitTestCase.assertEquals("my_templateA.html", view.templateUri);
997 // JUnitTestCase.assertEquals(null, view.name);
998 // JUnitTestCase.assertEquals(-1, view.nameOffset);
999 // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "my_temp lateA.html'"), view.templateUriOffset);
1000 // }
1001 // {
1002 // AngularViewElement view = views[1];
1003 // JUnitTestCase.assertEquals("my_templateB.html", view.templateUri);
1004 // JUnitTestCase.assertEquals(null, view.name);
1005 // JUnitTestCase.assertEquals(-1, view.nameOffset);
1006 // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "my_temp lateB.html'"), view.templateUriOffset);
1007 // }
1008 // }
1009 // void _assertProperty(AngularPropertyElement property, String expectedName, int expectedNameOffset, AngularPropertyKind expectedKind, String expectedFieldNa me, int expectedFieldOffset) {
1010 // JUnitTestCase.assertEquals(expectedName, property.name);
1011 // JUnitTestCase.assertEquals(expectedNameOffset, property.nameOffset);
1012 // JUnitTestCase.assertSame(expectedKind, property.propertyKind);
1013 // JUnitTestCase.assertEquals(expectedFieldName, property.field.name);
1014 // JUnitTestCase.assertEquals(expectedFieldOffset, property.fieldNameOffset) ;
1015 // }
1016 // /**
1017 // * Find [AstNode] of the given type in [mainUnit].
1018 // */
1019 // AstNode _findMainNode(String search, Type clazz) => EngineTestCase.findNode (mainUnit, mainContent, search, predicate);
1020 // static dartSuite() {
1021 // _ut.group('AngularCompilationUnitBuilderTest', () {
1022 // _ut.test('test_Decorator', () {
1023 // final __test = new AngularCompilationUnitBuilderTest();
1024 // runJUnitTest(__test, __test.test_Decorator);
1025 // });
1026 // _ut.test('test_Decorator_bad_cannotParseSelector', () {
1027 // final __test = new AngularCompilationUnitBuilderTest();
1028 // runJUnitTest(__test, __test.test_Decorator_bad_cannotParseSelector);
1029 // });
1030 // _ut.test('test_Decorator_bad_missingSelector', () {
1031 // final __test = new AngularCompilationUnitBuilderTest();
1032 // runJUnitTest(__test, __test.test_Decorator_bad_missingSelector);
1033 // });
1034 // _ut.test('test_Formatter', () {
1035 // final __test = new AngularCompilationUnitBuilderTest();
1036 // runJUnitTest(__test, __test.test_Formatter);
1037 // });
1038 // _ut.test('test_Formatter_missingName', () {
1039 // final __test = new AngularCompilationUnitBuilderTest();
1040 // runJUnitTest(__test, __test.test_Formatter_missingName);
1041 // });
1042 // _ut.test('test_NgComponent_bad_cannotParseSelector', () {
1043 // final __test = new AngularCompilationUnitBuilderTest();
1044 // runJUnitTest(__test, __test.test_NgComponent_bad_cannotParseSelector) ;
1045 // });
1046 // _ut.test('test_NgComponent_bad_missingSelector', () {
1047 // final __test = new AngularCompilationUnitBuilderTest();
1048 // runJUnitTest(__test, __test.test_NgComponent_bad_missingSelector);
1049 // });
1050 // _ut.test('test_NgComponent_bad_notHtmlTemplate', () {
1051 // final __test = new AngularCompilationUnitBuilderTest();
1052 // runJUnitTest(__test, __test.test_NgComponent_bad_notHtmlTemplate);
1053 // });
1054 // _ut.test('test_NgComponent_bad_properties_invalidBinding', () {
1055 // final __test = new AngularCompilationUnitBuilderTest();
1056 // runJUnitTest(__test, __test.test_NgComponent_bad_properties_invalidBi nding);
1057 // });
1058 // _ut.test('test_NgComponent_bad_properties_nameNotStringLiteral', () {
1059 // final __test = new AngularCompilationUnitBuilderTest();
1060 // runJUnitTest(__test, __test.test_NgComponent_bad_properties_nameNotSt ringLiteral);
1061 // });
1062 // _ut.test('test_NgComponent_bad_properties_noSuchField', () {
1063 // final __test = new AngularCompilationUnitBuilderTest();
1064 // runJUnitTest(__test, __test.test_NgComponent_bad_properties_noSuchFie ld);
1065 // });
1066 // _ut.test('test_NgComponent_bad_properties_notMapLiteral', () {
1067 // final __test = new AngularCompilationUnitBuilderTest();
1068 // runJUnitTest(__test, __test.test_NgComponent_bad_properties_notMapLit eral);
1069 // });
1070 // _ut.test('test_NgComponent_bad_properties_specNotStringLiteral', () {
1071 // final __test = new AngularCompilationUnitBuilderTest();
1072 // runJUnitTest(__test, __test.test_NgComponent_bad_properties_specNotSt ringLiteral);
1073 // });
1074 // _ut.test('test_NgComponent_no_cssUrl', () {
1075 // final __test = new AngularCompilationUnitBuilderTest();
1076 // runJUnitTest(__test, __test.test_NgComponent_no_cssUrl);
1077 // });
1078 // _ut.test('test_NgComponent_no_publishAs', () {
1079 // final __test = new AngularCompilationUnitBuilderTest();
1080 // runJUnitTest(__test, __test.test_NgComponent_no_publishAs);
1081 // });
1082 // _ut.test('test_NgComponent_no_templateUrl', () {
1083 // final __test = new AngularCompilationUnitBuilderTest();
1084 // runJUnitTest(__test, __test.test_NgComponent_no_templateUrl);
1085 // });
1086 // _ut.test('test_NgComponent_notAngular', () {
1087 // final __test = new AngularCompilationUnitBuilderTest();
1088 // runJUnitTest(__test, __test.test_NgComponent_notAngular);
1089 // });
1090 // _ut.test('test_NgComponent_properties_fieldFromSuper', () {
1091 // final __test = new AngularCompilationUnitBuilderTest();
1092 // runJUnitTest(__test, __test.test_NgComponent_properties_fieldFromSupe r);
1093 // });
1094 // _ut.test('test_NgComponent_properties_fromFields', () {
1095 // final __test = new AngularCompilationUnitBuilderTest();
1096 // runJUnitTest(__test, __test.test_NgComponent_properties_fromFields);
1097 // });
1098 // _ut.test('test_NgComponent_properties_fromMap', () {
1099 // final __test = new AngularCompilationUnitBuilderTest();
1100 // runJUnitTest(__test, __test.test_NgComponent_properties_fromMap);
1101 // });
1102 // _ut.test('test_NgComponent_properties_no', () {
1103 // final __test = new AngularCompilationUnitBuilderTest();
1104 // runJUnitTest(__test, __test.test_NgComponent_properties_no);
1105 // });
1106 // _ut.test('test_NgComponent_scopeProperties', () {
1107 // final __test = new AngularCompilationUnitBuilderTest();
1108 // runJUnitTest(__test, __test.test_NgComponent_scopeProperties);
1109 // });
1110 // _ut.test('test_NgController', () {
1111 // final __test = new AngularCompilationUnitBuilderTest();
1112 // runJUnitTest(__test, __test.test_NgController);
1113 // });
1114 // _ut.test('test_NgController_cannotParseSelector', () {
1115 // final __test = new AngularCompilationUnitBuilderTest();
1116 // runJUnitTest(__test, __test.test_NgController_cannotParseSelector);
1117 // });
1118 // _ut.test('test_NgController_missingPublishAs', () {
1119 // final __test = new AngularCompilationUnitBuilderTest();
1120 // runJUnitTest(__test, __test.test_NgController_missingPublishAs);
1121 // });
1122 // _ut.test('test_NgController_missingSelector', () {
1123 // final __test = new AngularCompilationUnitBuilderTest();
1124 // runJUnitTest(__test, __test.test_NgController_missingSelector);
1125 // });
1126 // _ut.test('test_NgController_noAnnotationArguments', () {
1127 // final __test = new AngularCompilationUnitBuilderTest();
1128 // runJUnitTest(__test, __test.test_NgController_noAnnotationArguments);
1129 // });
1130 // _ut.test('test_bad_notConstructorAnnotation', () {
1131 // final __test = new AngularCompilationUnitBuilderTest();
1132 // runJUnitTest(__test, __test.test_bad_notConstructorAnnotation);
1133 // });
1134 // _ut.test('test_getElement_SimpleStringLiteral_withToolkitElement', () {
1135 // final __test = new AngularCompilationUnitBuilderTest();
1136 // runJUnitTest(__test, __test.test_getElement_SimpleStringLiteral_withT oolkitElement);
1137 // });
1138 // _ut.test('test_getElement_component_name', () {
1139 // final __test = new AngularCompilationUnitBuilderTest();
1140 // runJUnitTest(__test, __test.test_getElement_component_name);
1141 // });
1142 // _ut.test('test_getElement_component_property_fromFieldAnnotation', () {
1143 // final __test = new AngularCompilationUnitBuilderTest();
1144 // runJUnitTest(__test, __test.test_getElement_component_property_fromFi eldAnnotation);
1145 // });
1146 // _ut.test('test_getElement_component_property_fromMap', () {
1147 // final __test = new AngularCompilationUnitBuilderTest();
1148 // runJUnitTest(__test, __test.test_getElement_component_property_fromMa p);
1149 // });
1150 // _ut.test('test_getElement_component_selector', () {
1151 // final __test = new AngularCompilationUnitBuilderTest();
1152 // runJUnitTest(__test, __test.test_getElement_component_selector);
1153 // });
1154 // _ut.test('test_getElement_controller_name', () {
1155 // final __test = new AngularCompilationUnitBuilderTest();
1156 // runJUnitTest(__test, __test.test_getElement_controller_name);
1157 // });
1158 // _ut.test('test_getElement_directive_property', () {
1159 // final __test = new AngularCompilationUnitBuilderTest();
1160 // runJUnitTest(__test, __test.test_getElement_directive_property);
1161 // });
1162 // _ut.test('test_getElement_directive_selector', () {
1163 // final __test = new AngularCompilationUnitBuilderTest();
1164 // runJUnitTest(__test, __test.test_getElement_directive_selector);
1165 // });
1166 // _ut.test('test_getElement_filter_name', () {
1167 // final __test = new AngularCompilationUnitBuilderTest();
1168 // runJUnitTest(__test, __test.test_getElement_filter_name);
1169 // });
1170 // _ut.test('test_getElement_noClassDeclaration', () {
1171 // final __test = new AngularCompilationUnitBuilderTest();
1172 // runJUnitTest(__test, __test.test_getElement_noClassDeclaration);
1173 // });
1174 // _ut.test('test_getElement_noClassElement', () {
1175 // final __test = new AngularCompilationUnitBuilderTest();
1176 // runJUnitTest(__test, __test.test_getElement_noClassElement);
1177 // });
1178 // _ut.test('test_getElement_noNode', () {
1179 // final __test = new AngularCompilationUnitBuilderTest();
1180 // runJUnitTest(__test, __test.test_getElement_noNode);
1181 // });
1182 // _ut.test('test_getElement_notFound', () {
1183 // final __test = new AngularCompilationUnitBuilderTest();
1184 // runJUnitTest(__test, __test.test_getElement_notFound);
1185 // });
1186 // _ut.test('test_parseSelector_hasAttribute', () {
1187 // final __test = new AngularCompilationUnitBuilderTest();
1188 // runJUnitTest(__test, __test.test_parseSelector_hasAttribute);
1189 // });
1190 // _ut.test('test_parseSelector_hasClass', () {
1191 // final __test = new AngularCompilationUnitBuilderTest();
1192 // runJUnitTest(__test, __test.test_parseSelector_hasClass);
1193 // });
1194 // _ut.test('test_parseSelector_isTag', () {
1195 // final __test = new AngularCompilationUnitBuilderTest();
1196 // runJUnitTest(__test, __test.test_parseSelector_isTag);
1197 // });
1198 // _ut.test('test_parseSelector_isTag_hasAttribute', () {
1199 // final __test = new AngularCompilationUnitBuilderTest();
1200 // runJUnitTest(__test, __test.test_parseSelector_isTag_hasAttribute);
1201 // });
1202 // _ut.test('test_parseSelector_unknown', () {
1203 // final __test = new AngularCompilationUnitBuilderTest();
1204 // runJUnitTest(__test, __test.test_parseSelector_unknown);
1205 // });
1206 // _ut.test('test_view', () {
1207 // final __test = new AngularCompilationUnitBuilderTest();
1208 // runJUnitTest(__test, __test.test_view);
1209 // });
1210 // });
1211 // }
1212 // }
1213 // class AngularDartIndexContributorTest extends AngularTest {
1214 // IndexStore _store = mock(IndexStore);
1215 // AngularDartIndexContributor _index = new AngularDartIndexContributor(_store );
1216 // void test_component_propertyField() {
1217 // contextHelper.addSource("/my_template.html", "");
1218 // contextHelper.addSource("/my_styles.css", "");
1219 // resolveMainSourceNoErrors(EngineTestCase.createSource([
1220 // "",
1221 // "import 'angular.dart';",
1222 // "",
1223 // "@Component(",
1224 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',",
1225 // " publishAs: 'ctrl',",
1226 // " selector: 'myComponent', // selector",
1227 // " map: const {",
1228 // " 'propAttr' : '@field', // attr",
1229 // " 'propOneWay' : '=>field', // one-way",
1230 // " 'propTwoWay' : '<=>field', // two-way",
1231 // " })",
1232 // "class MyComponent {",
1233 // " @NgOneWay('annProp')",
1234 // " var field;",
1235 // "}",
1236 // "",
1237 // "main() {",
1238 // " var module = new Module();",
1239 // " module.type(MyComponent);",
1240 // " ngBootstrap(module: module);",
1241 // "}"]));
1242 // FieldElement field = findMainElement2("field");
1243 // PropertyAccessorElement getter = field.getter;
1244 // PropertyAccessorElement setter = field.setter;
1245 // // index
1246 // mainUnit.accept(_index);
1247 // List<RecordedRelation> relations = captureRecordedRelations();
1248 // // @field
1249 // {
1250 // ExpectedLocation location = new ExpectedLocation(findMainElement2("prop Attr"), findMainOffset("field', // attr"), "field");
1251 // assertNoRecordedRelation(relations, getter, IndexConstants.IS_REFERENCE D_BY_QUALIFIED, location);
1252 // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_ BY_QUALIFIED, location);
1253 // }
1254 // // =>field
1255 // {
1256 // ExpectedLocation location = new ExpectedLocation(findMainElement2("prop OneWay"), findMainOffset("field', // one-way"), "field");
1257 // assertNoRecordedRelation(relations, getter, IndexConstants.IS_REFERENCE D_BY_QUALIFIED, location);
1258 // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_ BY_QUALIFIED, location);
1259 // }
1260 // // <=>field
1261 // {
1262 // ExpectedLocation location = new ExpectedLocation(findMainElement2("prop TwoWay"), findMainOffset("field', // two-way"), "field");
1263 // assertRecordedRelation(relations, getter, IndexConstants.IS_REFERENCED_ BY_QUALIFIED, location);
1264 // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_ BY_QUALIFIED, location);
1265 // }
1266 // // @NgOneWay('annProp') is ignore - no explicit field reference
1267 // {
1268 // ExpectedLocation location = new ExpectedLocation(findMainElement2("annP rop"), -1, "field");
1269 // assertNoRecordedRelation(relations, setter, IndexConstants.IS_REFERENCE D_BY_QUALIFIED, location);
1270 // }
1271 // }
1272 // void test_directive_propertyField() {
1273 // resolveMainSourceNoErrors(EngineTestCase.createSource([
1274 // "",
1275 // "import 'angular.dart';",
1276 // "",
1277 // "@Decorator(",
1278 // " selector: '[my-directive]',",
1279 // " map: const {",
1280 // " 'propAttr' : '@field', // attr",
1281 // " 'propOneWay' : '=>field', // one-way",
1282 // " 'propTwoWay' : '<=>field', // two-way",
1283 // " })",
1284 // "class MyDirective {",
1285 // " var field;",
1286 // "}",
1287 // "",
1288 // "main() {",
1289 // " var module = new Module();",
1290 // " module.type(MyDirective);",
1291 // " ngBootstrap(module: module);",
1292 // "}"]));
1293 // FieldElement field = findMainElement2("field");
1294 // PropertyAccessorElement getter = field.getter;
1295 // PropertyAccessorElement setter = field.setter;
1296 // // index
1297 // mainUnit.accept(_index);
1298 // List<RecordedRelation> relations = captureRecordedRelations();
1299 // // @field
1300 // {
1301 // ExpectedLocation location = new ExpectedLocation(findMainElement2("prop Attr"), findMainOffset("field', // attr"), "field");
1302 // assertNoRecordedRelation(relations, getter, IndexConstants.IS_REFERENCE D_BY_QUALIFIED, location);
1303 // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_ BY_QUALIFIED, location);
1304 // }
1305 // // =>field
1306 // {
1307 // ExpectedLocation location = new ExpectedLocation(findMainElement2("prop OneWay"), findMainOffset("field', // one-way"), "field");
1308 // assertNoRecordedRelation(relations, getter, IndexConstants.IS_REFERENCE D_BY_QUALIFIED, location);
1309 // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_ BY_QUALIFIED, location);
1310 // }
1311 // // <=>field
1312 // {
1313 // ExpectedLocation location = new ExpectedLocation(findMainElement2("prop TwoWay"), findMainOffset("field', // two-way"), "field");
1314 // assertRecordedRelation(relations, getter, IndexConstants.IS_REFERENCED_ BY_QUALIFIED, location);
1315 // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_ BY_QUALIFIED, location);
1316 // }
1317 // }
1318 // List<RecordedRelation> captureRecordedRelations() => captureRelations(_stor e);
1319 // static dartSuite() {
1320 // _ut.group('AngularDartIndexContributorTest', () {
1321 // _ut.test('test_component_propertyField', () {
1322 // final __test = new AngularDartIndexContributorTest();
1323 // runJUnitTest(__test, __test.test_component_propertyField);
1324 // });
1325 // _ut.test('test_directive_propertyField', () {
1326 // final __test = new AngularDartIndexContributorTest();
1327 // runJUnitTest(__test, __test.test_directive_propertyField);
1328 // });
1329 // });
1330 // }
1331 // }
1332 // class AngularHtmlIndexContributorTest extends AngularTest {
1333 // IndexStore _store = mock(IndexStore);
1334 // AngularHtmlIndexContributor _index = new AngularHtmlIndexContributor(_store );
1335 // void test_expression_inAttribute() {
1336 // addMyController();
1337 // resolveIndex2(AngularTest.createHtmlWithMyController([" <button title='{ {ctrl.field}}'>Remove</button>", ""]));
1338 // // prepare elements
1339 // Element fieldGetter = (findMainElement2("field") as FieldElement).getter;
1340 // // index
1341 // indexUnit.accept(_index);
1342 // // verify
1343 // List<RecordedRelation> relations = captureRecordedRelations();
1344 // assertRecordedRelation(relations, fieldGetter, IndexConstants.IS_REFERENC ED_BY_QUALIFIED, new ExpectedLocation(indexHtmlUnit, findOffset2("field}}"), "fi eld"));
1345 // }
1346 // void test_expression_inContent() {
1347 // addMyController();
1348 // resolveIndex2(AngularTest.createHtmlWithMyController([" {{ctrl.field }}", ""]));
1349 // // prepare elements
1350 // Element fieldGetter = (findMainElement2("field") as FieldElement).getter;
1351 // // index
1352 // indexUnit.accept(_index);
1353 // // verify
1354 // List<RecordedRelation> relations = captureRecordedRelations();
1355 // assertRecordedRelation(relations, fieldGetter, IndexConstants.IS_REFERENC ED_BY_QUALIFIED, new ExpectedLocation(indexHtmlUnit, findOffset2("field}}"), "fi eld"));
1356 // }
1357 // void test_expression_ngRepeat() {
1358 // addMyController();
1359 // resolveIndex2(AngularTest.createHtmlWithMyController([
1360 // " <li ng-repeat='name in ctrl.names'>",
1361 // " {{name}}",
1362 // " </li>",
1363 // ""]));
1364 // // prepare elements
1365 // Element namesElement = (findMainElement2("names") as FieldElement).getter ;
1366 // Element nameElement = findIndexElement("name");
1367 // // index
1368 // indexUnit.accept(_index);
1369 // // verify
1370 // List<RecordedRelation> relations = captureRecordedRelations();
1371 // assertRecordedRelation(relations, namesElement, IndexConstants.IS_REFEREN CED_BY_QUALIFIED, new ExpectedLocation(indexHtmlUnit, findOffset2("names'>"), "n ames"));
1372 // assertRecordedRelation(relations, nameElement, IndexConstants.IS_READ_BY, new ExpectedLocation(indexHtmlUnit, findOffset2("name}}"), "name"));
1373 // }
1374 // void test_Formatter_use() {
1375 // resolveMainSource(EngineTestCase.createSource([
1376 // "",
1377 // "import 'angular.dart';",
1378 // "",
1379 // "@Formatter(name: 'myFormatter')",
1380 // "class MyFormatter {",
1381 // "}",
1382 // "",
1383 // "class Item {",
1384 // " String name;",
1385 // " bool done;",
1386 // "}",
1387 // "",
1388 // "@Controller(",
1389 // " selector: '[my-controller]',",
1390 // " publishAs: 'ctrl')",
1391 // "class MyController {",
1392 // " List<Item> items;",
1393 // "}"]));
1394 // resolveIndex2(AngularTest.createHtmlWithMyController([
1395 // " <li ng-repeat=\"item in ctrl.items | myFormatter:true\">",
1396 // " </li>",
1397 // ""]));
1398 // // prepare elements
1399 // AngularFormatterElement filterElement = findMainElement2("myFormatter");
1400 // // index
1401 // indexUnit.accept(_index);
1402 // // verify
1403 // List<RecordedRelation> relations = captureRecordedRelations();
1404 // assertRecordedRelation(relations, filterElement, IndexConstants.ANGULAR_R EFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("myFormatter:true"), " myFormatter"));
1405 // }
1406 // void test_NgComponent_templateFile() {
1407 // addMainSource(EngineTestCase.createSource([
1408 // "",
1409 // "import 'angular.dart';",
1410 // "",
1411 // "@Component(",
1412 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',",
1413 // " publishAs: 'ctrl',",
1414 // " selector: 'myComponent')",
1415 // "class MyComponent {",
1416 // " String field;",
1417 // "}"]));
1418 // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAn gular([]));
1419 // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <d iv>", " {{ctrl.field}}", " </div>"]));
1420 // contextHelper.addSource("/my_styles.css", "");
1421 // contextHelper.runTasks();
1422 // resolveMain();
1423 // resolveIndex();
1424 // // prepare elements
1425 // AngularComponentElement componentElement = findMainElement2("ctrl");
1426 // FieldElement field = findMainElement2("field");
1427 // PropertyAccessorElement fieldGetter = field.getter;
1428 // // index
1429 // indexUnit.accept(_index);
1430 // // verify
1431 // List<RecordedRelation> relations = captureRecordedRelations();
1432 // assertRecordedRelation(relations, componentElement, IndexConstants.ANGULA R_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("ctrl.field"), "ctr l"));
1433 // assertRecordedRelation(relations, fieldGetter, IndexConstants.IS_REFERENC ED_BY_QUALIFIED, new ExpectedLocation(indexHtmlUnit, findOffset2("field}}"), "fi eld"));
1434 // }
1435 // void test_NgComponent_use() {
1436 // resolveMainSource(EngineTestCase.createSource([
1437 // "",
1438 // "import 'angular.dart';",
1439 // "",
1440 // "@Component(",
1441 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',",
1442 // " publishAs: 'ctrl',",
1443 // " selector: 'myComponent', // selector",
1444 // " map: const {'attrA' : '=>setA', 'attrB' : '@setB'})",
1445 // "class MyComponent {",
1446 // " set setA(value) {}",
1447 // " set setB(value) {}",
1448 // "}"]));
1449 // resolveIndex2(AngularTest.createHtmlWithMyController([
1450 // "<myComponent attrA='null' attrB='str'/>",
1451 // "<myComponent>abcd</myComponent> with closing tag"]));
1452 // // prepare elements
1453 // AngularSelectorElement selectorElement = findMainElement2("myComponent");
1454 // AngularPropertyElement attrA = findMainElement2("attrA");
1455 // AngularPropertyElement attrB = findMainElement2("attrB");
1456 // // index
1457 // indexUnit.accept(_index);
1458 // // verify
1459 // List<RecordedRelation> relations = captureRecordedRelations();
1460 // assertRecordedRelation(relations, selectorElement, IndexConstants.ANGULAR _REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("myComponent attrA=' null"), "myComponent"));
1461 // assertRecordedRelation(relations, attrA, IndexConstants.ANGULAR_REFERENCE , new ExpectedLocation(indexHtmlUnit, findOffset2("attrA='null"), "attrA"));
1462 // assertRecordedRelation(relations, attrB, IndexConstants.ANGULAR_REFERENCE , new ExpectedLocation(indexHtmlUnit, findOffset2("attrB='str"), "attrB"));
1463 // // with closing tag
1464 // assertRecordedRelation(relations, selectorElement, IndexConstants.ANGULAR _REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("myComponent>abcd"), "myComponent"));
1465 // assertRecordedRelation(relations, selectorElement, IndexConstants.ANGULAR _CLOSING_TAG_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("myCompo nent> with closing tag"), "myComponent"));
1466 // }
1467 // void test_NgComponent_use_tagHasAttribute() {
1468 // resolveMainSource(EngineTestCase.createSource([
1469 // "",
1470 // "import 'angular.dart';",
1471 // "",
1472 // "@Component(",
1473 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',",
1474 // " publishAs: 'ctrl',",
1475 // " selector: 'myComponent[attr]', // selector",
1476 // " map: const {'attr' : '=>setAttr'})",
1477 // "class MyComponent {",
1478 // " set setAttr(value) {}",
1479 // "}"]));
1480 // resolveIndex2(AngularTest.createHtmlWithMyController(["<myComponent attr= 'null'/>"]));
1481 // // prepare elements
1482 // AngularSelectorElement selectorElement = findMainElement2("myComponent[at tr]");
1483 // AngularPropertyElement attr = findMainElement2("attr");
1484 // JUnitTestCase.assertNotNull(selectorElement);
1485 // JUnitTestCase.assertNotNull(attr);
1486 // // index
1487 // indexUnit.accept(_index);
1488 // // verify
1489 // List<RecordedRelation> relations = captureRecordedRelations();
1490 // assertRecordedRelation(relations, selectorElement, IndexConstants.ANGULAR _REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("myComponent attr='n ull"), "myComponent"));
1491 // assertRecordedRelation(relations, attr, IndexConstants.ANGULAR_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("attr='null"), "attr"));
1492 // }
1493 // List<RecordedRelation> captureRecordedRelations() => captureRelations(_stor e);
1494 // static dartSuite() {
1495 // _ut.group('AngularHtmlIndexContributorTest', () {
1496 // _ut.test('test_Formatter_use', () {
1497 // final __test = new AngularHtmlIndexContributorTest();
1498 // runJUnitTest(__test, __test.test_Formatter_use);
1499 // });
1500 // _ut.test('test_NgComponent_templateFile', () {
1501 // final __test = new AngularHtmlIndexContributorTest();
1502 // runJUnitTest(__test, __test.test_NgComponent_templateFile);
1503 // });
1504 // _ut.test('test_NgComponent_use', () {
1505 // final __test = new AngularHtmlIndexContributorTest();
1506 // runJUnitTest(__test, __test.test_NgComponent_use);
1507 // });
1508 // _ut.test('test_NgComponent_use_tagHasAttribute', () {
1509 // final __test = new AngularHtmlIndexContributorTest();
1510 // runJUnitTest(__test, __test.test_NgComponent_use_tagHasAttribute);
1511 // });
1512 // _ut.test('test_expression_inAttribute', () {
1513 // final __test = new AngularHtmlIndexContributorTest();
1514 // runJUnitTest(__test, __test.test_expression_inAttribute);
1515 // });
1516 // _ut.test('test_expression_inContent', () {
1517 // final __test = new AngularHtmlIndexContributorTest();
1518 // runJUnitTest(__test, __test.test_expression_inContent);
1519 // });
1520 // _ut.test('test_expression_ngRepeat', () {
1521 // final __test = new AngularHtmlIndexContributorTest();
1522 // runJUnitTest(__test, __test.test_expression_ngRepeat);
1523 // });
1524 // });
1525 // }
1526 // }
1527 // class AngularHtmlUnitResolverTest extends AngularTest {
1528 // void test_analysisContext_changeDart_invalidateApplication() {
1529 // addMainSource(EngineTestCase.createSource([
1530 // "",
1531 // "import 'angular.dart';",
1532 // "",
1533 // "@Component(",
1534 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',",
1535 // " publishAs: 'ctrl',",
1536 // " selector: 'myComponent')",
1537 // "class MyComponent {",
1538 // "}"]));
1539 // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAn gular([]));
1540 // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <d iv>", " {{ctrl.noMethod()}}", " </div>"]));
1541 // contextHelper.addSource("/my_styles.css", "");
1542 // contextHelper.runTasks();
1543 // // there are some errors in my_template.html
1544 // {
1545 // List<AnalysisError> errors = context.getErrors(indexSource).errors;
1546 // JUnitTestCase.assertTrue(errors.length != 0);
1547 // }
1548 // // change main.dart, there are no MyComponent anymore
1549 // context.setContents(mainSource, "");
1550 // // ...errors in my_template.html should be removed
1551 // {
1552 // List<AnalysisError> errors = context.getErrors(indexSource).errors;
1553 // JUnitTestCase.assertTrue(errors.length == 0);
1554 // }
1555 // }
1556 // void test_analysisContext_changeEntryPoint_clearAngularErrors_inDart() {
1557 // addMainSource(EngineTestCase.createSource([
1558 // "",
1559 // "import 'angular.dart';",
1560 // "",
1561 // "@Component(",
1562 // " templateUrl: 'no-such-template.html', cssUrl: 'my_styles.css',",
1563 // " publishAs: 'ctrl',",
1564 // " selector: 'myComponent')",
1565 // "class MyComponent {",
1566 // "}"]));
1567 // Source entrySource = contextHelper.addSource("/entry-point.html", Angular Test.createHtmlWithAngular([]));
1568 // contextHelper.addSource("/my_styles.css", "");
1569 // contextHelper.runTasks();
1570 // // there are some errors in MyComponent
1571 // {
1572 // List<AnalysisError> errors = context.getErrors(mainSource).errors;
1573 // JUnitTestCase.assertTrue(errors.length != 0);
1574 // }
1575 // // make entry-point.html non-Angular
1576 // context.setContents(entrySource, "<html/>");
1577 // // ...errors in MyComponent should be removed
1578 // {
1579 // List<AnalysisError> errors = context.getErrors(mainSource).errors;
1580 // JUnitTestCase.assertTrue(errors.length == 0);
1581 // }
1582 // }
1583 // void test_analysisContext_changeEntryPoint_clearAngularErrors_inTemplate() {
1584 // addMainSource(EngineTestCase.createSource([
1585 // "",
1586 // "import 'angular.dart';",
1587 // "",
1588 // "@Component(",
1589 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',",
1590 // " publishAs: 'ctrl',",
1591 // " selector: 'myComponent')",
1592 // "class MyComponent {",
1593 // "}"]));
1594 // Source entrySource = contextHelper.addSource("/entry-point.html", Angular Test.createHtmlWithAngular([]));
1595 // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <d iv>", " {{ctrl.noMethod()}}", " </div>"]));
1596 // contextHelper.addSource("/my_styles.css", "");
1597 // contextHelper.runTasks();
1598 // // there are some errors in my_template.html
1599 // {
1600 // List<AnalysisError> errors = context.getErrors(indexSource).errors;
1601 // JUnitTestCase.assertTrue(errors.length != 0);
1602 // }
1603 // // make entry-point.html non-Angular
1604 // context.setContents(entrySource, "<html/>");
1605 // // ...errors in my_template.html should be removed
1606 // {
1607 // List<AnalysisError> errors = context.getErrors(indexSource).errors;
1608 // JUnitTestCase.assertTrue(errors.length == 0);
1609 // }
1610 // }
1611 // void test_analysisContext_removeEntryPoint_clearAngularErrors_inDart() {
1612 // addMainSource(EngineTestCase.createSource([
1613 // "",
1614 // "import 'angular.dart';",
1615 // "",
1616 // "@Component(",
1617 // " templateUrl: 'no-such-template.html', cssUrl: 'my_styles.css',",
1618 // " publishAs: 'ctrl',",
1619 // " selector: 'myComponent')",
1620 // "class MyComponent {",
1621 // "}"]));
1622 // Source entrySource = contextHelper.addSource("/entry-point.html", Angular Test.createHtmlWithAngular([]));
1623 // contextHelper.addSource("/my_styles.css", "");
1624 // contextHelper.runTasks();
1625 // // there are some errors in MyComponent
1626 // {
1627 // List<AnalysisError> errors = context.getErrors(mainSource).errors;
1628 // JUnitTestCase.assertTrue(errors.length != 0);
1629 // }
1630 // // remove entry-point.html
1631 // {
1632 // ChangeSet changeSet = new ChangeSet();
1633 // changeSet.removedSource(entrySource);
1634 // context.applyChanges(changeSet);
1635 // }
1636 // // ...errors in MyComponent should be removed
1637 // {
1638 // List<AnalysisError> errors = context.getErrors(mainSource).errors;
1639 // JUnitTestCase.assertTrue(errors.length == 0);
1640 // }
1641 // }
1642 // void test_contextProperties() {
1643 // addMyController();
1644 // _resolveIndexNoErrors(AngularTest.createHtmlWithAngular([
1645 // "<div>",
1646 // " {{\$id}}",
1647 // " {{\$parent}}",
1648 // " {{\$root}}",
1649 // "</div>"]));
1650 // assertResolvedIdentifier("\$id");
1651 // assertResolvedIdentifier("\$parent");
1652 // assertResolvedIdentifier("\$root");
1653 // }
1654 // void test_getAngularElement_isAngular() {
1655 // // prepare local variable "name" in compilation unit
1656 // CompilationUnitElementImpl unit = ElementFactory.compilationUnit("test.da rt");
1657 // FunctionElementImpl function = ElementFactory.functionElement("main");
1658 // unit.functions = <FunctionElement> [function];
1659 // LocalVariableElementImpl local = ElementFactory.localVariableElement2("na me");
1660 // function.localVariables = <LocalVariableElement> [local];
1661 // // set AngularElement
1662 // AngularElement angularElement = new AngularControllerElementImpl("ctrl", 0);
1663 // local.toolkitObjects = <AngularElement> [angularElement];
1664 // JUnitTestCase.assertSame(angularElement, AngularHtmlUnitResolver.getAngul arElement(local));
1665 // }
1666 // void test_getAngularElement_notAngular() {
1667 // Element element = ElementFactory.localVariableElement2("name");
1668 // JUnitTestCase.assertNull(AngularHtmlUnitResolver.getAngularElement(elemen t));
1669 // }
1670 // void test_getAngularElement_notLocal() {
1671 // Element element = ElementFactory.classElement2("Test", []);
1672 // JUnitTestCase.assertNull(AngularHtmlUnitResolver.getAngularElement(elemen t));
1673 // }
1674 // /**
1675 // * Test that we resolve "ng-click" expression.
1676 // */
1677 // void test_ngClick() {
1678 // addMyController();
1679 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<button ng -click='ctrl.doSomething(\$event)'/>"]));
1680 // assertResolvedIdentifier("doSomething");
1681 // }
1682 // void test_NgComponent_resolveTemplateFile() {
1683 // addMainSource(EngineTestCase.createSource([
1684 // "",
1685 // "import 'angular.dart';",
1686 // "",
1687 // "@Component(",
1688 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',",
1689 // " publishAs: 'ctrl',",
1690 // " selector: 'myComponent')",
1691 // "class MyComponent {",
1692 // " String field;",
1693 // "}"]));
1694 // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAn gular([]));
1695 // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <d iv>", " {{ctrl.field}}", " </div>"]));
1696 // contextHelper.addSource("/my_styles.css", "");
1697 // contextHelper.runTasks();
1698 // resolveIndex();
1699 // assertNoErrors();
1700 // assertResolvedIdentifier2("ctrl.", "MyComponent");
1701 // assertResolvedIdentifier2("field}}", "String");
1702 // }
1703 // void test_NgComponent_updateDartFile() {
1704 // Source componentSource = contextHelper.addSource("/my_component.dart", En gineTestCase.createSource([
1705 // "library my.component;",
1706 // "import 'angular.dart';",
1707 // "@Component(selector: 'myComponent')",
1708 // "class MyComponent {",
1709 // "}"]));
1710 // contextHelper.addSource("/my_module.dart", EngineTestCase.createSource([" library my.module;", "import 'my_component.dart';"]));
1711 // addMainSource(EngineTestCase.createSource(["library main;", "import 'my_m odule.dart';"]));
1712 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<myCompone nt/>"]));
1713 // // "myComponent" tag was resolved
1714 // {
1715 // XmlTagNode tagNode = HtmlUnitUtils.getTagNode(indexUnit, findOffset2("m yComponent"));
1716 // AngularSelectorElement tagElement = tagNode.element as AngularSelectorE lement;
1717 // JUnitTestCase.assertNotNull(tagElement);
1718 // JUnitTestCase.assertEquals("myComponent", tagElement.name);
1719 // }
1720 // // replace "myComponent" with "myComponent2" in my_component.dart and ind ex.html
1721 // {
1722 // context.setContents(componentSource, _getSourceContent(componentSource) .replaceAll("myComponent", "myComponent2"));
1723 // indexContent = _getSourceContent(indexSource).replaceAll("myComponent", "myComponent2");
1724 // context.setContents(indexSource, indexContent);
1725 // }
1726 // contextHelper.runTasks();
1727 // resolveIndex();
1728 // // "myComponent2" tag should be resolved
1729 // {
1730 // XmlTagNode tagNode = HtmlUnitUtils.getTagNode(indexUnit, findOffset2("m yComponent2"));
1731 // AngularSelectorElement tagElement = tagNode.element as AngularSelectorE lement;
1732 // JUnitTestCase.assertNotNull(tagElement);
1733 // JUnitTestCase.assertEquals("myComponent2", tagElement.name);
1734 // }
1735 // }
1736 // void test_NgComponent_use_resolveAttributes() {
1737 // contextHelper.addSource("/my_template.html", EngineTestCase.createSource( [" <div>", " {{ctrl.field}}", " </div>"]));
1738 // addMainSource(EngineTestCase.createSource([
1739 // "",
1740 // "import 'angular.dart';",
1741 // "",
1742 // "@Component(",
1743 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',",
1744 // " publishAs: 'ctrl',",
1745 // " selector: 'myComponent', // selector",
1746 // " map: const {'attrA' : '=>setA', 'attrB' : '@setB'})",
1747 // "class MyComponent {",
1748 // " set setA(value) {}",
1749 // " set setB(value) {}",
1750 // "}"]));
1751 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1752 // "<input type='text' ng-model='someModel'/>",
1753 // "<myComponent attrA='someModel' attrB='bbb'/>"]));
1754 // // "attrA" attribute expression was resolved
1755 // JUnitTestCase.assertNotNull(findIdentifier("someModel"));
1756 // // "myComponent" tag was resolved
1757 // XmlTagNode tagNode = HtmlUnitUtils.getTagNode(indexUnit, findOffset2("myC omponent"));
1758 // AngularSelectorElement tagElement = tagNode.element as AngularSelectorEle ment;
1759 // JUnitTestCase.assertNotNull(tagElement);
1760 // JUnitTestCase.assertEquals("myComponent", tagElement.name);
1761 // JUnitTestCase.assertEquals(findMainOffset("myComponent', // selector"), t agElement.nameOffset);
1762 // // "attrA" attribute was resolved
1763 // {
1764 // XmlAttributeNode node = HtmlUnitUtils.getAttributeNode(indexUnit, findO ffset2("attrA='"));
1765 // AngularPropertyElement element = node.element as AngularPropertyElement ;
1766 // JUnitTestCase.assertNotNull(element);
1767 // JUnitTestCase.assertEquals("attrA", element.name);
1768 // JUnitTestCase.assertEquals("setA", element.field.name);
1769 // }
1770 // // "attrB" attribute was resolved, even if it @binding
1771 // {
1772 // XmlAttributeNode node = HtmlUnitUtils.getAttributeNode(indexUnit, findO ffset2("attrB='"));
1773 // AngularPropertyElement element = node.element as AngularPropertyElement ;
1774 // JUnitTestCase.assertNotNull(element);
1775 // JUnitTestCase.assertEquals("attrB", element.name);
1776 // JUnitTestCase.assertEquals("setB", element.field.name);
1777 // }
1778 // }
1779 // void test_NgDirective_noAttribute() {
1780 // addMainSource(EngineTestCase.createSource([
1781 // "",
1782 // "import 'angular.dart';",
1783 // "",
1784 // "@NgDirective(selector: '[my-directive]', map: const {'foo': '=>input '})",
1785 // "class MyDirective {",
1786 // " set input(value) {}",
1787 // "}"]));
1788 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<div my-di rective>", "</div>"]));
1789 // }
1790 // void test_NgDirective_noExpression() {
1791 // addMainSource(EngineTestCase.createSource([
1792 // "",
1793 // "import 'angular.dart';",
1794 // "",
1795 // "@NgDirective(selector: '[my-directive]', map: const {'.': '=>input'} )",
1796 // "class MyDirective {",
1797 // " set input(value) {}",
1798 // "}"]));
1799 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<div my-di rective>", "</div>"]));
1800 // }
1801 // void test_NgDirective_resolvedExpression() {
1802 // addMainSource(EngineTestCase.createSource([
1803 // "",
1804 // "import 'angular.dart';",
1805 // "",
1806 // "@Decorator(selector: '[my-directive]')",
1807 // "class MyDirective {",
1808 // " @NgOneWay('my-property')",
1809 // " String condition;",
1810 // "}"]));
1811 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1812 // "<input type='text' ng-model='name'>",
1813 // "<div my-directive my-property='name != null'>",
1814 // "</div>"]));
1815 // resolveMainNoErrors();
1816 // // "my-directive" attribute was resolved
1817 // {
1818 // AngularSelectorElement selector = findMainElement(ElementKind.ANGULAR_S ELECTOR, "my-directive");
1819 // XmlAttributeNode attrNodeSelector = HtmlUnitUtils.getAttributeNode(inde xUnit, findOffset2("my-directive"));
1820 // JUnitTestCase.assertNotNull(attrNodeSelector);
1821 // JUnitTestCase.assertSame(selector, attrNodeSelector.element);
1822 // }
1823 // // "my-property" attribute was resolved
1824 // {
1825 // XmlAttributeNode attrNodeProperty = HtmlUnitUtils.getAttributeNode(inde xUnit, findOffset2("my-property='"));
1826 // AngularPropertyElement propertyElement = attrNodeProperty.element as An gularPropertyElement;
1827 // JUnitTestCase.assertNotNull(propertyElement);
1828 // JUnitTestCase.assertSame(AngularPropertyKind.ONE_WAY, propertyElement.p ropertyKind);
1829 // JUnitTestCase.assertEquals("condition", propertyElement.field.name);
1830 // }
1831 // // "name" expression was resolved
1832 // JUnitTestCase.assertNotNull(findIdentifier("name != null"));
1833 // }
1834 // void test_NgDirective_resolvedExpression_attrString() {
1835 // addMainSource(EngineTestCase.createSource([
1836 // "",
1837 // "import 'angular.dart';",
1838 // "",
1839 // "@NgDirective(selector: '[my-directive])",
1840 // "class MyDirective {",
1841 // " @NgAttr('my-property')",
1842 // " String property;",
1843 // "}"]));
1844 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1845 // "<input type='text' ng-model='name'>",
1846 // "<div my-directive my-property='name != null'>",
1847 // "</div>"]));
1848 // resolveMain();
1849 // // @NgAttr means "string attribute", which we don't parse
1850 // JUnitTestCase.assertNull(findIdentifierMaybe("name != null"));
1851 // }
1852 // void test_NgDirective_resolvedExpression_dotAsName() {
1853 // addMainSource(EngineTestCase.createSource([
1854 // "",
1855 // "import 'angular.dart';",
1856 // "",
1857 // "@Decorator(",
1858 // " selector: '[my-directive]',",
1859 // " map: const {'.' : '=>condition'})",
1860 // "class MyDirective {",
1861 // " set condition(value) {}",
1862 // "}"]));
1863 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1864 // "<input type='text' ng-model='name'>",
1865 // "<div my-directive='name != null'>",
1866 // "</div>"]));
1867 // // "name" attribute was resolved
1868 // JUnitTestCase.assertNotNull(findIdentifier("name != null"));
1869 // }
1870 // /**
1871 // * Test that we resolve "ng-if" expression.
1872 // */
1873 // void test_ngIf() {
1874 // addMyController();
1875 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<div ng-if ='ctrl.field != null'/>"]));
1876 // assertResolvedIdentifier("field");
1877 // }
1878 // void test_ngModel_modelAfterUsage() {
1879 // addMyController();
1880 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1881 // "<h3>Hello {{name}}!</h3>",
1882 // "<input type='text' ng-model='name'>"]));
1883 // assertResolvedIdentifier2("name}}!", "String");
1884 // assertResolvedIdentifier2("name'>", "String");
1885 // }
1886 // void test_ngModel_modelBeforeUsage() {
1887 // addMyController();
1888 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1889 // "<input type='text' ng-model='name'>",
1890 // "<h3>Hello {{name}}!</h3>"]));
1891 // assertResolvedIdentifier2("name}}!", "String");
1892 // Element element = assertResolvedIdentifier2("name'>", "String");
1893 // JUnitTestCase.assertEquals("name", element.name);
1894 // JUnitTestCase.assertEquals(findOffset2("name'>"), element.nameOffset);
1895 // }
1896 // void test_ngModel_notIdentifier() {
1897 // addMyController();
1898 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<input typ e='text' ng-model='ctrl.field'>"]));
1899 // assertResolvedIdentifier2("field'>", "String");
1900 // }
1901 // /**
1902 // * Test that we resolve "ng-mouseout" expression.
1903 // */
1904 // void test_ngMouseOut() {
1905 // addMyController();
1906 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<button ng -mouseout='ctrl.doSomething(\$event)'/>"]));
1907 // assertResolvedIdentifier("doSomething");
1908 // }
1909 // void test_ngRepeat_additionalVariables() {
1910 // addMyController();
1911 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1912 // "<li ng-repeat='name in ctrl.names'>",
1913 // " {{\$index}} {{\$first}} {{\$middle}} {{\$last}} {{\$even}} {{\$odd }}",
1914 // "</li>"]));
1915 // assertResolvedIdentifier2("\$index", "int");
1916 // assertResolvedIdentifier2("\$first", "bool");
1917 // assertResolvedIdentifier2("\$middle", "bool");
1918 // assertResolvedIdentifier2("\$last", "bool");
1919 // assertResolvedIdentifier2("\$even", "bool");
1920 // assertResolvedIdentifier2("\$odd", "bool");
1921 // }
1922 // void test_ngRepeat_bad_expectedIdentifier() {
1923 // addMyController();
1924 // resolveIndex2(AngularTest.createHtmlWithMyController(["<li ng-repeat='nam e + 42 in ctrl.names'>", "</li>"]));
1925 // assertErrors(indexSource, [AngularCode.INVALID_REPEAT_ITEM_SYNTAX]);
1926 // }
1927 // void test_ngRepeat_bad_expectedIn() {
1928 // addMyController();
1929 // resolveIndex2(AngularTest.createHtmlWithMyController(["<li ng-repeat='nam e : ctrl.names'>", "</li>"]));
1930 // assertErrors(indexSource, [AngularCode.INVALID_REPEAT_SYNTAX]);
1931 // }
1932 // void test_ngRepeat_filters_filter_literal() {
1933 // addMyController();
1934 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1935 // "<li ng-repeat='item in ctrl.items | filter:42:null'/>",
1936 // "</li>"]));
1937 // // filter "filter" is resolved
1938 // Element filterElement = assertResolvedIdentifier("filter");
1939 // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, filterElement);
1940 // }
1941 // void test_ngRepeat_filters_filter_propertyMap() {
1942 // addMyController();
1943 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1944 // "<li ng-repeat='item in ctrl.items | filter:{name:null, done:false}'/ >",
1945 // "</li>"]));
1946 // assertResolvedIdentifier2("name:", "String");
1947 // assertResolvedIdentifier2("done:", "bool");
1948 // }
1949 // void test_ngRepeat_filters_missingColon() {
1950 // addMyController();
1951 // resolveIndex2(AngularTest.createHtmlWithMyController([
1952 // "<li ng-repeat=\"item in ctrl.items | orderBy:'' true\"/>",
1953 // "</li>"]));
1954 // assertErrors(indexSource, [AngularCode.MISSING_FORMATTER_COLON]);
1955 // }
1956 // void test_ngRepeat_filters_noArgs() {
1957 // addMyController();
1958 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1959 // "<li ng-repeat=\"item in ctrl.items | orderBy\"/>",
1960 // "</li>"]));
1961 // // filter "orderBy" is resolved
1962 // Element filterElement = assertResolvedIdentifier("orderBy");
1963 // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, filterElement);
1964 // }
1965 // void test_ngRepeat_filters_orderBy_emptyString() {
1966 // addMyController();
1967 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1968 // "<li ng-repeat=\"item in ctrl.items | orderBy:'':true\"/>",
1969 // "</li>"]));
1970 // // filter "orderBy" is resolved
1971 // Element filterElement = assertResolvedIdentifier("orderBy");
1972 // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, filterElement);
1973 // }
1974 // void test_ngRepeat_filters_orderBy_propertyList() {
1975 // addMyController();
1976 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1977 // "<li ng-repeat=\"item in ctrl.items | orderBy:['name', 'done']\"/>",
1978 // "</li>"]));
1979 // assertResolvedIdentifier2("name'", "String");
1980 // assertResolvedIdentifier2("done'", "bool");
1981 // }
1982 // void test_ngRepeat_filters_orderBy_propertyName() {
1983 // addMyController();
1984 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1985 // "<li ng-repeat=\"item in ctrl.items | orderBy:'name'\"/>",
1986 // "</li>"]));
1987 // assertResolvedIdentifier2("name'", "String");
1988 // }
1989 // void test_ngRepeat_filters_orderBy_propertyName_minus() {
1990 // addMyController();
1991 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1992 // "<li ng-repeat=\"item in ctrl.items | orderBy:'-name'\"/>",
1993 // "</li>"]));
1994 // assertResolvedIdentifier2("name'", "String");
1995 // }
1996 // void test_ngRepeat_filters_orderBy_propertyName_plus() {
1997 // addMyController();
1998 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
1999 // "<li ng-repeat=\"item in ctrl.items | orderBy:'+name'\"/>",
2000 // "</li>"]));
2001 // assertResolvedIdentifier2("name'", "String");
2002 // }
2003 // void test_ngRepeat_filters_orderBy_propertyName_untypedItems() {
2004 // addMyController();
2005 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
2006 // "<li ng-repeat=\"item in ctrl.untypedItems | orderBy:'name'\"/>",
2007 // "</li>"]));
2008 // assertResolvedIdentifier2("name'", "dynamic");
2009 // }
2010 // void test_ngRepeat_filters_two() {
2011 // addMyController();
2012 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
2013 // "<li ng-repeat=\"item in ctrl.items | orderBy:'+' | orderBy:'-'\"/>",
2014 // "</li>"]));
2015 // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, assertResolvedIdentifier("orderBy:'+'"));
2016 // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, assertResolvedIdentifier("orderBy:'-'"));
2017 // }
2018 // void test_ngRepeat_resolvedExpressions() {
2019 // addMyController();
2020 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
2021 // "<li ng-repeat='name in ctrl.names'>",
2022 // " {{name}}",
2023 // "</li>"]));
2024 // assertResolvedIdentifier2("name in", "String");
2025 // assertResolvedIdentifier2("ctrl.", "MyController");
2026 // assertResolvedIdentifier2("names'", "List<String>");
2027 // assertResolvedIdentifier2("name}}", "String");
2028 // }
2029 // void test_ngRepeat_trackBy() {
2030 // addMyController();
2031 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([
2032 // "<li ng-repeat='name in ctrl.names track by name.length'/>",
2033 // "</li>"]));
2034 // assertResolvedIdentifier2("length'", "int");
2035 // }
2036 // /**
2037 // * Test that we resolve "ng-show" expression.
2038 // */
2039 // void test_ngShow() {
2040 // addMyController();
2041 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<div ng-sh ow='ctrl.field != null'/>"]));
2042 // assertResolvedIdentifier("field");
2043 // }
2044 // void test_notResolved_noDartScript() {
2045 // resolveIndex2(EngineTestCase.createSource([
2046 // "<html ng-app>",
2047 // " <body>",
2048 // " <div my-marker>",
2049 // " {{ctrl.field}}",
2050 // " </div>",
2051 // " </body>",
2052 // "</html>"]));
2053 // assertNoErrors();
2054 // // Angular is not initialized, so "ctrl" is not parsed
2055 // Expression expression = HtmlUnitUtils.getExpression(indexUnit, findOffset 2("ctrl"));
2056 // JUnitTestCase.assertNull(expression);
2057 // }
2058 // void test_notResolved_notAngular() {
2059 // resolveIndex2(EngineTestCase.createSource([
2060 // "<html no-ng-app>",
2061 // " <body>",
2062 // " <div my-marker>",
2063 // " {{ctrl.field}}",
2064 // " </div>",
2065 // " </body>",
2066 // "</html>"]));
2067 // assertNoErrors();
2068 // // Angular is not initialized, so "ctrl" is not parsed
2069 // Expression expression = HtmlUnitUtils.getExpression(indexUnit, findOffset 2("ctrl"));
2070 // JUnitTestCase.assertNull(expression);
2071 // }
2072 // void test_notResolved_wrongControllerMarker() {
2073 // addMyController();
2074 // addIndexSource(EngineTestCase.createSource([
2075 // "<html ng-app>",
2076 // " <body>",
2077 // " <div not-my-marker>",
2078 // " {{ctrl.field}}",
2079 // " </div>",
2080 // " <script type='application/dart' src='main.dart'></script>",
2081 // " </body>",
2082 // "</html>"]));
2083 // contextHelper.runTasks();
2084 // resolveIndex();
2085 // // no errors, because we decided to ignore them at the moment
2086 // assertNoErrors();
2087 // // "ctrl" is not resolved
2088 // SimpleIdentifier identifier = findIdentifier("ctrl");
2089 // JUnitTestCase.assertNull(identifier.bestElement);
2090 // }
2091 // void test_resolveExpression_evenWithout_ngBootstrap() {
2092 // resolveMainSource(EngineTestCase.createSource([
2093 // "",
2094 // "import 'angular.dart';",
2095 // "",
2096 // "@Controller(",
2097 // " selector: '[my-controller]',",
2098 // " publishAs: 'ctrl')",
2099 // "class MyController {",
2100 // " String field;",
2101 // "}"]));
2102 // _resolveIndexNoErrors(EngineTestCase.createSource([
2103 // "<html ng-app>",
2104 // " <body>",
2105 // " <div my-controller>",
2106 // " {{ctrl.field}}",
2107 // " </div>",
2108 // " <script type='application/dart' src='main.dart'></script>",
2109 // " </body>",
2110 // "</html>"]));
2111 // assertResolvedIdentifier2("ctrl.", "MyController");
2112 // }
2113 // void test_resolveExpression_ignoreUnresolved() {
2114 // resolveMainSource(EngineTestCase.createSource([
2115 // "",
2116 // "import 'angular.dart';",
2117 // "",
2118 // "@Controller(",
2119 // " selector: '[my-controller]',",
2120 // " publishAs: 'ctrl')",
2121 // "class MyController {",
2122 // " Map map;",
2123 // " Object obj;",
2124 // "}"]));
2125 // resolveIndex2(EngineTestCase.createSource([
2126 // "<html ng-app>",
2127 // " <body>",
2128 // " <div my-controller>",
2129 // " {{ctrl.map.property}}",
2130 // " {{ctrl.obj.property}}",
2131 // " {{invisibleScopeProperty}}",
2132 // " </div>",
2133 // " <script type='application/dart' src='main.dart'></script>",
2134 // " </body>",
2135 // "</html>"]));
2136 // assertNoErrors();
2137 // // "ctrl.map" and "ctrl.obj" are resolved
2138 // assertResolvedIdentifier2("map", "Map<dynamic, dynamic>");
2139 // assertResolvedIdentifier2("obj", "Object");
2140 // // ...but not "invisibleScopeProperty"
2141 // {
2142 // SimpleIdentifier identifier = findIdentifier("invisibleScopeProperty");
2143 // JUnitTestCase.assertNull(identifier.bestElement);
2144 // }
2145 // }
2146 // void test_resolveExpression_inAttribute() {
2147 // addMyController();
2148 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<button ti tle='{{ctrl.field}}'></button>"]));
2149 // assertResolvedIdentifier2("ctrl", "MyController");
2150 // }
2151 // void test_resolveExpression_ngApp_onBody() {
2152 // addMyController();
2153 // _resolveIndexNoErrors(EngineTestCase.createSource([
2154 // "<html>",
2155 // " <body ng-app>",
2156 // " <div my-controller>",
2157 // " {{ctrl.field}}",
2158 // " </div>",
2159 // " <script type='application/dart' src='main.dart'></script>",
2160 // " </body>",
2161 // "</html>"]));
2162 // assertResolvedIdentifier2("ctrl", "MyController");
2163 // }
2164 // void test_resolveExpression_withFilter() {
2165 // addMyController();
2166 // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["{{ctrl.fie ld | uppercase}}"]));
2167 // assertResolvedIdentifier2("ctrl", "MyController");
2168 // assertResolvedIdentifier("uppercase");
2169 // }
2170 // void test_resolveExpression_withFilter_notSimpleIdentifier() {
2171 // addMyController();
2172 // resolveIndex2(AngularTest.createHtmlWithMyController(["{{ctrl.field | not .supported}}"]));
2173 // assertErrors(indexSource, [AngularCode.INVALID_FORMATTER_NAME]);
2174 // }
2175 // void test_scopeProperties() {
2176 // addMainSource(EngineTestCase.createSource([
2177 // "",
2178 // "import 'angular.dart';",
2179 // "",
2180 // "@Component(",
2181 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',",
2182 // " publishAs: 'ctrl',",
2183 // " selector: 'myComponent')",
2184 // "class MyComponent {",
2185 // " String field;",
2186 // " MyComponent(Scope scope) {",
2187 // " scope.context['scopeProperty'] = 'abc';",
2188 // " }",
2189 // "}",
2190 // ""]));
2191 // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAn gular([]));
2192 // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <d iv>", " {{scopeProperty}}", " </div>"]));
2193 // contextHelper.addSource("/my_styles.css", "");
2194 // contextHelper.runTasks();
2195 // resolveIndex();
2196 // assertNoErrors();
2197 // // "scopeProperty" is resolved
2198 // Element element = assertResolvedIdentifier2("scopeProperty}}", "String");
2199 // EngineTestCase.assertInstanceOf((obj) => obj is AngularScopePropertyEleme nt, AngularScopePropertyElement, AngularHtmlUnitResolver.getAngularElement(eleme nt));
2200 // }
2201 // void test_scopeProperties_hideWithComponent() {
2202 // addMainSource(EngineTestCase.createSource([
2203 // "",
2204 // "import 'angular.dart';",
2205 // "",
2206 // "@Component(",
2207 // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',",
2208 // " publishAs: 'ctrl',",
2209 // " selector: 'myComponent')",
2210 // "class MyComponent {",
2211 // "}",
2212 // "",
2213 // "void setScopeProperties(Scope scope) {",
2214 // " scope.context['ctrl'] = 1;",
2215 // "}",
2216 // ""]));
2217 // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAn gular([]));
2218 // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <d iv>", " {{ctrl}}", " </div>"]));
2219 // contextHelper.addSource("/my_styles.css", "");
2220 // contextHelper.runTasks();
2221 // resolveIndex();
2222 // assertNoErrors();
2223 // // "ctrl" is resolved
2224 // LocalVariableElement element = assertResolvedIdentifier("ctrl}}") as Loca lVariableElement;
2225 // List<ToolkitObjectElement> toolkitObjects = element.toolkitObjects;
2226 // EngineTestCase.assertInstanceOf((obj) => obj is AngularComponentElement, AngularComponentElement, toolkitObjects[0]);
2227 // }
2228 // void test_view_resolveTemplateFile() {
2229 // addMainSource(EngineTestCase.createSource([
2230 // "",
2231 // "import 'angular.dart';",
2232 // "",
2233 // "@Controller(",
2234 // " selector: '[my-controller]',",
2235 // " publishAs: 'ctrl')",
2236 // "class MyController {",
2237 // " String field;",
2238 // "}",
2239 // "",
2240 // "class MyRouteInitializer {",
2241 // " init(ViewFactory view) {",
2242 // " view('my_template.html');",
2243 // " }",
2244 // "}"]));
2245 // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAn gular([]));
2246 // addIndexSource2("/my_template.html", EngineTestCase.createSource([
2247 // " <div my-controller>",
2248 // " {{ctrl.field}}",
2249 // " </div>"]));
2250 // contextHelper.addSource("/my_styles.css", "");
2251 // contextHelper.runTasks();
2252 // resolveIndex();
2253 // assertNoErrors();
2254 // assertResolvedIdentifier2("ctrl.", "MyController");
2255 // assertResolvedIdentifier2("field}}", "String");
2256 // }
2257 // String _getSourceContent(Source source) => context.getContents(source).data .toString();
2258 // void _resolveIndexNoErrors(String content) {
2259 // resolveIndex2(content);
2260 // assertNoErrors();
2261 // verify([indexSource]);
2262 // }
2263 // static dartSuite() {
2264 // _ut.group('AngularHtmlUnitResolverTest', () {
2265 // _ut.test('test_NgComponent_resolveTemplateFile', () {
2266 // final __test = new AngularHtmlUnitResolverTest();
2267 // runJUnitTest(__test, __test.test_NgComponent_resolveTemplateFile);
2268 // });
2269 // _ut.test('test_NgComponent_updateDartFile', () {
2270 // final __test = new AngularHtmlUnitResolverTest();
2271 // runJUnitTest(__test, __test.test_NgComponent_updateDartFile);
2272 // });
2273 // _ut.test('test_NgComponent_use_resolveAttributes', () {
2274 // final __test = new AngularHtmlUnitResolverTest();
2275 // runJUnitTest(__test, __test.test_NgComponent_use_resolveAttributes);
2276 // });
2277 // _ut.test('test_NgDirective_noAttribute', () {
2278 // final __test = new AngularHtmlUnitResolverTest();
2279 // runJUnitTest(__test, __test.test_NgDirective_noAttribute);
2280 // });
2281 // _ut.test('test_NgDirective_noExpression', () {
2282 // final __test = new AngularHtmlUnitResolverTest();
2283 // runJUnitTest(__test, __test.test_NgDirective_noExpression);
2284 // });
2285 // _ut.test('test_NgDirective_resolvedExpression', () {
2286 // final __test = new AngularHtmlUnitResolverTest();
2287 // runJUnitTest(__test, __test.test_NgDirective_resolvedExpression);
2288 // });
2289 // _ut.test('test_NgDirective_resolvedExpression_attrString', () {
2290 // final __test = new AngularHtmlUnitResolverTest();
2291 // runJUnitTest(__test, __test.test_NgDirective_resolvedExpression_attrS tring);
2292 // });
2293 // _ut.test('test_NgDirective_resolvedExpression_dotAsName', () {
2294 // final __test = new AngularHtmlUnitResolverTest();
2295 // runJUnitTest(__test, __test.test_NgDirective_resolvedExpression_dotAs Name);
2296 // });
2297 // _ut.test('test_analysisContext_changeDart_invalidateApplication', () {
2298 // final __test = new AngularHtmlUnitResolverTest();
2299 // runJUnitTest(__test, __test.test_analysisContext_changeDart_invalidat eApplication);
2300 // });
2301 // _ut.test('test_analysisContext_changeEntryPoint_clearAngularErrors_inDa rt', () {
2302 // final __test = new AngularHtmlUnitResolverTest();
2303 // runJUnitTest(__test, __test.test_analysisContext_changeEntryPoint_cle arAngularErrors_inDart);
2304 // });
2305 // _ut.test('test_analysisContext_changeEntryPoint_clearAngularErrors_inTe mplate', () {
2306 // final __test = new AngularHtmlUnitResolverTest();
2307 // runJUnitTest(__test, __test.test_analysisContext_changeEntryPoint_cle arAngularErrors_inTemplate);
2308 // });
2309 // _ut.test('test_analysisContext_removeEntryPoint_clearAngularErrors_inDa rt', () {
2310 // final __test = new AngularHtmlUnitResolverTest();
2311 // runJUnitTest(__test, __test.test_analysisContext_removeEntryPoint_cle arAngularErrors_inDart);
2312 // });
2313 // _ut.test('test_contextProperties', () {
2314 // final __test = new AngularHtmlUnitResolverTest();
2315 // runJUnitTest(__test, __test.test_contextProperties);
2316 // });
2317 // _ut.test('test_getAngularElement_isAngular', () {
2318 // final __test = new AngularHtmlUnitResolverTest();
2319 // runJUnitTest(__test, __test.test_getAngularElement_isAngular);
2320 // });
2321 // _ut.test('test_getAngularElement_notAngular', () {
2322 // final __test = new AngularHtmlUnitResolverTest();
2323 // runJUnitTest(__test, __test.test_getAngularElement_notAngular);
2324 // });
2325 // _ut.test('test_getAngularElement_notLocal', () {
2326 // final __test = new AngularHtmlUnitResolverTest();
2327 // runJUnitTest(__test, __test.test_getAngularElement_notLocal);
2328 // });
2329 // _ut.test('test_ngClick', () {
2330 // final __test = new AngularHtmlUnitResolverTest();
2331 // runJUnitTest(__test, __test.test_ngClick);
2332 // });
2333 // _ut.test('test_ngIf', () {
2334 // final __test = new AngularHtmlUnitResolverTest();
2335 // runJUnitTest(__test, __test.test_ngIf);
2336 // });
2337 // _ut.test('test_ngModel_modelAfterUsage', () {
2338 // final __test = new AngularHtmlUnitResolverTest();
2339 // runJUnitTest(__test, __test.test_ngModel_modelAfterUsage);
2340 // });
2341 // _ut.test('test_ngModel_modelBeforeUsage', () {
2342 // final __test = new AngularHtmlUnitResolverTest();
2343 // runJUnitTest(__test, __test.test_ngModel_modelBeforeUsage);
2344 // });
2345 // _ut.test('test_ngModel_notIdentifier', () {
2346 // final __test = new AngularHtmlUnitResolverTest();
2347 // runJUnitTest(__test, __test.test_ngModel_notIdentifier);
2348 // });
2349 // _ut.test('test_ngMouseOut', () {
2350 // final __test = new AngularHtmlUnitResolverTest();
2351 // runJUnitTest(__test, __test.test_ngMouseOut);
2352 // });
2353 // _ut.test('test_ngRepeat_additionalVariables', () {
2354 // final __test = new AngularHtmlUnitResolverTest();
2355 // runJUnitTest(__test, __test.test_ngRepeat_additionalVariables);
2356 // });
2357 // _ut.test('test_ngRepeat_bad_expectedIdentifier', () {
2358 // final __test = new AngularHtmlUnitResolverTest();
2359 // runJUnitTest(__test, __test.test_ngRepeat_bad_expectedIdentifier);
2360 // });
2361 // _ut.test('test_ngRepeat_bad_expectedIn', () {
2362 // final __test = new AngularHtmlUnitResolverTest();
2363 // runJUnitTest(__test, __test.test_ngRepeat_bad_expectedIn);
2364 // });
2365 // _ut.test('test_ngRepeat_filters_filter_literal', () {
2366 // final __test = new AngularHtmlUnitResolverTest();
2367 // runJUnitTest(__test, __test.test_ngRepeat_filters_filter_literal);
2368 // });
2369 // _ut.test('test_ngRepeat_filters_filter_propertyMap', () {
2370 // final __test = new AngularHtmlUnitResolverTest();
2371 // runJUnitTest(__test, __test.test_ngRepeat_filters_filter_propertyMap) ;
2372 // });
2373 // _ut.test('test_ngRepeat_filters_missingColon', () {
2374 // final __test = new AngularHtmlUnitResolverTest();
2375 // runJUnitTest(__test, __test.test_ngRepeat_filters_missingColon);
2376 // });
2377 // _ut.test('test_ngRepeat_filters_noArgs', () {
2378 // final __test = new AngularHtmlUnitResolverTest();
2379 // runJUnitTest(__test, __test.test_ngRepeat_filters_noArgs);
2380 // });
2381 // _ut.test('test_ngRepeat_filters_orderBy_emptyString', () {
2382 // final __test = new AngularHtmlUnitResolverTest();
2383 // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_emptyString );
2384 // });
2385 // _ut.test('test_ngRepeat_filters_orderBy_propertyList', () {
2386 // final __test = new AngularHtmlUnitResolverTest();
2387 // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_propertyLis t);
2388 // });
2389 // _ut.test('test_ngRepeat_filters_orderBy_propertyName', () {
2390 // final __test = new AngularHtmlUnitResolverTest();
2391 // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_propertyNam e);
2392 // });
2393 // _ut.test('test_ngRepeat_filters_orderBy_propertyName_minus', () {
2394 // final __test = new AngularHtmlUnitResolverTest();
2395 // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_propertyNam e_minus);
2396 // });
2397 // _ut.test('test_ngRepeat_filters_orderBy_propertyName_plus', () {
2398 // final __test = new AngularHtmlUnitResolverTest();
2399 // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_propertyNam e_plus);
2400 // });
2401 // _ut.test('test_ngRepeat_filters_orderBy_propertyName_untypedItems', () {
2402 // final __test = new AngularHtmlUnitResolverTest();
2403 // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_propertyNam e_untypedItems);
2404 // });
2405 // _ut.test('test_ngRepeat_filters_two', () {
2406 // final __test = new AngularHtmlUnitResolverTest();
2407 // runJUnitTest(__test, __test.test_ngRepeat_filters_two);
2408 // });
2409 // _ut.test('test_ngRepeat_resolvedExpressions', () {
2410 // final __test = new AngularHtmlUnitResolverTest();
2411 // runJUnitTest(__test, __test.test_ngRepeat_resolvedExpressions);
2412 // });
2413 // _ut.test('test_ngRepeat_trackBy', () {
2414 // final __test = new AngularHtmlUnitResolverTest();
2415 // runJUnitTest(__test, __test.test_ngRepeat_trackBy);
2416 // });
2417 // _ut.test('test_ngShow', () {
2418 // final __test = new AngularHtmlUnitResolverTest();
2419 // runJUnitTest(__test, __test.test_ngShow);
2420 // });
2421 // _ut.test('test_notResolved_noDartScript', () {
2422 // final __test = new AngularHtmlUnitResolverTest();
2423 // runJUnitTest(__test, __test.test_notResolved_noDartScript);
2424 // });
2425 // _ut.test('test_notResolved_notAngular', () {
2426 // final __test = new AngularHtmlUnitResolverTest();
2427 // runJUnitTest(__test, __test.test_notResolved_notAngular);
2428 // });
2429 // _ut.test('test_notResolved_wrongControllerMarker', () {
2430 // final __test = new AngularHtmlUnitResolverTest();
2431 // runJUnitTest(__test, __test.test_notResolved_wrongControllerMarker);
2432 // });
2433 // _ut.test('test_resolveExpression_evenWithout_ngBootstrap', () {
2434 // final __test = new AngularHtmlUnitResolverTest();
2435 // runJUnitTest(__test, __test.test_resolveExpression_evenWithout_ngBoot strap);
2436 // });
2437 // _ut.test('test_resolveExpression_ignoreUnresolved', () {
2438 // final __test = new AngularHtmlUnitResolverTest();
2439 // runJUnitTest(__test, __test.test_resolveExpression_ignoreUnresolved);
2440 // });
2441 // _ut.test('test_resolveExpression_inAttribute', () {
2442 // final __test = new AngularHtmlUnitResolverTest();
2443 // runJUnitTest(__test, __test.test_resolveExpression_inAttribute);
2444 // });
2445 // _ut.test('test_resolveExpression_ngApp_onBody', () {
2446 // final __test = new AngularHtmlUnitResolverTest();
2447 // runJUnitTest(__test, __test.test_resolveExpression_ngApp_onBody);
2448 // });
2449 // _ut.test('test_resolveExpression_withFilter', () {
2450 // final __test = new AngularHtmlUnitResolverTest();
2451 // runJUnitTest(__test, __test.test_resolveExpression_withFilter);
2452 // });
2453 // _ut.test('test_resolveExpression_withFilter_notSimpleIdentifier', () {
2454 // final __test = new AngularHtmlUnitResolverTest();
2455 // runJUnitTest(__test, __test.test_resolveExpression_withFilter_notSimp leIdentifier);
2456 // });
2457 // _ut.test('test_scopeProperties', () {
2458 // final __test = new AngularHtmlUnitResolverTest();
2459 // runJUnitTest(__test, __test.test_scopeProperties);
2460 // });
2461 // _ut.test('test_scopeProperties_hideWithComponent', () {
2462 // final __test = new AngularHtmlUnitResolverTest();
2463 // runJUnitTest(__test, __test.test_scopeProperties_hideWithComponent);
2464 // });
2465 // _ut.test('test_view_resolveTemplateFile', () {
2466 // final __test = new AngularHtmlUnitResolverTest();
2467 // runJUnitTest(__test, __test.test_view_resolveTemplateFile);
2468 // });
2469 // });
2470 // }
2471 // }
2472 // /**
2473 // * Tests for [HtmlUnitUtils] for Angular HTMLs.
2474 // */
2475 // class AngularHtmlUnitUtilsTest extends AngularTest {
2476 // void test_getElement_forExpression() {
2477 // addMyController();
2478 // _resolveSimpleCtrlFieldHtml();
2479 // // prepare expression
2480 // int offset = indexContent.indexOf("ctrl");
2481 // Expression expression = HtmlUnitUtils.getExpression(indexUnit, offset);
2482 // // get element
2483 // Element element = HtmlUnitUtils.getElement(expression);
2484 // EngineTestCase.assertInstanceOf((obj) => obj is VariableElement, Variable Element, element);
2485 // JUnitTestCase.assertEquals("ctrl", element.name);
2486 // }
2487 // void test_getElement_forExpression_null() {
2488 // Element element = HtmlUnitUtils.getElement(null);
2489 // JUnitTestCase.assertNull(element);
2490 // }
2491 // void test_getElement_forOffset() {
2492 // addMyController();
2493 // _resolveSimpleCtrlFieldHtml();
2494 // // no expression
2495 // {
2496 // Element element = HtmlUnitUtils.getElementAtOffset(indexUnit, 0);
2497 // JUnitTestCase.assertNull(element);
2498 // }
2499 // // has expression at offset
2500 // {
2501 // int offset = indexContent.indexOf("field");
2502 // Element element = HtmlUnitUtils.getElementAtOffset(indexUnit, offset);
2503 // EngineTestCase.assertInstanceOf((obj) => obj is PropertyAccessorElement , PropertyAccessorElement, element);
2504 // JUnitTestCase.assertEquals("field", element.name);
2505 // }
2506 // }
2507 // void test_getElementToOpen_controller() {
2508 // addMyController();
2509 // _resolveSimpleCtrlFieldHtml();
2510 // // prepare expression
2511 // int offset = indexContent.indexOf("ctrl");
2512 // Expression expression = HtmlUnitUtils.getExpression(indexUnit, offset);
2513 // // get element
2514 // Element element = HtmlUnitUtils.getElementToOpen(indexUnit, expression);
2515 // EngineTestCase.assertInstanceOf((obj) => obj is AngularControllerElement, AngularControllerElement, element);
2516 // JUnitTestCase.assertEquals("ctrl", element.name);
2517 // }
2518 // void test_getElementToOpen_field() {
2519 // addMyController();
2520 // _resolveSimpleCtrlFieldHtml();
2521 // // prepare expression
2522 // int offset = indexContent.indexOf("field");
2523 // Expression expression = HtmlUnitUtils.getExpression(indexUnit, offset);
2524 // // get element
2525 // Element element = HtmlUnitUtils.getElementToOpen(indexUnit, expression);
2526 // EngineTestCase.assertInstanceOf((obj) => obj is PropertyAccessorElement, PropertyAccessorElement, element);
2527 // JUnitTestCase.assertEquals("field", element.name);
2528 // }
2529 // void test_getEnclosingTagNode() {
2530 // resolveIndex2(EngineTestCase.createSource([
2531 // "<html>",
2532 // " <body ng-app>",
2533 // " <badge name='abc'> 123 </badge>",
2534 // " </body>",
2535 // "</html>"]));
2536 // // no unit
2537 // JUnitTestCase.assertNull(HtmlUnitUtils.getEnclosingTagNode(null, 0));
2538 // // wrong offset
2539 // JUnitTestCase.assertNull(HtmlUnitUtils.getEnclosingTagNode(indexUnit, -1) );
2540 // // valid offset
2541 // XmlTagNode expected = _getEnclosingTagNode("<badge");
2542 // JUnitTestCase.assertNotNull(expected);
2543 // JUnitTestCase.assertEquals("badge", expected.tag);
2544 // JUnitTestCase.assertSame(expected, _getEnclosingTagNode("badge"));
2545 // JUnitTestCase.assertSame(expected, _getEnclosingTagNode("name="));
2546 // JUnitTestCase.assertSame(expected, _getEnclosingTagNode("123"));
2547 // JUnitTestCase.assertSame(expected, _getEnclosingTagNode("/badge"));
2548 // }
2549 // void test_getExpression() {
2550 // addMyController();
2551 // _resolveSimpleCtrlFieldHtml();
2552 // // try offset without expression
2553 // JUnitTestCase.assertNull(HtmlUnitUtils.getExpression(indexUnit, 0));
2554 // // try offset with expression
2555 // int offset = indexContent.indexOf("ctrl");
2556 // JUnitTestCase.assertNotNull(HtmlUnitUtils.getExpression(indexUnit, offset ));
2557 // JUnitTestCase.assertNotNull(HtmlUnitUtils.getExpression(indexUnit, offset + 1));
2558 // JUnitTestCase.assertNotNull(HtmlUnitUtils.getExpression(indexUnit, offset + 2));
2559 // JUnitTestCase.assertNotNull(HtmlUnitUtils.getExpression(indexUnit, offset + "ctrl.field".length));
2560 // // try without unit
2561 // JUnitTestCase.assertNull(HtmlUnitUtils.getExpression(null, offset));
2562 // }
2563 // void test_getTagNode() {
2564 // resolveIndex2(EngineTestCase.createSource([
2565 // "<html>",
2566 // " <body ng-app>",
2567 // " <badge name='abc'> 123 </badge> done",
2568 // " </body>",
2569 // "</html>"]));
2570 // // no unit
2571 // JUnitTestCase.assertNull(HtmlUnitUtils.getTagNode(null, 0));
2572 // // wrong offset
2573 // JUnitTestCase.assertNull(HtmlUnitUtils.getTagNode(indexUnit, -1));
2574 // // on tag name
2575 // XmlTagNode expected = _getTagNode("badge name=");
2576 // JUnitTestCase.assertNotNull(expected);
2577 // JUnitTestCase.assertEquals("badge", expected.tag);
2578 // JUnitTestCase.assertSame(expected, _getTagNode("badge"));
2579 // JUnitTestCase.assertSame(expected, _getTagNode(" name="));
2580 // JUnitTestCase.assertSame(expected, _getTagNode("adge name="));
2581 // JUnitTestCase.assertSame(expected, _getTagNode("badge>"));
2582 // JUnitTestCase.assertSame(expected, _getTagNode("adge>"));
2583 // JUnitTestCase.assertSame(expected, _getTagNode("> done"));
2584 // // in tag node, but not on the name token
2585 // JUnitTestCase.assertNull(_getTagNode("name="));
2586 // JUnitTestCase.assertNull(_getTagNode("123"));
2587 // }
2588 // XmlTagNode _getEnclosingTagNode(String search) => HtmlUnitUtils.getEnclosin gTagNode(indexUnit, indexContent.indexOf(search));
2589 // XmlTagNode _getTagNode(String search) => HtmlUnitUtils.getTagNode(indexUnit , indexContent.indexOf(search));
2590 // void _resolveSimpleCtrlFieldHtml() {
2591 // resolveIndex2(EngineTestCase.createSource([
2592 // "<html>",
2593 // " <body ng-app>",
2594 // " <div my-controller>",
2595 // " {{ctrl.field}}",
2596 // " </div>",
2597 // " <script type='application/dart' src='main.dart'></script>",
2598 // " </body>",
2599 // "</html>"]));
2600 // }
2601 // static dartSuite() {
2602 // _ut.group('AngularHtmlUnitUtilsTest', () {
2603 // _ut.test('test_getElementToOpen_controller', () {
2604 // final __test = new AngularHtmlUnitUtilsTest();
2605 // runJUnitTest(__test, __test.test_getElementToOpen_controller);
2606 // });
2607 // _ut.test('test_getElementToOpen_field', () {
2608 // final __test = new AngularHtmlUnitUtilsTest();
2609 // runJUnitTest(__test, __test.test_getElementToOpen_field);
2610 // });
2611 // _ut.test('test_getElement_forExpression', () {
2612 // final __test = new AngularHtmlUnitUtilsTest();
2613 // runJUnitTest(__test, __test.test_getElement_forExpression);
2614 // });
2615 // _ut.test('test_getElement_forExpression_null', () {
2616 // final __test = new AngularHtmlUnitUtilsTest();
2617 // runJUnitTest(__test, __test.test_getElement_forExpression_null);
2618 // });
2619 // _ut.test('test_getElement_forOffset', () {
2620 // final __test = new AngularHtmlUnitUtilsTest();
2621 // runJUnitTest(__test, __test.test_getElement_forOffset);
2622 // });
2623 // _ut.test('test_getEnclosingTagNode', () {
2624 // final __test = new AngularHtmlUnitUtilsTest();
2625 // runJUnitTest(__test, __test.test_getEnclosingTagNode);
2626 // });
2627 // _ut.test('test_getExpression', () {
2628 // final __test = new AngularHtmlUnitUtilsTest();
2629 // runJUnitTest(__test, __test.test_getExpression);
2630 // });
2631 // _ut.test('test_getTagNode', () {
2632 // final __test = new AngularHtmlUnitUtilsTest();
2633 // runJUnitTest(__test, __test.test_getTagNode);
2634 // });
2635 // });
2636 // }
2637 // }
2638 // abstract class AngularTest extends EngineTestCase {
2639 // /**
2640 // * Creates an HTML content that has Angular marker and script with "main.da rt" reference.
2641 // */
2642 // static String createHtmlWithAngular(List<String> lines) {
2643 // String source = EngineTestCase.createSource(["<html ng-app>", " <body>"] );
2644 // source += EngineTestCase.createSource(lines);
2645 // source += EngineTestCase.createSource([
2646 // " <script type='application/dart' src='main.dart'></script>",
2647 // " </body>",
2648 // "</html>"]);
2649 // return source;
2650 // }
2651 // /**
2652 // * Creates an HTML content that has Angular marker, script with "main.dart" reference and
2653 // * "MyController" injected.
2654 // */
2655 // static String createHtmlWithMyController(List<String> lines) {
2656 // String source = EngineTestCase.createSource(["<html ng-app>", " <body>", " <div my-controller>"]);
2657 // source += EngineTestCase.createSource(lines);
2658 // source += EngineTestCase.createSource([
2659 // " </div>",
2660 // " <script type='application/dart' src='main.dart'></script>",
2661 // " </body>",
2662 // "</html>"]);
2663 // return source;
2664 // }
2665 // /**
2666 // * Finds an [Element] with the given names inside of the given root [Elemen t].
2667 // *
2668 // * TODO(scheglov) maybe move this method to Element
2669 // *
2670 // * @param root the root [Element] to start searching from
2671 // * @param kind the kind of the [Element] to find, if `null` then any kind
2672 // * @param name the name of an [Element] to find
2673 // * @return the found [Element] or `null` if not found
2674 // */
2675 // static Element findElement(Element root, ElementKind kind, String name) {
2676 // List<Element> result = [null];
2677 // root.accept(new GeneralizingElementVisitor_AngularTest_findElement(kind, name, result));
2678 // return result[0] as Element;
2679 // }
2680 // /**
2681 // * Finds an [Element] with the given names inside of the given root [Elemen t].
2682 // *
2683 // * @param root the root [Element] to start searching from
2684 // * @param name the name of an [Element] to find
2685 // * @return the found [Element] or `null` if not found
2686 // */
2687 // static Element findElement2(Element root, String name) => findElement(root, null, name);
2688 // /**
2689 // * @return the offset of given <code>search</code> string in <code>content< /code>. Fails test if
2690 // * not found.
2691 // */
2692 // static int findOffset(String content, String search) {
2693 // int offset = content.indexOf(search);
2694 // assertThat(offset).describedAs(content).isNotEqualTo(-1);
2695 // return offset;
2696 // }
2697 // AnalysisContextHelper contextHelper = new AnalysisContextHelper();
2698 // AnalysisContext context;
2699 // String mainContent;
2700 // Source mainSource;
2701 // CompilationUnit mainUnit;
2702 // CompilationUnitElement mainUnitElement;
2703 // String indexContent;
2704 // Source indexSource;
2705 // HtmlUnit indexUnit;
2706 // HtmlElement indexHtmlUnit;
2707 // CompilationUnitElement indexDartUnitElement;
2708 // /**
2709 // * Fills [indexContent] and [indexSource].
2710 // */
2711 // void addIndexSource(String content) {
2712 // addIndexSource2("/index.html", content);
2713 // }
2714 // /**
2715 // * Fills [indexContent] and [indexSource].
2716 // */
2717 // void addIndexSource2(String name, String content) {
2718 // indexContent = content;
2719 // indexSource = contextHelper.addSource(name, indexContent);
2720 // }
2721 // /**
2722 // * Fills [mainContent] and [mainSource].
2723 // */
2724 // void addMainSource(String content) {
2725 // mainContent = content;
2726 // mainSource = contextHelper.addSource("/main.dart", content);
2727 // }
2728 // void addMyController() {
2729 // resolveMainSource(EngineTestCase.createSource([
2730 // "",
2731 // "import 'angular.dart';",
2732 // "",
2733 // "class Item {",
2734 // " String name;",
2735 // " bool done;",
2736 // "}",
2737 // "",
2738 // "@Controller(",
2739 // " selector: '[my-controller]',",
2740 // " publishAs: 'ctrl')",
2741 // "class MyController {",
2742 // " String field;",
2743 // " List<String> names;",
2744 // " List<Item> items;",
2745 // " var untypedItems;",
2746 // " doSomething(event) {}",
2747 // "}"]));
2748 // }
2749 // /**
2750 // * Assert that the number of errors reported against the given source match es the number of errors
2751 // * that are given and that they have the expected error codes. The order in which the errors were
2752 // * gathered is ignored.
2753 // *
2754 // * @param source the source against which the errors should have been repor ted
2755 // * @param expectedErrorCodes the error codes of the errors that should have been reported
2756 // * @throws AnalysisException if the reported errors could not be computed
2757 // * @throws AssertionFailedError if a different number of errors have been r eported than were
2758 // * expected
2759 // */
2760 // void assertErrors(Source source, List<ErrorCode> expectedErrorCodes) {
2761 // GatheringErrorListener errorListener = new GatheringErrorListener();
2762 // AnalysisErrorInfo errorsInfo = context.getErrors(source);
2763 // for (AnalysisError error in errorsInfo.errors) {
2764 // errorListener.onError(error);
2765 // }
2766 // errorListener.assertErrorsWithCodes(expectedErrorCodes);
2767 // }
2768 // void assertMainErrors(List<ErrorCode> expectedErrorCodes) {
2769 // assertErrors(mainSource, expectedErrorCodes);
2770 // }
2771 // /**
2772 // * Assert that no errors have been reported against the [indexSource].
2773 // */
2774 // void assertNoErrors() {
2775 // assertErrors(indexSource, []);
2776 // }
2777 // void assertNoErrors2(Source source) {
2778 // assertErrors(source, []);
2779 // }
2780 // /**
2781 // * Assert that no errors have been reported against the [mainSource].
2782 // */
2783 // void assertNoMainErrors() {
2784 // assertErrors(mainSource, []);
2785 // }
2786 // /**
2787 // * Checks that [indexHtmlUnit] has [SimpleIdentifier] with given name, reso lved to
2788 // * not `null` [Element].
2789 // */
2790 // Element assertResolvedIdentifier(String name) {
2791 // SimpleIdentifier identifier = findIdentifier(name);
2792 // // check Element
2793 // Element element = identifier.bestElement;
2794 // JUnitTestCase.assertNotNull(element);
2795 // // return Element for further analysis
2796 // return element;
2797 // }
2798 // Element assertResolvedIdentifier2(String name, String expectedTypeName) {
2799 // SimpleIdentifier identifier = findIdentifier(name);
2800 // // check Element
2801 // Element element = identifier.bestElement;
2802 // JUnitTestCase.assertNotNull(element);
2803 // // check Type
2804 // DartType type = identifier.bestType;
2805 // JUnitTestCase.assertNotNull(type);
2806 // JUnitTestCase.assertEquals(expectedTypeName, type.toString());
2807 // // return Element for further analysis
2808 // return element;
2809 // }
2810 // /**
2811 // * @return [AstNode] which has required offset and type.
2812 // */
2813 // AstNode findExpression(int offset, Type clazz) {
2814 // Expression expression = HtmlUnitUtils.getExpression(indexUnit, offset);
2815 // return expression != null ? expression.getAncestor(predicate) : null;
2816 // }
2817 // /**
2818 // * Returns the [SimpleIdentifier] at the given search pattern. Fails if not found.
2819 // */
2820 // SimpleIdentifier findIdentifier(String search) {
2821 // SimpleIdentifier identifier = findIdentifierMaybe(search);
2822 // JUnitTestCase.assertNotNullMsg("${search} in ${indexContent}", identifier );
2823 // // check that offset/length of the identifier is valid
2824 // {
2825 // int offset = identifier.offset;
2826 // int end = identifier.end;
2827 // String contentStr = indexContent.substring(offset, end);
2828 // JUnitTestCase.assertEquals(identifier.name, contentStr);
2829 // }
2830 // // done
2831 // return identifier;
2832 // }
2833 // /**
2834 // * Returns the [SimpleIdentifier] at the given search pattern, or `null` if not found.
2835 // */
2836 // SimpleIdentifier findIdentifierMaybe(String search) => findExpression(findO ffset2(search), SimpleIdentifier);
2837 // /**
2838 // * Returns [Element] from [indexDartUnitElement].
2839 // */
2840 // Element findIndexElement(String name) => findElement2(indexDartUnitElement, name);
2841 // /**
2842 // * Returns [Element] from [mainUnitElement].
2843 // */
2844 // Element findMainElement(ElementKind kind, String name) => findElement(mainU nitElement, kind, name);
2845 // /**
2846 // * Returns [Element] from [mainUnitElement].
2847 // */
2848 // Element findMainElement2(String name) => findElement2(mainUnitElement, name );
2849 // /**
2850 // * @return the offset of given <code>search</code> string in [mainContent]. Fails test if
2851 // * not found.
2852 // */
2853 // int findMainOffset(String search) => findOffset(mainContent, search);
2854 // /**
2855 // * @return the offset of given <code>search</code> string in [indexContent] . Fails test if
2856 // * not found.
2857 // */
2858 // int findOffset2(String search) => findOffset(indexContent, search);
2859 // /**
2860 // * Resolves [indexSource].
2861 // */
2862 // void resolveIndex() {
2863 // indexUnit = context.resolveHtmlUnit(indexSource);
2864 // indexHtmlUnit = indexUnit.element;
2865 // indexDartUnitElement = indexHtmlUnit.angularCompilationUnit;
2866 // }
2867 // void resolveIndex2(String content) {
2868 // addIndexSource(content);
2869 // contextHelper.runTasks();
2870 // resolveIndex();
2871 // }
2872 // /**
2873 // * Resolves [mainSource].
2874 // */
2875 // void resolveMain() {
2876 // mainUnit = contextHelper.resolveDefiningUnit(mainSource);
2877 // mainUnitElement = mainUnit.element;
2878 // }
2879 // /**
2880 // * Resolves [mainSource].
2881 // */
2882 // void resolveMainNoErrors() {
2883 // resolveMain();
2884 // assertNoErrors2(mainSource);
2885 // }
2886 // void resolveMainSource(String content) {
2887 // addMainSource(content);
2888 // resolveMain();
2889 // }
2890 // void resolveMainSourceNoErrors(String content) {
2891 // resolveMainSource(content);
2892 // assertNoErrors2(mainSource);
2893 // }
2894 // @override
2895 // void setUp() {
2896 // super.setUp();
2897 // _configureForAngular(contextHelper);
2898 // context = contextHelper.context;
2899 // }
2900 // @override
2901 // void tearDown() {
2902 // contextHelper = null;
2903 // context = null;
2904 // // main
2905 // mainContent = null;
2906 // mainSource = null;
2907 // mainUnit = null;
2908 // mainUnitElement = null;
2909 // // index
2910 // indexContent = null;
2911 // indexSource = null;
2912 // indexUnit = null;
2913 // indexHtmlUnit = null;
2914 // indexDartUnitElement = null;
2915 // // super
2916 // super.tearDown();
2917 // }
2918 // /**
2919 // * Verify that all of the identifiers in the HTML units associated with the given sources have
2920 // * been resolved.
2921 // *
2922 // * @param sources the sources identifying the compilation units to be verif ied
2923 // * @throws Exception if the contents of the compilation unit cannot be acce ssed
2924 // */
2925 // void verify(List<Source> sources) {
2926 // ResolutionVerifier verifier = new ResolutionVerifier();
2927 // for (Source source in sources) {
2928 // HtmlUnit htmlUnit = context.getResolvedHtmlUnit(source);
2929 // htmlUnit.accept(new ExpressionVisitor_AngularTest_verify(verifier));
2930 // }
2931 // verifier.assertResolved();
2932 // }
2933 // void _configureForAngular(AnalysisContextHelper contextHelper) {
2934 // contextHelper.addSource("/angular.dart", EngineTestCase.createSource([
2935 // "library angular;",
2936 // "",
2937 // "class Scope {",
2938 // " Map context;",
2939 // "}",
2940 // "",
2941 // "class Formatter {",
2942 // " final String name;",
2943 // " const Formatter({this.name});",
2944 // "}",
2945 // "",
2946 // "class Directive {",
2947 // " const Directive({",
2948 // " selector,",
2949 // " children,",
2950 // " visibility,",
2951 // " module,",
2952 // " map,",
2953 // " exportedExpressions,",
2954 // " exportedExpressionAttrs",
2955 // " });",
2956 // "}",
2957 // "",
2958 // "class Decorator {",
2959 // " const Decorator({",
2960 // " children/*: Directive.COMPILE_CHILDREN*/,",
2961 // " map,",
2962 // " selector,",
2963 // " module,",
2964 // " visibility,",
2965 // " exportedExpressions,",
2966 // " exportedExpressionAttrs",
2967 // " });",
2968 // "}",
2969 // "",
2970 // "class Controller {",
2971 // " const Controller({",
2972 // " children,",
2973 // " publishAs,",
2974 // " map,",
2975 // " selector,",
2976 // " visibility,",
2977 // " publishTypes,",
2978 // " exportedExpressions,",
2979 // " exportedExpressionAttrs",
2980 // " });",
2981 // "}",
2982 // "",
2983 // "class NgAttr {",
2984 // " const NgAttr(String name);",
2985 // "}",
2986 // "class NgCallback {",
2987 // " const NgCallback(String name);",
2988 // "}",
2989 // "class NgOneWay {",
2990 // " const NgOneWay(String name);",
2991 // "}",
2992 // "class NgOneWayOneTime {",
2993 // " const NgOneWayOneTime(String name);",
2994 // "}",
2995 // "class NgTwoWay {",
2996 // " const NgTwoWay(String name);",
2997 // "}",
2998 // "",
2999 // "class Component extends Directive {",
3000 // " const Component({",
3001 // " this.template,",
3002 // " this.templateUrl,",
3003 // " this.cssUrl,",
3004 // " this.applyAuthorStyles,",
3005 // " this.resetStyleInheritance,",
3006 // " publishAs,",
3007 // " module,",
3008 // " map,",
3009 // " selector,",
3010 // " visibility,",
3011 // " exportExpressions,",
3012 // " exportExpressionAttrs",
3013 // " }) : super(selector: selector,",
3014 // " children: null/*NgAnnotation.COMPILE_CHILDREN*/,",
3015 // " visibility: visibility,",
3016 // " map: map,",
3017 // " module: module,",
3018 // " exportExpressions: exportExpressions,",
3019 // " exportExpressionAttrs: exportExpressionAttrs);",
3020 // "}",
3021 // "",
3022 // "@Decorator(selector: '[ng-click]', map: const {'ng-click': '&onEvent '})",
3023 // "@Decorator(selector: '[ng-mouseout]', map: const {'ng-mouseout': '&o nEvent'})",
3024 // "class NgEventDirective {",
3025 // " set onEvent(value) {}",
3026 // "}",
3027 // "",
3028 // "@Decorator(selector: '[ng-if]', map: const {'ng-if': '=>condition'}) ",
3029 // "class NgIfDirective {",
3030 // " set condition(value) {}",
3031 // "}",
3032 // "",
3033 // "@Decorator(selector: '[ng-show]', map: const {'ng-show': '=>show'})" ,
3034 // "class NgShowDirective {",
3035 // " set show(value) {}",
3036 // "}",
3037 // "",
3038 // "@Formatter(name: 'filter')",
3039 // "class FilterFormatter {}",
3040 // "",
3041 // "@Formatter(name: 'orderBy')",
3042 // "class OrderByFilter {}",
3043 // "",
3044 // "@Formatter(name: 'uppercase')",
3045 // "class UppercaseFilter {}",
3046 // "",
3047 // "class ViewFactory {",
3048 // " call(String templateUrl) => null;",
3049 // "}",
3050 // "",
3051 // "class Module {",
3052 // " install(Module m) {}",
3053 // " type(Type t) {}",
3054 // " value(Type t, value) {}",
3055 // "}",
3056 // "",
3057 // "class Injector {}",
3058 // "",
3059 // "Injector ngBootstrap({",
3060 // " Module module: null,",
3061 // " List<Module> modules: null,",
3062 // " /*dom.Element*/ element: null,",
3063 // " String selector: '[ng-app]',",
3064 // " /*Injector*/ injectorFactory/*(List<Module> modules): _defau ltInjectorFactory*/}) {}",
3065 // ""]));
3066 // }
3067 // }
3068 // class ConstantEvaluatorTest extends ResolverTestCase {
3069 // void fail_constructor() {
3070 // EvaluationResult result = _getExpressionValue("?");
3071 // JUnitTestCase.assertTrue(result.isValid);
3072 // DartObject value = result.value;
3073 // JUnitTestCase.assertEquals(null, value);
3074 // }
3075 // void fail_identifier_class() {
3076 // EvaluationResult result = _getExpressionValue("?");
3077 // JUnitTestCase.assertTrue(result.isValid);
3078 // DartObject value = result.value;
3079 // JUnitTestCase.assertEquals(null, value);
3080 // }
3081 // void fail_identifier_function() {
3082 // EvaluationResult result = _getExpressionValue("?");
3083 // JUnitTestCase.assertTrue(result.isValid);
3084 // DartObject value = result.value;
3085 // JUnitTestCase.assertEquals(null, value);
3086 // }
3087 // void fail_identifier_static() {
3088 // EvaluationResult result = _getExpressionValue("?");
3089 // JUnitTestCase.assertTrue(result.isValid);
3090 // DartObject value = result.value;
3091 // JUnitTestCase.assertEquals(null, value);
3092 // }
3093 // void fail_identifier_staticMethod() {
3094 // EvaluationResult result = _getExpressionValue("?");
3095 // JUnitTestCase.assertTrue(result.isValid);
3096 // DartObject value = result.value;
3097 // JUnitTestCase.assertEquals(null, value);
3098 // }
3099 // void fail_identifier_topLevel() {
3100 // EvaluationResult result = _getExpressionValue("?");
3101 // JUnitTestCase.assertTrue(result.isValid);
3102 // DartObject value = result.value;
3103 // JUnitTestCase.assertEquals(null, value);
3104 // }
3105 // void fail_identifier_typeParameter() {
3106 // EvaluationResult result = _getExpressionValue("?");
3107 // JUnitTestCase.assertTrue(result.isValid);
3108 // DartObject value = result.value;
3109 // JUnitTestCase.assertEquals(null, value);
3110 // }
3111 // void fail_prefixedIdentifier_invalid() {
3112 // EvaluationResult result = _getExpressionValue("?");
3113 // JUnitTestCase.assertTrue(result.isValid);
3114 // DartObject value = result.value;
3115 // JUnitTestCase.assertEquals(null, value);
3116 // }
3117 // void fail_prefixedIdentifier_valid() {
3118 // EvaluationResult result = _getExpressionValue("?");
3119 // JUnitTestCase.assertTrue(result.isValid);
3120 // DartObject value = result.value;
3121 // JUnitTestCase.assertEquals(null, value);
3122 // }
3123 // void fail_propertyAccess_invalid() {
3124 // EvaluationResult result = _getExpressionValue("?");
3125 // JUnitTestCase.assertTrue(result.isValid);
3126 // DartObject value = result.value;
3127 // JUnitTestCase.assertEquals(null, value);
3128 // }
3129 // void fail_propertyAccess_valid() {
3130 // EvaluationResult result = _getExpressionValue("?");
3131 // JUnitTestCase.assertTrue(result.isValid);
3132 // DartObject value = result.value;
3133 // JUnitTestCase.assertEquals(null, value);
3134 // }
3135 // void fail_simpleIdentifier_invalid() {
3136 // EvaluationResult result = _getExpressionValue("?");
3137 // JUnitTestCase.assertTrue(result.isValid);
3138 // DartObject value = result.value;
3139 // JUnitTestCase.assertEquals(null, value);
3140 // }
3141 // void fail_simpleIdentifier_valid() {
3142 // EvaluationResult result = _getExpressionValue("?");
3143 // JUnitTestCase.assertTrue(result.isValid);
3144 // DartObject value = result.value;
3145 // JUnitTestCase.assertEquals(null, value);
3146 // }
3147 // void test_bitAnd_int_int() {
3148 // _assertValue3(74 & 42, "74 & 42");
3149 // }
3150 // void test_bitNot() {
3151 // _assertValue3(~42, "~42");
3152 // }
3153 // void test_bitOr_int_int() {
3154 // _assertValue3(74 | 42, "74 | 42");
3155 // }
3156 // void test_bitXor_int_int() {
3157 // _assertValue3(74 ^ 42, "74 ^ 42");
3158 // }
3159 // void test_divide_double_double() {
3160 // _assertValue2(3.2 / 2.3, "3.2 / 2.3");
3161 // }
3162 // void test_divide_double_double_byZero() {
3163 // EvaluationResult result = _getExpressionValue("3.2 / 0.0");
3164 // JUnitTestCase.assertTrue(result.isValid);
3165 // DartObject value = result.value;
3166 // JUnitTestCase.assertEquals("double", value.type.name);
3167 // JUnitTestCase.assertTrue(value.doubleValue.isInfinite());
3168 // }
3169 // void test_divide_int_int() {
3170 // _assertValue3(1, "3 / 2");
3171 // }
3172 // void test_divide_int_int_byZero() {
3173 // EvaluationResult result = _getExpressionValue("3 / 0");
3174 // JUnitTestCase.assertTrue(result.isValid);
3175 // }
3176 // void test_equal_boolean_boolean() {
3177 // _assertValue(false, "true == false");
3178 // }
3179 // void test_equal_int_int() {
3180 // _assertValue(false, "2 == 3");
3181 // }
3182 // void test_equal_invalidLeft() {
3183 // EvaluationResult result = _getExpressionValue("a == 3");
3184 // JUnitTestCase.assertFalse(result.isValid);
3185 // }
3186 // void test_equal_invalidRight() {
3187 // EvaluationResult result = _getExpressionValue("2 == a");
3188 // JUnitTestCase.assertFalse(result.isValid);
3189 // }
3190 // void test_equal_string_string() {
3191 // _assertValue(false, "'a' == 'b'");
3192 // }
3193 // void test_greaterThan_int_int() {
3194 // _assertValue(false, "2 > 3");
3195 // }
3196 // void test_greaterThanOrEqual_int_int() {
3197 // _assertValue(false, "2 >= 3");
3198 // }
3199 // void test_leftShift_int_int() {
3200 // _assertValue3(64, "16 << 2");
3201 // }
3202 // void test_lessThan_int_int() {
3203 // _assertValue(true, "2 < 3");
3204 // }
3205 // void test_lessThanOrEqual_int_int() {
3206 // _assertValue(true, "2 <= 3");
3207 // }
3208 // void test_literal_boolean_false() {
3209 // _assertValue(false, "false");
3210 // }
3211 // void test_literal_boolean_true() {
3212 // _assertValue(true, "true");
3213 // }
3214 // void test_literal_list() {
3215 // EvaluationResult result = _getExpressionValue("const ['a', 'b', 'c']");
3216 // JUnitTestCase.assertTrue(result.isValid);
3217 // }
3218 // void test_literal_map() {
3219 // EvaluationResult result = _getExpressionValue("const {'a' : 'm', 'b' : 'n ', 'c' : 'o'}");
3220 // JUnitTestCase.assertTrue(result.isValid);
3221 // }
3222 // void test_literal_null() {
3223 // EvaluationResult result = _getExpressionValue("null");
3224 // JUnitTestCase.assertTrue(result.isValid);
3225 // DartObject value = result.value;
3226 // JUnitTestCase.assertTrue(value.isNull);
3227 // }
3228 // void test_literal_number_double() {
3229 // _assertValue2(3.45, "3.45");
3230 // }
3231 // void test_literal_number_integer() {
3232 // _assertValue3(42, "42");
3233 // }
3234 // void test_literal_string_adjacent() {
3235 // _assertValue4("abcdef", "'abc' 'def'");
3236 // }
3237 // void test_literal_string_interpolation_invalid() {
3238 // EvaluationResult result = _getExpressionValue("'a\${f()}c'");
3239 // JUnitTestCase.assertFalse(result.isValid);
3240 // }
3241 // void test_literal_string_interpolation_valid() {
3242 // _assertValue4("a3c", "'a\${3}c'");
3243 // }
3244 // void test_literal_string_simple() {
3245 // _assertValue4("abc", "'abc'");
3246 // }
3247 // void test_logicalAnd() {
3248 // _assertValue(false, "true && false");
3249 // }
3250 // void test_logicalNot() {
3251 // _assertValue(false, "!true");
3252 // }
3253 // void test_logicalOr() {
3254 // _assertValue(true, "true || false");
3255 // }
3256 // void test_minus_double_double() {
3257 // _assertValue2(3.2 - 2.3, "3.2 - 2.3");
3258 // }
3259 // void test_minus_int_int() {
3260 // _assertValue3(1, "3 - 2");
3261 // }
3262 // void test_negated_boolean() {
3263 // EvaluationResult result = _getExpressionValue("-true");
3264 // JUnitTestCase.assertFalse(result.isValid);
3265 // }
3266 // void test_negated_double() {
3267 // _assertValue2(-42.3, "-42.3");
3268 // }
3269 // void test_negated_integer() {
3270 // _assertValue3(-42, "-42");
3271 // }
3272 // void test_notEqual_boolean_boolean() {
3273 // _assertValue(true, "true != false");
3274 // }
3275 // void test_notEqual_int_int() {
3276 // _assertValue(true, "2 != 3");
3277 // }
3278 // void test_notEqual_invalidLeft() {
3279 // EvaluationResult result = _getExpressionValue("a != 3");
3280 // JUnitTestCase.assertFalse(result.isValid);
3281 // }
3282 // void test_notEqual_invalidRight() {
3283 // EvaluationResult result = _getExpressionValue("2 != a");
3284 // JUnitTestCase.assertFalse(result.isValid);
3285 // }
3286 // void test_notEqual_string_string() {
3287 // _assertValue(true, "'a' != 'b'");
3288 // }
3289 // void test_parenthesizedExpression() {
3290 // _assertValue4("a", "('a')");
3291 // }
3292 // void test_plus_double_double() {
3293 // _assertValue2(2.3 + 3.2, "2.3 + 3.2");
3294 // }
3295 // void test_plus_int_int() {
3296 // _assertValue3(5, "2 + 3");
3297 // }
3298 // void test_remainder_double_double() {
3299 // _assertValue2(3.2 % 2.3, "3.2 % 2.3");
3300 // }
3301 // void test_remainder_int_int() {
3302 // _assertValue3(2, "8 % 3");
3303 // }
3304 // void test_rightShift() {
3305 // _assertValue3(16, "64 >> 2");
3306 // }
3307 // void test_times_double_double() {
3308 // _assertValue2(2.3 * 3.2, "2.3 * 3.2");
3309 // }
3310 // void test_times_int_int() {
3311 // _assertValue3(6, "2 * 3");
3312 // }
3313 // void test_truncatingDivide_double_double() {
3314 // _assertValue3(1, "3.2 ~/ 2.3");
3315 // }
3316 // void test_truncatingDivide_int_int() {
3317 // _assertValue3(3, "10 ~/ 3");
3318 // }
3319 // void _assertValue(bool expectedValue, String contents) {
3320 // EvaluationResult result = _getExpressionValue(contents);
3321 // DartObject value = result.value;
3322 // JUnitTestCase.assertEquals("bool", value.type.name);
3323 // JUnitTestCase.assertEquals(expectedValue, value.boolValue);
3324 // }
3325 // void _assertValue2(double expectedValue, String contents) {
3326 // EvaluationResult result = _getExpressionValue(contents);
3327 // JUnitTestCase.assertTrue(result.isValid);
3328 // DartObject value = result.value;
3329 // JUnitTestCase.assertEquals("double", value.type.name);
3330 // JUnitTestCase.assertEqualsMsg(expectedValue, value.doubleValue, 0.0);
3331 // }
3332 // void _assertValue3(int expectedValue, String contents) {
3333 // EvaluationResult result = _getExpressionValue(contents);
3334 // JUnitTestCase.assertTrue(result.isValid);
3335 // DartObject value = result.value;
3336 // JUnitTestCase.assertEquals("int", value.type.name);
3337 // JUnitTestCase.assertEquals(expectedValue, value.intValue.longValue());
3338 // }
3339 // void _assertValue4(String expectedValue, String contents) {
3340 // EvaluationResult result = _getExpressionValue(contents);
3341 // DartObject value = result.value;
3342 // JUnitTestCase.assertEquals("String", value.type.name);
3343 // JUnitTestCase.assertEquals(expectedValue, value.stringValue);
3344 // }
3345 // EvaluationResult _getExpressionValue(String contents) {
3346 // Source source = addSource("var x = ${contents};");
3347 // LibraryElement library = resolve(source);
3348 // CompilationUnit unit = analysisContext.resolveCompilationUnit(source, lib rary);
3349 // JUnitTestCase.assertNotNull(unit);
3350 // NodeList<CompilationUnitMember> declarations = unit.declarations;
3351 // EngineTestCase.assertSizeOfList(1, declarations);
3352 // CompilationUnitMember declaration = declarations[0];
3353 // EngineTestCase.assertInstanceOf((obj) => obj is TopLevelVariableDeclarati on, TopLevelVariableDeclaration, declaration);
3354 // NodeList<VariableDeclaration> variables = (declaration as TopLevelVariabl eDeclaration).variables.variables;
3355 // EngineTestCase.assertSizeOfList(1, variables);
3356 // ConstantEvaluator evaluator = new ConstantEvaluator(source, new TestTypeP rovider());
3357 // return evaluator.evaluate(variables[0].initializer);
3358 // }
3359 // static dartSuite() {
3360 // _ut.group('ConstantEvaluatorTest', () {
3361 // _ut.test('test_bitAnd_int_int', () {
3362 // final __test = new ConstantEvaluatorTest();
3363 // runJUnitTest(__test, __test.test_bitAnd_int_int);
3364 // });
3365 // _ut.test('test_bitNot', () {
3366 // final __test = new ConstantEvaluatorTest();
3367 // runJUnitTest(__test, __test.test_bitNot);
3368 // });
3369 // _ut.test('test_bitOr_int_int', () {
3370 // final __test = new ConstantEvaluatorTest();
3371 // runJUnitTest(__test, __test.test_bitOr_int_int);
3372 // });
3373 // _ut.test('test_bitXor_int_int', () {
3374 // final __test = new ConstantEvaluatorTest();
3375 // runJUnitTest(__test, __test.test_bitXor_int_int);
3376 // });
3377 // _ut.test('test_divide_double_double', () {
3378 // final __test = new ConstantEvaluatorTest();
3379 // runJUnitTest(__test, __test.test_divide_double_double);
3380 // });
3381 // _ut.test('test_divide_double_double_byZero', () {
3382 // final __test = new ConstantEvaluatorTest();
3383 // runJUnitTest(__test, __test.test_divide_double_double_byZero);
3384 // });
3385 // _ut.test('test_divide_int_int', () {
3386 // final __test = new ConstantEvaluatorTest();
3387 // runJUnitTest(__test, __test.test_divide_int_int);
3388 // });
3389 // _ut.test('test_divide_int_int_byZero', () {
3390 // final __test = new ConstantEvaluatorTest();
3391 // runJUnitTest(__test, __test.test_divide_int_int_byZero);
3392 // });
3393 // _ut.test('test_equal_boolean_boolean', () {
3394 // final __test = new ConstantEvaluatorTest();
3395 // runJUnitTest(__test, __test.test_equal_boolean_boolean);
3396 // });
3397 // _ut.test('test_equal_int_int', () {
3398 // final __test = new ConstantEvaluatorTest();
3399 // runJUnitTest(__test, __test.test_equal_int_int);
3400 // });
3401 // _ut.test('test_equal_invalidLeft', () {
3402 // final __test = new ConstantEvaluatorTest();
3403 // runJUnitTest(__test, __test.test_equal_invalidLeft);
3404 // });
3405 // _ut.test('test_equal_invalidRight', () {
3406 // final __test = new ConstantEvaluatorTest();
3407 // runJUnitTest(__test, __test.test_equal_invalidRight);
3408 // });
3409 // _ut.test('test_equal_string_string', () {
3410 // final __test = new ConstantEvaluatorTest();
3411 // runJUnitTest(__test, __test.test_equal_string_string);
3412 // });
3413 // _ut.test('test_greaterThanOrEqual_int_int', () {
3414 // final __test = new ConstantEvaluatorTest();
3415 // runJUnitTest(__test, __test.test_greaterThanOrEqual_int_int);
3416 // });
3417 // _ut.test('test_greaterThan_int_int', () {
3418 // final __test = new ConstantEvaluatorTest();
3419 // runJUnitTest(__test, __test.test_greaterThan_int_int);
3420 // });
3421 // _ut.test('test_leftShift_int_int', () {
3422 // final __test = new ConstantEvaluatorTest();
3423 // runJUnitTest(__test, __test.test_leftShift_int_int);
3424 // });
3425 // _ut.test('test_lessThanOrEqual_int_int', () {
3426 // final __test = new ConstantEvaluatorTest();
3427 // runJUnitTest(__test, __test.test_lessThanOrEqual_int_int);
3428 // });
3429 // _ut.test('test_lessThan_int_int', () {
3430 // final __test = new ConstantEvaluatorTest();
3431 // runJUnitTest(__test, __test.test_lessThan_int_int);
3432 // });
3433 // _ut.test('test_literal_boolean_false', () {
3434 // final __test = new ConstantEvaluatorTest();
3435 // runJUnitTest(__test, __test.test_literal_boolean_false);
3436 // });
3437 // _ut.test('test_literal_boolean_true', () {
3438 // final __test = new ConstantEvaluatorTest();
3439 // runJUnitTest(__test, __test.test_literal_boolean_true);
3440 // });
3441 // _ut.test('test_literal_list', () {
3442 // final __test = new ConstantEvaluatorTest();
3443 // runJUnitTest(__test, __test.test_literal_list);
3444 // });
3445 // _ut.test('test_literal_map', () {
3446 // final __test = new ConstantEvaluatorTest();
3447 // runJUnitTest(__test, __test.test_literal_map);
3448 // });
3449 // _ut.test('test_literal_null', () {
3450 // final __test = new ConstantEvaluatorTest();
3451 // runJUnitTest(__test, __test.test_literal_null);
3452 // });
3453 // _ut.test('test_literal_number_double', () {
3454 // final __test = new ConstantEvaluatorTest();
3455 // runJUnitTest(__test, __test.test_literal_number_double);
3456 // });
3457 // _ut.test('test_literal_number_integer', () {
3458 // final __test = new ConstantEvaluatorTest();
3459 // runJUnitTest(__test, __test.test_literal_number_integer);
3460 // });
3461 // _ut.test('test_literal_string_adjacent', () {
3462 // final __test = new ConstantEvaluatorTest();
3463 // runJUnitTest(__test, __test.test_literal_string_adjacent);
3464 // });
3465 // _ut.test('test_literal_string_interpolation_invalid', () {
3466 // final __test = new ConstantEvaluatorTest();
3467 // runJUnitTest(__test, __test.test_literal_string_interpolation_invalid );
3468 // });
3469 // _ut.test('test_literal_string_interpolation_valid', () {
3470 // final __test = new ConstantEvaluatorTest();
3471 // runJUnitTest(__test, __test.test_literal_string_interpolation_valid);
3472 // });
3473 // _ut.test('test_literal_string_simple', () {
3474 // final __test = new ConstantEvaluatorTest();
3475 // runJUnitTest(__test, __test.test_literal_string_simple);
3476 // });
3477 // _ut.test('test_logicalAnd', () {
3478 // final __test = new ConstantEvaluatorTest();
3479 // runJUnitTest(__test, __test.test_logicalAnd);
3480 // });
3481 // _ut.test('test_logicalNot', () {
3482 // final __test = new ConstantEvaluatorTest();
3483 // runJUnitTest(__test, __test.test_logicalNot);
3484 // });
3485 // _ut.test('test_logicalOr', () {
3486 // final __test = new ConstantEvaluatorTest();
3487 // runJUnitTest(__test, __test.test_logicalOr);
3488 // });
3489 // _ut.test('test_minus_double_double', () {
3490 // final __test = new ConstantEvaluatorTest();
3491 // runJUnitTest(__test, __test.test_minus_double_double);
3492 // });
3493 // _ut.test('test_minus_int_int', () {
3494 // final __test = new ConstantEvaluatorTest();
3495 // runJUnitTest(__test, __test.test_minus_int_int);
3496 // });
3497 // _ut.test('test_negated_boolean', () {
3498 // final __test = new ConstantEvaluatorTest();
3499 // runJUnitTest(__test, __test.test_negated_boolean);
3500 // });
3501 // _ut.test('test_negated_double', () {
3502 // final __test = new ConstantEvaluatorTest();
3503 // runJUnitTest(__test, __test.test_negated_double);
3504 // });
3505 // _ut.test('test_negated_integer', () {
3506 // final __test = new ConstantEvaluatorTest();
3507 // runJUnitTest(__test, __test.test_negated_integer);
3508 // });
3509 // _ut.test('test_notEqual_boolean_boolean', () {
3510 // final __test = new ConstantEvaluatorTest();
3511 // runJUnitTest(__test, __test.test_notEqual_boolean_boolean);
3512 // });
3513 // _ut.test('test_notEqual_int_int', () {
3514 // final __test = new ConstantEvaluatorTest();
3515 // runJUnitTest(__test, __test.test_notEqual_int_int);
3516 // });
3517 // _ut.test('test_notEqual_invalidLeft', () {
3518 // final __test = new ConstantEvaluatorTest();
3519 // runJUnitTest(__test, __test.test_notEqual_invalidLeft);
3520 // });
3521 // _ut.test('test_notEqual_invalidRight', () {
3522 // final __test = new ConstantEvaluatorTest();
3523 // runJUnitTest(__test, __test.test_notEqual_invalidRight);
3524 // });
3525 // _ut.test('test_notEqual_string_string', () {
3526 // final __test = new ConstantEvaluatorTest();
3527 // runJUnitTest(__test, __test.test_notEqual_string_string);
3528 // });
3529 // _ut.test('test_parenthesizedExpression', () {
3530 // final __test = new ConstantEvaluatorTest();
3531 // runJUnitTest(__test, __test.test_parenthesizedExpression);
3532 // });
3533 // _ut.test('test_plus_double_double', () {
3534 // final __test = new ConstantEvaluatorTest();
3535 // runJUnitTest(__test, __test.test_plus_double_double);
3536 // });
3537 // _ut.test('test_plus_int_int', () {
3538 // final __test = new ConstantEvaluatorTest();
3539 // runJUnitTest(__test, __test.test_plus_int_int);
3540 // });
3541 // _ut.test('test_remainder_double_double', () {
3542 // final __test = new ConstantEvaluatorTest();
3543 // runJUnitTest(__test, __test.test_remainder_double_double);
3544 // });
3545 // _ut.test('test_remainder_int_int', () {
3546 // final __test = new ConstantEvaluatorTest();
3547 // runJUnitTest(__test, __test.test_remainder_int_int);
3548 // });
3549 // _ut.test('test_rightShift', () {
3550 // final __test = new ConstantEvaluatorTest();
3551 // runJUnitTest(__test, __test.test_rightShift);
3552 // });
3553 // _ut.test('test_times_double_double', () {
3554 // final __test = new ConstantEvaluatorTest();
3555 // runJUnitTest(__test, __test.test_times_double_double);
3556 // });
3557 // _ut.test('test_times_int_int', () {
3558 // final __test = new ConstantEvaluatorTest();
3559 // runJUnitTest(__test, __test.test_times_int_int);
3560 // });
3561 // _ut.test('test_truncatingDivide_double_double', () {
3562 // final __test = new ConstantEvaluatorTest();
3563 // runJUnitTest(__test, __test.test_truncatingDivide_double_double);
3564 // });
3565 // _ut.test('test_truncatingDivide_int_int', () {
3566 // final __test = new ConstantEvaluatorTest();
3567 // runJUnitTest(__test, __test.test_truncatingDivide_int_int);
3568 // });
3569 // });
3570 // }
3571 // }
3572 // class ConstantFinderTest extends EngineTestCase {
3573 // AstNode _node;
3574 // void test_visitConstructorDeclaration_const() {
3575 // ConstructorElement element = _setupConstructorDeclaration("A", true);
3576 // JUnitTestCase.assertSame(_node, _findConstantDeclarations()[element]);
3577 // }
3578 // void test_visitConstructorDeclaration_nonConst() {
3579 // _setupConstructorDeclaration("A", false);
3580 // JUnitTestCase.assertTrue(_findConstantDeclarations().isEmpty);
3581 // }
3582 // void test_visitInstanceCreationExpression_const() {
3583 // _setupInstanceCreationExpression("A", true);
3584 // JUnitTestCase.assertTrue(_findConstructorInvocations().contains(_node));
3585 // }
3586 // void test_visitInstanceCreationExpression_nonConst() {
3587 // _setupInstanceCreationExpression("A", false);
3588 // JUnitTestCase.assertTrue(_findConstructorInvocations().isEmpty);
3589 // }
3590 // void test_visitVariableDeclaration_const() {
3591 // VariableElement element = _setupVariableDeclaration("v", true, true);
3592 // JUnitTestCase.assertSame(_node, _findVariableDeclarations()[element]);
3593 // }
3594 // void test_visitVariableDeclaration_noInitializer() {
3595 // _setupVariableDeclaration("v", true, false);
3596 // JUnitTestCase.assertTrue(_findVariableDeclarations().isEmpty);
3597 // }
3598 // void test_visitVariableDeclaration_nonConst() {
3599 // _setupVariableDeclaration("v", false, true);
3600 // JUnitTestCase.assertTrue(_findVariableDeclarations().isEmpty);
3601 // }
3602 // HashMap<ConstructorElement, ConstructorDeclaration> _findConstantDeclaratio ns() {
3603 // ConstantFinder finder = new ConstantFinder();
3604 // _node.accept(finder);
3605 // HashMap<ConstructorElement, ConstructorDeclaration> constructorMap = find er.constructorMap;
3606 // JUnitTestCase.assertNotNull(constructorMap);
3607 // return constructorMap;
3608 // }
3609 // List<InstanceCreationExpression> _findConstructorInvocations() {
3610 // ConstantFinder finder = new ConstantFinder();
3611 // _node.accept(finder);
3612 // List<InstanceCreationExpression> constructorInvocations = finder.construc torInvocations;
3613 // JUnitTestCase.assertNotNull(constructorInvocations);
3614 // return constructorInvocations;
3615 // }
3616 // HashMap<VariableElement, VariableDeclaration> _findVariableDeclarations() {
3617 // ConstantFinder finder = new ConstantFinder();
3618 // _node.accept(finder);
3619 // HashMap<VariableElement, VariableDeclaration> variableMap = finder.variab leMap;
3620 // JUnitTestCase.assertNotNull(variableMap);
3621 // return variableMap;
3622 // }
3623 // ConstructorElement _setupConstructorDeclaration(String name, bool isConst) {
3624 // Keyword constKeyword = isConst ? Keyword.CONST : null;
3625 // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDec laration2(constKeyword, null, null, name, AstFactory.formalParameterList([]), nu ll, AstFactory.blockFunctionBody2([]));
3626 // ClassElement classElement = ElementFactory.classElement2(name, []);
3627 // ConstructorElement element = ElementFactory.constructorElement(classEleme nt, name, isConst, []);
3628 // constructorDeclaration.element = element;
3629 // _node = constructorDeclaration;
3630 // return element;
3631 // }
3632 // void _setupInstanceCreationExpression(String name, bool isConst) {
3633 // _node = AstFactory.instanceCreationExpression2(isConst ? Keyword.CONST : null, AstFactory.typeName3(AstFactory.identifier3(name), []), []);
3634 // }
3635 // VariableElement _setupVariableDeclaration(String name, bool isConst, bool i sInitialized) {
3636 // VariableDeclaration variableDeclaration = isInitialized ? AstFactory.vari ableDeclaration2(name, AstFactory.integer(0)) : AstFactory.variableDeclaration(n ame);
3637 // SimpleIdentifier identifier = variableDeclaration.name;
3638 // VariableElement element = ElementFactory.localVariableElement(identifier) ;
3639 // identifier.staticElement = element;
3640 // AstFactory.variableDeclarationList2(isConst ? Keyword.CONST : null, [vari ableDeclaration]);
3641 // _node = variableDeclaration;
3642 // return element;
3643 // }
3644 // static dartSuite() {
3645 // _ut.group('ConstantFinderTest', () {
3646 // _ut.test('test_visitConstructorDeclaration_const', () {
3647 // final __test = new ConstantFinderTest();
3648 // runJUnitTest(__test, __test.test_visitConstructorDeclaration_const);
3649 // });
3650 // _ut.test('test_visitConstructorDeclaration_nonConst', () {
3651 // final __test = new ConstantFinderTest();
3652 // runJUnitTest(__test, __test.test_visitConstructorDeclaration_nonConst );
3653 // });
3654 // _ut.test('test_visitInstanceCreationExpression_const', () {
3655 // final __test = new ConstantFinderTest();
3656 // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_cons t);
3657 // });
3658 // _ut.test('test_visitInstanceCreationExpression_nonConst', () {
3659 // final __test = new ConstantFinderTest();
3660 // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_nonC onst);
3661 // });
3662 // _ut.test('test_visitVariableDeclaration_const', () {
3663 // final __test = new ConstantFinderTest();
3664 // runJUnitTest(__test, __test.test_visitVariableDeclaration_const);
3665 // });
3666 // _ut.test('test_visitVariableDeclaration_noInitializer', () {
3667 // final __test = new ConstantFinderTest();
3668 // runJUnitTest(__test, __test.test_visitVariableDeclaration_noInitializ er);
3669 // });
3670 // _ut.test('test_visitVariableDeclaration_nonConst', () {
3671 // final __test = new ConstantFinderTest();
3672 // runJUnitTest(__test, __test.test_visitVariableDeclaration_nonConst);
3673 // });
3674 // });
3675 // }
3676 // }
3677 // class ConstantValueComputerTest extends ResolverTestCase {
3678 // void test_computeValues_cycle() {
3679 // TestLogger logger = new TestLogger();
3680 // AnalysisEngine.instance.logger = logger;
3681 // Source librarySource = addSource(EngineTestCase.createSource([
3682 // "const int a = c;",
3683 // "const int b = a;",
3684 // "const int c = b;"]));
3685 // LibraryElement libraryElement = resolve(librarySource);
3686 // CompilationUnit unit = analysisContext.resolveCompilationUnit(librarySour ce, libraryElement);
3687 // analysisContext.computeErrors(librarySource);
3688 // JUnitTestCase.assertNotNull(unit);
3689 // ConstantValueComputer computer = _makeConstantValueComputer();
3690 // computer.add(unit);
3691 // computer.computeValues();
3692 // NodeList<CompilationUnitMember> members = unit.declarations;
3693 // EngineTestCase.assertSizeOfList(3, members);
3694 // _validate(false, (members[0] as TopLevelVariableDeclaration).variables);
3695 // _validate(false, (members[1] as TopLevelVariableDeclaration).variables);
3696 // _validate(false, (members[2] as TopLevelVariableDeclaration).variables);
3697 // }
3698 // void test_computeValues_dependentVariables() {
3699 // Source librarySource = addSource(EngineTestCase.createSource(["const int b = a;", "const int a = 0;"]));
3700 // LibraryElement libraryElement = resolve(librarySource);
3701 // CompilationUnit unit = analysisContext.resolveCompilationUnit(librarySour ce, libraryElement);
3702 // JUnitTestCase.assertNotNull(unit);
3703 // ConstantValueComputer computer = _makeConstantValueComputer();
3704 // computer.add(unit);
3705 // computer.computeValues();
3706 // NodeList<CompilationUnitMember> members = unit.declarations;
3707 // EngineTestCase.assertSizeOfList(2, members);
3708 // _validate(true, (members[0] as TopLevelVariableDeclaration).variables);
3709 // _validate(true, (members[1] as TopLevelVariableDeclaration).variables);
3710 // }
3711 // void test_computeValues_empty() {
3712 // ConstantValueComputer computer = _makeConstantValueComputer();
3713 // computer.computeValues();
3714 // }
3715 // void test_computeValues_multipleSources() {
3716 // Source librarySource = addNamedSource("/lib.dart", EngineTestCase.createS ource([
3717 // "library lib;",
3718 // "part 'part.dart';",
3719 // "const int c = b;",
3720 // "const int a = 0;"]));
3721 // Source partSource = addNamedSource("/part.dart", EngineTestCase.createSou rce(["part of lib;", "const int b = a;", "const int d = c;"]));
3722 // LibraryElement libraryElement = resolve(librarySource);
3723 // CompilationUnit libraryUnit = analysisContext.resolveCompilationUnit(libr arySource, libraryElement);
3724 // JUnitTestCase.assertNotNull(libraryUnit);
3725 // CompilationUnit partUnit = analysisContext.resolveCompilationUnit(partSou rce, libraryElement);
3726 // JUnitTestCase.assertNotNull(partUnit);
3727 // ConstantValueComputer computer = _makeConstantValueComputer();
3728 // computer.add(libraryUnit);
3729 // computer.add(partUnit);
3730 // computer.computeValues();
3731 // NodeList<CompilationUnitMember> libraryMembers = libraryUnit.declarations ;
3732 // EngineTestCase.assertSizeOfList(2, libraryMembers);
3733 // _validate(true, (libraryMembers[0] as TopLevelVariableDeclaration).variab les);
3734 // _validate(true, (libraryMembers[1] as TopLevelVariableDeclaration).variab les);
3735 // NodeList<CompilationUnitMember> partMembers = libraryUnit.declarations;
3736 // EngineTestCase.assertSizeOfList(2, partMembers);
3737 // _validate(true, (partMembers[0] as TopLevelVariableDeclaration).variables );
3738 // _validate(true, (partMembers[1] as TopLevelVariableDeclaration).variables );
3739 // }
3740 // void test_computeValues_singleVariable() {
3741 // Source librarySource = addSource("const int a = 0;");
3742 // LibraryElement libraryElement = resolve(librarySource);
3743 // CompilationUnit unit = analysisContext.resolveCompilationUnit(librarySour ce, libraryElement);
3744 // JUnitTestCase.assertNotNull(unit);
3745 // ConstantValueComputer computer = _makeConstantValueComputer();
3746 // computer.add(unit);
3747 // computer.computeValues();
3748 // NodeList<CompilationUnitMember> members = unit.declarations;
3749 // EngineTestCase.assertSizeOfList(1, members);
3750 // _validate(true, (members[0] as TopLevelVariableDeclaration).variables);
3751 // }
3752 // void test_dependencyOnConstructor() {
3753 // // x depends on "const A()"
3754 // _assertProperDependencies(EngineTestCase.createSource(["class A {", " co nst A();", "}", "const x = const A();"]), []);
3755 // }
3756 // void test_dependencyOnConstructorArgument() {
3757 // // "const A(x)" depends on x
3758 // _assertProperDependencies(EngineTestCase.createSource([
3759 // "class A {",
3760 // " const A(this.next);",
3761 // " final A next;",
3762 // "}",
3763 // "const A x = const A(null);",
3764 // "const A y = const A(x);"]), []);
3765 // }
3766 // void test_dependencyOnConstructorArgument_unresolvedConstructor() {
3767 // // "const A.a(x)" depends on x even if the constructor A.a can't be found .
3768 // // TODO(paulberry): the error CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE i s redundant and
3769 // // probably shouldn't be issued.
3770 // _assertProperDependencies(EngineTestCase.createSource([
3771 // "class A {",
3772 // "}",
3773 // "const int x = 1;",
3774 // "const A y = const A.a(x);"]), [
3775 // CompileTimeErrorCode.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE,
3776 // CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR]);
3777 // }
3778 // void test_dependencyOnConstructorInitializer() {
3779 // // "const A()" depends on x
3780 // _assertProperDependencies(EngineTestCase.createSource([
3781 // "const int x = 1;",
3782 // "class A {",
3783 // " const A() : v = x;",
3784 // " final int v;",
3785 // "}"]), []);
3786 // }
3787 // void test_dependencyOnExplicitSuperConstructor() {
3788 // // b depends on B() depends on A()
3789 // _assertProperDependencies(EngineTestCase.createSource([
3790 // "class A {",
3791 // " const A(this.x);",
3792 // " final int x;",
3793 // "}",
3794 // "class B extends A {",
3795 // " const B() : super(5);",
3796 // "}",
3797 // "const B b = const B();"]), []);
3798 // }
3799 // void test_dependencyOnExplicitSuperConstructorParameters() {
3800 // // b depends on B() depends on i
3801 // _assertProperDependencies(EngineTestCase.createSource([
3802 // "class A {",
3803 // " const A(this.x);",
3804 // " final int x;",
3805 // "}",
3806 // "class B extends A {",
3807 // " const B() : super(i);",
3808 // "}",
3809 // "const B b = const B();",
3810 // "const int i = 5;"]), []);
3811 // }
3812 // void test_dependencyOnFactoryRedirect() {
3813 // // a depends on A.foo() depends on A.bar()
3814 // _assertProperDependencies(EngineTestCase.createSource([
3815 // "const A a = const A.foo();",
3816 // "class A {",
3817 // " factory const A.foo() = A.bar;",
3818 // " const A.bar();",
3819 // "}"]), []);
3820 // }
3821 // void test_dependencyOnFactoryRedirectWithTypeParams() {
3822 // _assertProperDependencies(EngineTestCase.createSource([
3823 // "class A {",
3824 // " const factory A(var a) = B<int>;",
3825 // "}",
3826 // "",
3827 // "class B<T> implements A {",
3828 // " final T x;",
3829 // " const B(this.x);",
3830 // "}",
3831 // "",
3832 // "const A a = const A(10);"]), []);
3833 // }
3834 // void test_dependencyOnImplicitSuperConstructor() {
3835 // // b depends on B() depends on A()
3836 // _assertProperDependencies(EngineTestCase.createSource([
3837 // "class A {",
3838 // " const A() : x = 5;",
3839 // " final int x;",
3840 // "}",
3841 // "class B extends A {",
3842 // " const B();",
3843 // "}",
3844 // "const B b = const B();"]), []);
3845 // }
3846 // void test_dependencyOnOptionalParameterDefault() {
3847 // // a depends on A() depends on B()
3848 // _assertProperDependencies(EngineTestCase.createSource([
3849 // "class A {",
3850 // " const A([x = const B()]) : b = x;",
3851 // " final B b;",
3852 // "}",
3853 // "class B {",
3854 // " const B();",
3855 // "}",
3856 // "const A a = const A();"]), []);
3857 // }
3858 // void test_dependencyOnVariable() {
3859 // // x depends on y
3860 // _assertProperDependencies(EngineTestCase.createSource(["const x = y + 1;" , "const y = 2;"]), []);
3861 // }
3862 // void test_fromEnvironment_bool_default_false() {
3863 // JUnitTestCase.assertEquals(false, _assertValidBool(_check_fromEnvironment _bool(null, "false")));
3864 // }
3865 // void test_fromEnvironment_bool_default_overridden() {
3866 // JUnitTestCase.assertEquals(false, _assertValidBool(_check_fromEnvironment _bool("false", "true")));
3867 // }
3868 // void test_fromEnvironment_bool_default_parseError() {
3869 // JUnitTestCase.assertEquals(true, _assertValidBool(_check_fromEnvironment_ bool("parseError", "true")));
3870 // }
3871 // void test_fromEnvironment_bool_default_true() {
3872 // JUnitTestCase.assertEquals(true, _assertValidBool(_check_fromEnvironment_ bool(null, "true")));
3873 // }
3874 // void test_fromEnvironment_bool_false() {
3875 // JUnitTestCase.assertEquals(false, _assertValidBool(_check_fromEnvironment _bool("false", null)));
3876 // }
3877 // void test_fromEnvironment_bool_parseError() {
3878 // JUnitTestCase.assertEquals(false, _assertValidBool(_check_fromEnvironment _bool("parseError", null)));
3879 // }
3880 // void test_fromEnvironment_bool_true() {
3881 // JUnitTestCase.assertEquals(true, _assertValidBool(_check_fromEnvironment_ bool("true", null)));
3882 // }
3883 // void test_fromEnvironment_bool_undeclared() {
3884 // _assertValidUnknown(_check_fromEnvironment_bool(null, null));
3885 // }
3886 // void test_fromEnvironment_int_default_overridden() {
3887 // JUnitTestCase.assertEquals(234, _assertValidInt(_check_fromEnvironment_in t("234", "123")));
3888 // }
3889 // void test_fromEnvironment_int_default_parseError() {
3890 // JUnitTestCase.assertEquals(123, _assertValidInt(_check_fromEnvironment_in t("parseError", "123")));
3891 // }
3892 // void test_fromEnvironment_int_default_undeclared() {
3893 // JUnitTestCase.assertEquals(123, _assertValidInt(_check_fromEnvironment_in t(null, "123")));
3894 // }
3895 // void test_fromEnvironment_int_ok() {
3896 // JUnitTestCase.assertEquals(234, _assertValidInt(_check_fromEnvironment_in t("234", null)));
3897 // }
3898 // void test_fromEnvironment_int_parseError() {
3899 // _assertValidNull(_check_fromEnvironment_int("parseError", null));
3900 // }
3901 // void test_fromEnvironment_int_parseError_nullDefault() {
3902 // _assertValidNull(_check_fromEnvironment_int("parseError", "null"));
3903 // }
3904 // void test_fromEnvironment_int_undeclared() {
3905 // _assertValidUnknown(_check_fromEnvironment_int(null, null));
3906 // }
3907 // void test_fromEnvironment_int_undeclared_nullDefault() {
3908 // _assertValidNull(_check_fromEnvironment_int(null, "null"));
3909 // }
3910 // void test_fromEnvironment_string_default_overridden() {
3911 // JUnitTestCase.assertEquals("abc", _assertValidString(_check_fromEnvironme nt_string("abc", "'def'")));
3912 // }
3913 // void test_fromEnvironment_string_default_undeclared() {
3914 // JUnitTestCase.assertEquals("def", _assertValidString(_check_fromEnvironme nt_string(null, "'def'")));
3915 // }
3916 // void test_fromEnvironment_string_empty() {
3917 // JUnitTestCase.assertEquals("", _assertValidString(_check_fromEnvironment_ string("", null)));
3918 // }
3919 // void test_fromEnvironment_string_ok() {
3920 // JUnitTestCase.assertEquals("abc", _assertValidString(_check_fromEnvironme nt_string("abc", null)));
3921 // }
3922 // void test_fromEnvironment_string_undeclared() {
3923 // _assertValidUnknown(_check_fromEnvironment_string(null, null));
3924 // }
3925 // void test_fromEnvironment_string_undeclared_nullDefault() {
3926 // _assertValidNull(_check_fromEnvironment_string(null, "null"));
3927 // }
3928 // void test_instanceCreationExpression_computedField() {
3929 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
3930 // "const foo = const A(4, 5);",
3931 // "class A {",
3932 // " const A(int i, int j) : k = 2 * i + j;",
3933 // " final int k;",
3934 // "}"]));
3935 // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compila tionUnit, "foo");
3936 // HashMap<String, DartObjectImpl> fields = _assertType(result, "A");
3937 // EngineTestCase.assertSizeOfMap(1, fields);
3938 // _assertIntField(fields, "k", 13);
3939 // }
3940 // void test_instanceCreationExpression_computedField_namedOptionalWithDefault () {
3941 // _checkInstanceCreationOptionalParams(false, true, true);
3942 // }
3943 // void test_instanceCreationExpression_computedField_namedOptionalWithoutDefa ult() {
3944 // _checkInstanceCreationOptionalParams(false, true, false);
3945 // }
3946 // void test_instanceCreationExpression_computedField_unnamedOptionalWithDefau lt() {
3947 // _checkInstanceCreationOptionalParams(false, false, true);
3948 // }
3949 // void test_instanceCreationExpression_computedField_unnamedOptionalWithoutDe fault() {
3950 // _checkInstanceCreationOptionalParams(false, false, false);
3951 // }
3952 // void test_instanceCreationExpression_computedField_usesConstConstructor() {
3953 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
3954 // "const foo = const A(3);",
3955 // "class A {",
3956 // " const A(int i) : b = const B(4);",
3957 // " final int b;",
3958 // "}",
3959 // "class B {",
3960 // " const B(this.k);",
3961 // " final int k;",
3962 // "}"]));
3963 // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compila tionUnit, "foo");
3964 // HashMap<String, DartObjectImpl> fieldsOfA = _assertType(result, "A");
3965 // EngineTestCase.assertSizeOfMap(1, fieldsOfA);
3966 // HashMap<String, DartObjectImpl> fieldsOfB = _assertFieldType(fieldsOfA, " b", "B");
3967 // EngineTestCase.assertSizeOfMap(1, fieldsOfB);
3968 // _assertIntField(fieldsOfB, "k", 4);
3969 // }
3970 // void test_instanceCreationExpression_computedField_usesStaticConst() {
3971 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
3972 // "const foo = const A(3);",
3973 // "class A {",
3974 // " const A(int i) : k = i + B.bar;",
3975 // " final int k;",
3976 // "}",
3977 // "class B {",
3978 // " static const bar = 4;",
3979 // "}"]));
3980 // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compila tionUnit, "foo");
3981 // HashMap<String, DartObjectImpl> fields = _assertType(result, "A");
3982 // EngineTestCase.assertSizeOfMap(1, fields);
3983 // _assertIntField(fields, "k", 7);
3984 // }
3985 // void test_instanceCreationExpression_computedField_usesToplevelConst() {
3986 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
3987 // "const foo = const A(3);",
3988 // "const bar = 4;",
3989 // "class A {",
3990 // " const A(int i) : k = i + bar;",
3991 // " final int k;",
3992 // "}"]));
3993 // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compila tionUnit, "foo");
3994 // HashMap<String, DartObjectImpl> fields = _assertType(result, "A");
3995 // EngineTestCase.assertSizeOfMap(1, fields);
3996 // _assertIntField(fields, "k", 7);
3997 // }
3998 // void test_instanceCreationExpression_explicitSuper() {
3999 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4000 // "const foo = const B(4, 5);",
4001 // "class A {",
4002 // " const A(this.x);",
4003 // " final int x;",
4004 // "}",
4005 // "class B extends A {",
4006 // " const B(int x, this.y) : super(x * 2);",
4007 // " final int y;",
4008 // "}"]));
4009 // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compila tionUnit, "foo");
4010 // HashMap<String, DartObjectImpl> fields = _assertType(result, "B");
4011 // EngineTestCase.assertSizeOfMap(2, fields);
4012 // _assertIntField(fields, "y", 5);
4013 // HashMap<String, DartObjectImpl> superclassFields = _assertFieldType(field s, GenericState.SUPERCLASS_FIELD, "A");
4014 // EngineTestCase.assertSizeOfMap(1, superclassFields);
4015 // _assertIntField(superclassFields, "x", 8);
4016 // }
4017 // void test_instanceCreationExpression_fieldFormalParameter() {
4018 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4019 // "const foo = const A(42);",
4020 // "class A {",
4021 // " int x;",
4022 // " const A(this.x)",
4023 // "}"]));
4024 // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compila tionUnit, "foo");
4025 // HashMap<String, DartObjectImpl> fields = _assertType(result, "A");
4026 // EngineTestCase.assertSizeOfMap(1, fields);
4027 // _assertIntField(fields, "x", 42);
4028 // }
4029 // void test_instanceCreationExpression_fieldFormalParameter_namedOptionalWith Default() {
4030 // _checkInstanceCreationOptionalParams(true, true, true);
4031 // }
4032 // void test_instanceCreationExpression_fieldFormalParameter_namedOptionalWith outDefault() {
4033 // _checkInstanceCreationOptionalParams(true, true, false);
4034 // }
4035 // void test_instanceCreationExpression_fieldFormalParameter_unnamedOptionalWi thDefault() {
4036 // _checkInstanceCreationOptionalParams(true, false, true);
4037 // }
4038 // void test_instanceCreationExpression_fieldFormalParameter_unnamedOptionalWi thoutDefault() {
4039 // _checkInstanceCreationOptionalParams(true, false, false);
4040 // }
4041 // void test_instanceCreationExpression_implicitSuper() {
4042 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4043 // "const foo = const B(4);",
4044 // "class A {",
4045 // " const A() : x(3);",
4046 // " final int x;",
4047 // "}",
4048 // "class B extends A {",
4049 // " const B(this.y);",
4050 // " final int y;",
4051 // "}"]));
4052 // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compila tionUnit, "foo");
4053 // HashMap<String, DartObjectImpl> fields = _assertType(result, "B");
4054 // EngineTestCase.assertSizeOfMap(2, fields);
4055 // _assertIntField(fields, "y", 4);
4056 // HashMap<String, DartObjectImpl> superclassFields = _assertFieldType(field s, GenericState.SUPERCLASS_FIELD, "A");
4057 // EngineTestCase.assertSizeOfMap(1, superclassFields);
4058 // _assertIntField(superclassFields, "x", 3);
4059 // }
4060 // void test_instanceCreationExpression_redirect() {
4061 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4062 // "const foo = const A();",
4063 // "class A {",
4064 // " const factory A() = B;",
4065 // "}",
4066 // "class B implements A {",
4067 // " const B();",
4068 // "}"]));
4069 // _assertType(_evaluateInstanceCreationExpression(compilationUnit, "foo"), "B");
4070 // }
4071 // void test_instanceCreationExpression_redirect_cycle() {
4072 // // It is an error to have a cycle in factory redirects; however, we need
4073 // // to make sure that even if the error occurs, attempting to evaluate the
4074 // // constant will terminate.
4075 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4076 // "const foo = const A();",
4077 // "class A {",
4078 // " const factory A() = A.b;",
4079 // " const factory A.b() = A;",
4080 // "}"]));
4081 // _assertValidUnknown(_evaluateInstanceCreationExpression(compilationUnit, "foo"));
4082 // }
4083 // void test_instanceCreationExpression_redirect_extern() {
4084 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4085 // "const foo = const A();",
4086 // "class A {",
4087 // " external const factory A();",
4088 // "}"]));
4089 // _assertValidUnknown(_evaluateInstanceCreationExpression(compilationUnit, "foo"));
4090 // }
4091 // void test_instanceCreationExpression_redirect_nonConst() {
4092 // // It is an error for a const factory constructor redirect to a non-const
4093 // // constructor; however, we need to make sure that even if the error
4094 // // attempting to evaluate the constant won't cause a crash.
4095 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4096 // "const foo = const A();",
4097 // "class A {",
4098 // " const factory A() = A.b;",
4099 // " A.b();",
4100 // "}"]));
4101 // _assertValidUnknown(_evaluateInstanceCreationExpression(compilationUnit, "foo"));
4102 // }
4103 // void test_instanceCreationExpression_redirectWithTypeParams() {
4104 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4105 // "class A {",
4106 // " const factory A(var a) = B<int>;",
4107 // "}",
4108 // "",
4109 // "class B<T> implements A {",
4110 // " final T x;",
4111 // " const B(this.x);",
4112 // "}",
4113 // "",
4114 // "const A a = const A(10);"]));
4115 // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compila tionUnit, "a");
4116 // HashMap<String, DartObjectImpl> fields = _assertType(result, "B<int>");
4117 // EngineTestCase.assertSizeOfMap(1, fields);
4118 // _assertIntField(fields, "x", 10);
4119 // }
4120 // void test_instanceCreationExpression_redirectWithTypeSubstitution() {
4121 // // To evaluate the redirection of A<int>, A's template argument (T=int) m ust be substituted
4122 // // into B's template argument (B<U> where U=T) to get B<int>.
4123 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4124 // "class A<T> {",
4125 // " const factory A(var a) = B<T>;",
4126 // "}",
4127 // "",
4128 // "class B<U> implements A {",
4129 // " final U x;",
4130 // " const B(this.x);",
4131 // "}",
4132 // "",
4133 // "const A<int> a = const A<int>(10);"]));
4134 // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compila tionUnit, "a");
4135 // HashMap<String, DartObjectImpl> fields = _assertType(result, "B<int>");
4136 // EngineTestCase.assertSizeOfMap(1, fields);
4137 // _assertIntField(fields, "x", 10);
4138 // }
4139 // void test_instanceCreationExpression_symbol() {
4140 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce(["const foo = const Symbol('a');"]));
4141 // EvaluationResultImpl evaluationResult = _evaluateInstanceCreationExpressi on(compilationUnit, "foo");
4142 // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, evaluationResult);
4143 // DartObjectImpl value = (evaluationResult as ValidResult).value;
4144 // JUnitTestCase.assertEquals(typeProvider.symbolType, value.type);
4145 // JUnitTestCase.assertEquals("a", value.value);
4146 // }
4147 // void test_instanceCreationExpression_withSupertypeParams_explicit() {
4148 // _checkInstanceCreation_withSupertypeParams(true);
4149 // }
4150 // void test_instanceCreationExpression_withSupertypeParams_implicit() {
4151 // _checkInstanceCreation_withSupertypeParams(false);
4152 // }
4153 // void test_instanceCreationExpression_withTypeParams() {
4154 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4155 // "class C<E> {",
4156 // " const C();",
4157 // "}",
4158 // "const c_int = const C<int>();",
4159 // "const c_num = const C<num>();"]));
4160 // EvaluationResultImpl c_int = _evaluateInstanceCreationExpression(compilat ionUnit, "c_int");
4161 // _assertType(c_int, "C<int>");
4162 // DartObjectImpl c_int_value = (c_int as ValidResult).value;
4163 // EvaluationResultImpl c_num = _evaluateInstanceCreationExpression(compilat ionUnit, "c_num");
4164 // _assertType(c_num, "C<num>");
4165 // DartObjectImpl c_num_value = (c_num as ValidResult).value;
4166 // JUnitTestCase.assertFalse(c_int_value == c_num_value);
4167 // }
4168 // void test_isValidSymbol() {
4169 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol(""));
4170 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo") );
4171 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo.b ar"));
4172 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo\$ "));
4173 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo\$ bar"));
4174 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("iff") );
4175 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("gif") );
4176 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("if\$" ));
4177 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("\$if" ));
4178 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo=" ));
4179 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo.b ar="));
4180 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo.+ "));
4181 // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("void" ));
4182 // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("_foo "));
4183 // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("_foo .bar"));
4184 // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("foo. _bar"));
4185 // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("if") );
4186 // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("if.f oo"));
4187 // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("foo. if"));
4188 // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("foo= .bar"));
4189 // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("foo. "));
4190 // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("+.fo o"));
4191 // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("void .foo"));
4192 // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("foo. void"));
4193 // }
4194 // void test_symbolLiteral_void() {
4195 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce(["const voidSymbol = #void;"]));
4196 // VariableDeclaration voidSymbol = findTopLevelDeclaration(compilationUnit, "voidSymbol");
4197 // EvaluationResultImpl voidSymbolResult = (voidSymbol.element as VariableEl ementImpl).evaluationResult;
4198 // DartObjectImpl value = (voidSymbolResult as ValidResult).value;
4199 // JUnitTestCase.assertEquals(typeProvider.symbolType, value.type);
4200 // JUnitTestCase.assertEquals("void", value.value);
4201 // }
4202 // HashMap<String, DartObjectImpl> _assertFieldType(HashMap<String, DartObject Impl> fields, String fieldName, String expectedType) {
4203 // DartObjectImpl field = fields[fieldName];
4204 // JUnitTestCase.assertEquals(expectedType, field.type.displayName);
4205 // return field.fields;
4206 // }
4207 // void _assertIntField(HashMap<String, DartObjectImpl> fields, String fieldNa me, int expectedValue) {
4208 // DartObjectImpl field = fields[fieldName];
4209 // JUnitTestCase.assertEquals("int", field.type.name);
4210 // JUnitTestCase.assertEquals(expectedValue, field.intValue.longValue());
4211 // }
4212 // void _assertNullField(HashMap<String, DartObjectImpl> fields, String fieldN ame) {
4213 // DartObjectImpl field = fields[fieldName];
4214 // JUnitTestCase.assertTrue(field.isNull);
4215 // }
4216 // void _assertProperDependencies(String sourceText, List<ErrorCode> expectedE rrorCodes) {
4217 // Source source = addSource(sourceText);
4218 // LibraryElement element = resolve(source);
4219 // CompilationUnit unit = analysisContext.resolveCompilationUnit(source, ele ment);
4220 // JUnitTestCase.assertNotNull(unit);
4221 // ConstantValueComputer computer = _makeConstantValueComputer();
4222 // computer.add(unit);
4223 // computer.computeValues();
4224 // assertErrors(source, expectedErrorCodes);
4225 // }
4226 // HashMap<String, DartObjectImpl> _assertType(EvaluationResultImpl result, St ring typeName) {
4227 // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result);
4228 // DartObjectImpl value = (result as ValidResult).value;
4229 // JUnitTestCase.assertEquals(typeName, value.type.displayName);
4230 // return value.fields;
4231 // }
4232 // bool _assertValidBool(EvaluationResultImpl result) {
4233 // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result);
4234 // DartObjectImpl value = (result as ValidResult).value;
4235 // JUnitTestCase.assertEquals(typeProvider.boolType, value.type);
4236 // bool boolValue = value.boolValue;
4237 // JUnitTestCase.assertNotNull(boolValue);
4238 // return boolValue;
4239 // }
4240 // int _assertValidInt(EvaluationResultImpl result) {
4241 // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result);
4242 // DartObjectImpl value = (result as ValidResult).value;
4243 // JUnitTestCase.assertEquals(typeProvider.intType, value.type);
4244 // return value.intValue;
4245 // }
4246 // void _assertValidNull(EvaluationResultImpl result) {
4247 // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result);
4248 // DartObjectImpl value = (result as ValidResult).value;
4249 // JUnitTestCase.assertEquals(typeProvider.nullType, value.type);
4250 // }
4251 // String _assertValidString(EvaluationResultImpl result) {
4252 // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result);
4253 // DartObjectImpl value = (result as ValidResult).value;
4254 // JUnitTestCase.assertEquals(typeProvider.stringType, value.type);
4255 // return value.stringValue;
4256 // }
4257 // void _assertValidUnknown(EvaluationResultImpl result) {
4258 // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result);
4259 // DartObjectImpl value = (result as ValidResult).value;
4260 // JUnitTestCase.assertTrue(value.isUnknown);
4261 // }
4262 // EvaluationResultImpl _check_fromEnvironment_bool(String valueInEnvironment, String defaultExpr) {
4263 // String envVarName = "x";
4264 // String varName = "foo";
4265 // if (valueInEnvironment != null) {
4266 // analysisContext2.declaredVariables.define(envVarName, valueInEnvironmen t);
4267 // }
4268 // String defaultArg = defaultExpr == null ? "" : ", defaultValue: ${default Expr}";
4269 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce(["const ${varName} = const bool.fromEnvironment('${envVarName}'${defaultArg}) ;"]));
4270 // return _evaluateInstanceCreationExpression(compilationUnit, varName);
4271 // }
4272 // EvaluationResultImpl _check_fromEnvironment_int(String valueInEnvironment, String defaultExpr) {
4273 // String envVarName = "x";
4274 // String varName = "foo";
4275 // if (valueInEnvironment != null) {
4276 // analysisContext2.declaredVariables.define(envVarName, valueInEnvironmen t);
4277 // }
4278 // String defaultArg = defaultExpr == null ? "" : ", defaultValue: ${default Expr}";
4279 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce(["const ${varName} = const int.fromEnvironment('${envVarName}'${defaultArg}); "]));
4280 // return _evaluateInstanceCreationExpression(compilationUnit, varName);
4281 // }
4282 // EvaluationResultImpl _check_fromEnvironment_string(String valueInEnvironmen t, String defaultExpr) {
4283 // String envVarName = "x";
4284 // String varName = "foo";
4285 // if (valueInEnvironment != null) {
4286 // analysisContext2.declaredVariables.define(envVarName, valueInEnvironmen t);
4287 // }
4288 // String defaultArg = defaultExpr == null ? "" : ", defaultValue: ${default Expr}";
4289 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce(["const ${varName} = const String.fromEnvironment('${envVarName}'${defaultArg });"]));
4290 // return _evaluateInstanceCreationExpression(compilationUnit, varName);
4291 // }
4292 // void _checkInstanceCreation_withSupertypeParams(bool isExplicit) {
4293 // String superCall = isExplicit ? " : super()" : "";
4294 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4295 // "class A<T> {",
4296 // " const A();",
4297 // "}",
4298 // "class B<T, U> extends A<T> {",
4299 // " const B()${superCall};",
4300 // "}",
4301 // "class C<T, U> extends A<U> {",
4302 // " const C()${superCall};",
4303 // "}",
4304 // "const b_int_num = const B<int, num>();",
4305 // "const c_int_num = const C<int, num>();"]));
4306 // EvaluationResultImpl b_int_num = _evaluateInstanceCreationExpression(comp ilationUnit, "b_int_num");
4307 // HashMap<String, DartObjectImpl> b_int_num_fields = _assertType(b_int_num, "B<int, num>");
4308 // _assertFieldType(b_int_num_fields, GenericState.SUPERCLASS_FIELD, "A<int> ");
4309 // EvaluationResultImpl c_int_num = _evaluateInstanceCreationExpression(comp ilationUnit, "c_int_num");
4310 // HashMap<String, DartObjectImpl> c_int_num_fields = _assertType(c_int_num, "C<int, num>");
4311 // _assertFieldType(c_int_num_fields, GenericState.SUPERCLASS_FIELD, "A<num> ");
4312 // }
4313 // void _checkInstanceCreationOptionalParams(bool isFieldFormal, bool isNamed, bool hasDefault) {
4314 // String fieldName = "j";
4315 // String paramName = isFieldFormal ? fieldName : "i";
4316 // String formalParam = "${(isFieldFormal ? "this." : "int ")}${paramName}${ (hasDefault ? " = 3" : "")}";
4317 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce([
4318 // "const x = const A();",
4319 // "const y = const A(${(isNamed ? "${paramName}: " : "")}10);",
4320 // "class A {",
4321 // " const A(${(isNamed ? "{${formalParam}}" : "[${formalParam}]")})${( isFieldFormal ? "" : " : ${fieldName} = ${paramName}")};",
4322 // " final int ${fieldName};",
4323 // "}"]));
4324 // EvaluationResultImpl x = _evaluateInstanceCreationExpression(compilationU nit, "x");
4325 // HashMap<String, DartObjectImpl> fieldsOfX = _assertType(x, "A");
4326 // EngineTestCase.assertSizeOfMap(1, fieldsOfX);
4327 // if (hasDefault) {
4328 // _assertIntField(fieldsOfX, fieldName, 3);
4329 // } else {
4330 // _assertNullField(fieldsOfX, fieldName);
4331 // }
4332 // EvaluationResultImpl y = _evaluateInstanceCreationExpression(compilationU nit, "y");
4333 // HashMap<String, DartObjectImpl> fieldsOfY = _assertType(y, "A");
4334 // EngineTestCase.assertSizeOfMap(1, fieldsOfY);
4335 // _assertIntField(fieldsOfY, fieldName, 10);
4336 // }
4337 // EvaluationResultImpl _evaluateInstanceCreationExpression(CompilationUnit co mpilationUnit, String name) {
4338 // Expression expression = findTopLevelConstantExpression(compilationUnit, n ame);
4339 // return (expression as InstanceCreationExpression).evaluationResult;
4340 // }
4341 // ConstantValueComputer _makeConstantValueComputer() => new ConstantValueComp uterTest_ValidatingConstantValueComputer(new TestTypeProvider(), analysisContext 2.declaredVariables);
4342 // void _validate(bool shouldBeValid, VariableDeclarationList declarationList) {
4343 // for (VariableDeclaration declaration in declarationList.variables) {
4344 // VariableElementImpl element = declaration.element as VariableElementImp l;
4345 // JUnitTestCase.assertNotNull(element);
4346 // EvaluationResultImpl result = element.evaluationResult;
4347 // if (shouldBeValid) {
4348 // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidRes ult, result);
4349 // Object value = (result as ValidResult).value;
4350 // JUnitTestCase.assertNotNull(value);
4351 // } else {
4352 // EngineTestCase.assertInstanceOf((obj) => obj is ErrorResult, ErrorRes ult, result);
4353 // }
4354 // }
4355 // }
4356 // static dartSuite() {
4357 // _ut.group('ConstantValueComputerTest', () {
4358 // _ut.test('test_computeValues_cycle', () {
4359 // final __test = new ConstantValueComputerTest();
4360 // runJUnitTest(__test, __test.test_computeValues_cycle);
4361 // });
4362 // _ut.test('test_computeValues_dependentVariables', () {
4363 // final __test = new ConstantValueComputerTest();
4364 // runJUnitTest(__test, __test.test_computeValues_dependentVariables);
4365 // });
4366 // _ut.test('test_computeValues_empty', () {
4367 // final __test = new ConstantValueComputerTest();
4368 // runJUnitTest(__test, __test.test_computeValues_empty);
4369 // });
4370 // _ut.test('test_computeValues_multipleSources', () {
4371 // final __test = new ConstantValueComputerTest();
4372 // runJUnitTest(__test, __test.test_computeValues_multipleSources);
4373 // });
4374 // _ut.test('test_computeValues_singleVariable', () {
4375 // final __test = new ConstantValueComputerTest();
4376 // runJUnitTest(__test, __test.test_computeValues_singleVariable);
4377 // });
4378 // _ut.test('test_dependencyOnConstructor', () {
4379 // final __test = new ConstantValueComputerTest();
4380 // runJUnitTest(__test, __test.test_dependencyOnConstructor);
4381 // });
4382 // _ut.test('test_dependencyOnConstructorArgument', () {
4383 // final __test = new ConstantValueComputerTest();
4384 // runJUnitTest(__test, __test.test_dependencyOnConstructorArgument);
4385 // });
4386 // _ut.test('test_dependencyOnConstructorArgument_unresolvedConstructor', () {
4387 // final __test = new ConstantValueComputerTest();
4388 // runJUnitTest(__test, __test.test_dependencyOnConstructorArgument_unre solvedConstructor);
4389 // });
4390 // _ut.test('test_dependencyOnConstructorInitializer', () {
4391 // final __test = new ConstantValueComputerTest();
4392 // runJUnitTest(__test, __test.test_dependencyOnConstructorInitializer);
4393 // });
4394 // _ut.test('test_dependencyOnExplicitSuperConstructor', () {
4395 // final __test = new ConstantValueComputerTest();
4396 // runJUnitTest(__test, __test.test_dependencyOnExplicitSuperConstructor );
4397 // });
4398 // _ut.test('test_dependencyOnExplicitSuperConstructorParameters', () {
4399 // final __test = new ConstantValueComputerTest();
4400 // runJUnitTest(__test, __test.test_dependencyOnExplicitSuperConstructor Parameters);
4401 // });
4402 // _ut.test('test_dependencyOnFactoryRedirect', () {
4403 // final __test = new ConstantValueComputerTest();
4404 // runJUnitTest(__test, __test.test_dependencyOnFactoryRedirect);
4405 // });
4406 // _ut.test('test_dependencyOnFactoryRedirectWithTypeParams', () {
4407 // final __test = new ConstantValueComputerTest();
4408 // runJUnitTest(__test, __test.test_dependencyOnFactoryRedirectWithTypeP arams);
4409 // });
4410 // _ut.test('test_dependencyOnImplicitSuperConstructor', () {
4411 // final __test = new ConstantValueComputerTest();
4412 // runJUnitTest(__test, __test.test_dependencyOnImplicitSuperConstructor );
4413 // });
4414 // _ut.test('test_dependencyOnOptionalParameterDefault', () {
4415 // final __test = new ConstantValueComputerTest();
4416 // runJUnitTest(__test, __test.test_dependencyOnOptionalParameterDefault );
4417 // });
4418 // _ut.test('test_dependencyOnVariable', () {
4419 // final __test = new ConstantValueComputerTest();
4420 // runJUnitTest(__test, __test.test_dependencyOnVariable);
4421 // });
4422 // _ut.test('test_fromEnvironment_bool_default_false', () {
4423 // final __test = new ConstantValueComputerTest();
4424 // runJUnitTest(__test, __test.test_fromEnvironment_bool_default_false);
4425 // });
4426 // _ut.test('test_fromEnvironment_bool_default_overridden', () {
4427 // final __test = new ConstantValueComputerTest();
4428 // runJUnitTest(__test, __test.test_fromEnvironment_bool_default_overrid den);
4429 // });
4430 // _ut.test('test_fromEnvironment_bool_default_parseError', () {
4431 // final __test = new ConstantValueComputerTest();
4432 // runJUnitTest(__test, __test.test_fromEnvironment_bool_default_parseEr ror);
4433 // });
4434 // _ut.test('test_fromEnvironment_bool_default_true', () {
4435 // final __test = new ConstantValueComputerTest();
4436 // runJUnitTest(__test, __test.test_fromEnvironment_bool_default_true);
4437 // });
4438 // _ut.test('test_fromEnvironment_bool_false', () {
4439 // final __test = new ConstantValueComputerTest();
4440 // runJUnitTest(__test, __test.test_fromEnvironment_bool_false);
4441 // });
4442 // _ut.test('test_fromEnvironment_bool_parseError', () {
4443 // final __test = new ConstantValueComputerTest();
4444 // runJUnitTest(__test, __test.test_fromEnvironment_bool_parseError);
4445 // });
4446 // _ut.test('test_fromEnvironment_bool_true', () {
4447 // final __test = new ConstantValueComputerTest();
4448 // runJUnitTest(__test, __test.test_fromEnvironment_bool_true);
4449 // });
4450 // _ut.test('test_fromEnvironment_bool_undeclared', () {
4451 // final __test = new ConstantValueComputerTest();
4452 // runJUnitTest(__test, __test.test_fromEnvironment_bool_undeclared);
4453 // });
4454 // _ut.test('test_fromEnvironment_int_default_overridden', () {
4455 // final __test = new ConstantValueComputerTest();
4456 // runJUnitTest(__test, __test.test_fromEnvironment_int_default_overridd en);
4457 // });
4458 // _ut.test('test_fromEnvironment_int_default_parseError', () {
4459 // final __test = new ConstantValueComputerTest();
4460 // runJUnitTest(__test, __test.test_fromEnvironment_int_default_parseErr or);
4461 // });
4462 // _ut.test('test_fromEnvironment_int_default_undeclared', () {
4463 // final __test = new ConstantValueComputerTest();
4464 // runJUnitTest(__test, __test.test_fromEnvironment_int_default_undeclar ed);
4465 // });
4466 // _ut.test('test_fromEnvironment_int_ok', () {
4467 // final __test = new ConstantValueComputerTest();
4468 // runJUnitTest(__test, __test.test_fromEnvironment_int_ok);
4469 // });
4470 // _ut.test('test_fromEnvironment_int_parseError', () {
4471 // final __test = new ConstantValueComputerTest();
4472 // runJUnitTest(__test, __test.test_fromEnvironment_int_parseError);
4473 // });
4474 // _ut.test('test_fromEnvironment_int_parseError_nullDefault', () {
4475 // final __test = new ConstantValueComputerTest();
4476 // runJUnitTest(__test, __test.test_fromEnvironment_int_parseError_nullD efault);
4477 // });
4478 // _ut.test('test_fromEnvironment_int_undeclared', () {
4479 // final __test = new ConstantValueComputerTest();
4480 // runJUnitTest(__test, __test.test_fromEnvironment_int_undeclared);
4481 // });
4482 // _ut.test('test_fromEnvironment_int_undeclared_nullDefault', () {
4483 // final __test = new ConstantValueComputerTest();
4484 // runJUnitTest(__test, __test.test_fromEnvironment_int_undeclared_nullD efault);
4485 // });
4486 // _ut.test('test_fromEnvironment_string_default_overridden', () {
4487 // final __test = new ConstantValueComputerTest();
4488 // runJUnitTest(__test, __test.test_fromEnvironment_string_default_overr idden);
4489 // });
4490 // _ut.test('test_fromEnvironment_string_default_undeclared', () {
4491 // final __test = new ConstantValueComputerTest();
4492 // runJUnitTest(__test, __test.test_fromEnvironment_string_default_undec lared);
4493 // });
4494 // _ut.test('test_fromEnvironment_string_empty', () {
4495 // final __test = new ConstantValueComputerTest();
4496 // runJUnitTest(__test, __test.test_fromEnvironment_string_empty);
4497 // });
4498 // _ut.test('test_fromEnvironment_string_ok', () {
4499 // final __test = new ConstantValueComputerTest();
4500 // runJUnitTest(__test, __test.test_fromEnvironment_string_ok);
4501 // });
4502 // _ut.test('test_fromEnvironment_string_undeclared', () {
4503 // final __test = new ConstantValueComputerTest();
4504 // runJUnitTest(__test, __test.test_fromEnvironment_string_undeclared);
4505 // });
4506 // _ut.test('test_fromEnvironment_string_undeclared_nullDefault', () {
4507 // final __test = new ConstantValueComputerTest();
4508 // runJUnitTest(__test, __test.test_fromEnvironment_string_undeclared_nu llDefault);
4509 // });
4510 // _ut.test('test_instanceCreationExpression_computedField', () {
4511 // final __test = new ConstantValueComputerTest();
4512 // runJUnitTest(__test, __test.test_instanceCreationExpression_computedF ield);
4513 // });
4514 // _ut.test('test_instanceCreationExpression_computedField_namedOptionalWi thDefault', () {
4515 // final __test = new ConstantValueComputerTest();
4516 // runJUnitTest(__test, __test.test_instanceCreationExpression_computedF ield_namedOptionalWithDefault);
4517 // });
4518 // _ut.test('test_instanceCreationExpression_computedField_namedOptionalWi thoutDefault', () {
4519 // final __test = new ConstantValueComputerTest();
4520 // runJUnitTest(__test, __test.test_instanceCreationExpression_computedF ield_namedOptionalWithoutDefault);
4521 // });
4522 // _ut.test('test_instanceCreationExpression_computedField_unnamedOptional WithDefault', () {
4523 // final __test = new ConstantValueComputerTest();
4524 // runJUnitTest(__test, __test.test_instanceCreationExpression_computedF ield_unnamedOptionalWithDefault);
4525 // });
4526 // _ut.test('test_instanceCreationExpression_computedField_unnamedOptional WithoutDefault', () {
4527 // final __test = new ConstantValueComputerTest();
4528 // runJUnitTest(__test, __test.test_instanceCreationExpression_computedF ield_unnamedOptionalWithoutDefault);
4529 // });
4530 // _ut.test('test_instanceCreationExpression_computedField_usesConstConstr uctor', () {
4531 // final __test = new ConstantValueComputerTest();
4532 // runJUnitTest(__test, __test.test_instanceCreationExpression_computedF ield_usesConstConstructor);
4533 // });
4534 // _ut.test('test_instanceCreationExpression_computedField_usesStaticConst ', () {
4535 // final __test = new ConstantValueComputerTest();
4536 // runJUnitTest(__test, __test.test_instanceCreationExpression_computedF ield_usesStaticConst);
4537 // });
4538 // _ut.test('test_instanceCreationExpression_computedField_usesToplevelCon st', () {
4539 // final __test = new ConstantValueComputerTest();
4540 // runJUnitTest(__test, __test.test_instanceCreationExpression_computedF ield_usesToplevelConst);
4541 // });
4542 // _ut.test('test_instanceCreationExpression_explicitSuper', () {
4543 // final __test = new ConstantValueComputerTest();
4544 // runJUnitTest(__test, __test.test_instanceCreationExpression_explicitS uper);
4545 // });
4546 // _ut.test('test_instanceCreationExpression_fieldFormalParameter', () {
4547 // final __test = new ConstantValueComputerTest();
4548 // runJUnitTest(__test, __test.test_instanceCreationExpression_fieldForm alParameter);
4549 // });
4550 // _ut.test('test_instanceCreationExpression_fieldFormalParameter_namedOpt ionalWithDefault', () {
4551 // final __test = new ConstantValueComputerTest();
4552 // runJUnitTest(__test, __test.test_instanceCreationExpression_fieldForm alParameter_namedOptionalWithDefault);
4553 // });
4554 // _ut.test('test_instanceCreationExpression_fieldFormalParameter_namedOpt ionalWithoutDefault', () {
4555 // final __test = new ConstantValueComputerTest();
4556 // runJUnitTest(__test, __test.test_instanceCreationExpression_fieldForm alParameter_namedOptionalWithoutDefault);
4557 // });
4558 // _ut.test('test_instanceCreationExpression_fieldFormalParameter_unnamedO ptionalWithDefault', () {
4559 // final __test = new ConstantValueComputerTest();
4560 // runJUnitTest(__test, __test.test_instanceCreationExpression_fieldForm alParameter_unnamedOptionalWithDefault);
4561 // });
4562 // _ut.test('test_instanceCreationExpression_fieldFormalParameter_unnamedO ptionalWithoutDefault', () {
4563 // final __test = new ConstantValueComputerTest();
4564 // runJUnitTest(__test, __test.test_instanceCreationExpression_fieldForm alParameter_unnamedOptionalWithoutDefault);
4565 // });
4566 // _ut.test('test_instanceCreationExpression_implicitSuper', () {
4567 // final __test = new ConstantValueComputerTest();
4568 // runJUnitTest(__test, __test.test_instanceCreationExpression_implicitS uper);
4569 // });
4570 // _ut.test('test_instanceCreationExpression_redirect', () {
4571 // final __test = new ConstantValueComputerTest();
4572 // runJUnitTest(__test, __test.test_instanceCreationExpression_redirect) ;
4573 // });
4574 // _ut.test('test_instanceCreationExpression_redirectWithTypeParams', () {
4575 // final __test = new ConstantValueComputerTest();
4576 // runJUnitTest(__test, __test.test_instanceCreationExpression_redirectW ithTypeParams);
4577 // });
4578 // _ut.test('test_instanceCreationExpression_redirectWithTypeSubstitution' , () {
4579 // final __test = new ConstantValueComputerTest();
4580 // runJUnitTest(__test, __test.test_instanceCreationExpression_redirectW ithTypeSubstitution);
4581 // });
4582 // _ut.test('test_instanceCreationExpression_redirect_cycle', () {
4583 // final __test = new ConstantValueComputerTest();
4584 // runJUnitTest(__test, __test.test_instanceCreationExpression_redirect_ cycle);
4585 // });
4586 // _ut.test('test_instanceCreationExpression_redirect_extern', () {
4587 // final __test = new ConstantValueComputerTest();
4588 // runJUnitTest(__test, __test.test_instanceCreationExpression_redirect_ extern);
4589 // });
4590 // _ut.test('test_instanceCreationExpression_redirect_nonConst', () {
4591 // final __test = new ConstantValueComputerTest();
4592 // runJUnitTest(__test, __test.test_instanceCreationExpression_redirect_ nonConst);
4593 // });
4594 // _ut.test('test_instanceCreationExpression_symbol', () {
4595 // final __test = new ConstantValueComputerTest();
4596 // runJUnitTest(__test, __test.test_instanceCreationExpression_symbol);
4597 // });
4598 // _ut.test('test_instanceCreationExpression_withSupertypeParams_explicit' , () {
4599 // final __test = new ConstantValueComputerTest();
4600 // runJUnitTest(__test, __test.test_instanceCreationExpression_withSuper typeParams_explicit);
4601 // });
4602 // _ut.test('test_instanceCreationExpression_withSupertypeParams_implicit' , () {
4603 // final __test = new ConstantValueComputerTest();
4604 // runJUnitTest(__test, __test.test_instanceCreationExpression_withSuper typeParams_implicit);
4605 // });
4606 // _ut.test('test_instanceCreationExpression_withTypeParams', () {
4607 // final __test = new ConstantValueComputerTest();
4608 // runJUnitTest(__test, __test.test_instanceCreationExpression_withTypeP arams);
4609 // });
4610 // _ut.test('test_isValidSymbol', () {
4611 // final __test = new ConstantValueComputerTest();
4612 // runJUnitTest(__test, __test.test_isValidSymbol);
4613 // });
4614 // _ut.test('test_symbolLiteral_void', () {
4615 // final __test = new ConstantValueComputerTest();
4616 // runJUnitTest(__test, __test.test_symbolLiteral_void);
4617 // });
4618 // });
4619 // }
4620 // }
4621 // class ConstantValueComputerTest_ValidatingConstantValueComputer extends Const antValueComputer {
4622 // AstNode _nodeBeingEvaluated;
4623 // ConstantValueComputerTest_ValidatingConstantValueComputer(TypeProvider type Provider, DeclaredVariables declaredVariables) : super(typeProvider, declaredVar iables);
4624 // @override
4625 // void beforeComputeValue(AstNode constNode) {
4626 // super.beforeComputeValue(constNode);
4627 // _nodeBeingEvaluated = constNode;
4628 // }
4629 // @override
4630 // void beforeGetConstantInitializers(ConstructorElement constructor) {
4631 // super.beforeGetConstantInitializers(constructor);
4632 // // If we are getting the constant initializers for a node in the graph, m ake sure we properly
4633 // // recorded the dependency.
4634 // ConstructorDeclaration node = findConstructorDeclaration(constructor);
4635 // if (node != null && referenceGraph.nodes.contains(node)) {
4636 // JUnitTestCase.assertTrue(referenceGraph.containsPath(_nodeBeingEvaluate d, node));
4637 // }
4638 // }
4639 // @override
4640 // void beforeGetParameterDefault(ParameterElement parameter) {
4641 // super.beforeGetParameterDefault(parameter);
4642 // // Find the ConstructorElement and figure out which parameter we're talki ng about.
4643 // ConstructorElement constructor = parameter.getAncestor((element) => eleme nt is ConstructorElement);
4644 // int parameterIndex;
4645 // List<ParameterElement> parameters = constructor.parameters;
4646 // int numParameters = parameters.length;
4647 // for (parameterIndex = 0; parameterIndex < numParameters; parameterIndex++ ) {
4648 // if (identical(parameters[parameterIndex], parameter)) {
4649 // break;
4650 // }
4651 // }
4652 // JUnitTestCase.assertTrue(parameterIndex < numParameters);
4653 // // If we are getting the default parameter for a constructor in the graph , make sure we properly
4654 // // recorded the dependency on the parameter.
4655 // ConstructorDeclaration constructorNode = constructorDeclarationMap[constr uctor];
4656 // if (constructorNode != null) {
4657 // FormalParameter parameterNode = constructorNode.parameters.parameters[p arameterIndex];
4658 // JUnitTestCase.assertTrue(referenceGraph.nodes.contains(parameterNode));
4659 // JUnitTestCase.assertTrue(referenceGraph.containsPath(_nodeBeingEvaluate d, parameterNode));
4660 // }
4661 // }
4662 // @override
4663 // ConstantVisitor createConstantVisitor() => new ConstantValueComputerTest_Va lidatingConstantVisitor(typeProvider, referenceGraph, _nodeBeingEvaluated);
4664 // }
4665 // class ConstantValueComputerTest_ValidatingConstantVisitor extends ConstantVis itor {
4666 // final DirectedGraph<AstNode> _referenceGraph;
4667 // final AstNode _nodeBeingEvaluated;
4668 // ConstantValueComputerTest_ValidatingConstantVisitor(TypeProvider typeProvid er, this._referenceGraph, this._nodeBeingEvaluated) : super.con1(typeProvider);
4669 // @override
4670 // void beforeGetEvaluationResult(AstNode node) {
4671 // super.beforeGetEvaluationResult(node);
4672 // // If we are getting the evaluation result for a node in the graph, make sure we properly
4673 // // recorded the dependency.
4674 // if (_referenceGraph.nodes.contains(node)) {
4675 // JUnitTestCase.assertTrue(_referenceGraph.containsPath(_nodeBeingEvaluat ed, node));
4676 // }
4677 // }
4678 // }
4679 // class ConstantVisitorTest extends ResolverTestCase {
4680 // void test_visitConditionalExpression_false() {
4681 // Expression thenExpression = AstFactory.integer(1);
4682 // Expression elseExpression = AstFactory.integer(0);
4683 // ConditionalExpression expression = AstFactory.conditionalExpression(AstFa ctory.booleanLiteral(false), thenExpression, elseExpression);
4684 // _assertValue(0, expression.accept(new ConstantVisitor.con1(new TestTypePr ovider())));
4685 // }
4686 // void test_visitConditionalExpression_instanceCreation_invalidFieldInitializ er() {
4687 // TestTypeProvider typeProvider = new TestTypeProvider();
4688 // LibraryElementImpl libraryElement = ElementFactory.library(null, "lib");
4689 // String className = "C";
4690 // ClassElementImpl classElement = ElementFactory.classElement2(className, [ ]);
4691 // (libraryElement.definingCompilationUnit as CompilationUnitElementImpl).ty pes = <ClassElement> [classElement];
4692 // ConstructorElementImpl constructorElement = ElementFactory.constructorEle ment(classElement, null, true, [typeProvider.intType]);
4693 // constructorElement.parameters[0] = new FieldFormalParameterElementImpl(As tFactory.identifier3("x"));
4694 // InstanceCreationExpression expression = AstFactory.instanceCreationExpres sion2(Keyword.CONST, AstFactory.typeName4(className, []), [AstFactory.integer(0) ]);
4695 // expression.staticElement = constructorElement;
4696 // expression.accept(new ConstantVisitor.con1(typeProvider));
4697 // }
4698 // void test_visitConditionalExpression_nonBooleanCondition() {
4699 // Expression thenExpression = AstFactory.integer(1);
4700 // Expression elseExpression = AstFactory.integer(0);
4701 // ConditionalExpression expression = AstFactory.conditionalExpression(AstFa ctory.nullLiteral(), thenExpression, elseExpression);
4702 // EvaluationResultImpl result = expression.accept(new ConstantVisitor.con1( new TestTypeProvider()));
4703 // EngineTestCase.assertInstanceOf((obj) => obj is ErrorResult, ErrorResult, result);
4704 // }
4705 // void test_visitConditionalExpression_nonConstantElse() {
4706 // Expression thenExpression = AstFactory.integer(1);
4707 // Expression elseExpression = AstFactory.identifier3("x");
4708 // ConditionalExpression expression = AstFactory.conditionalExpression(AstFa ctory.booleanLiteral(true), thenExpression, elseExpression);
4709 // EvaluationResultImpl result = expression.accept(new ConstantVisitor.con1( new TestTypeProvider()));
4710 // EngineTestCase.assertInstanceOf((obj) => obj is ErrorResult, ErrorResult, result);
4711 // }
4712 // void test_visitConditionalExpression_nonConstantThen() {
4713 // Expression thenExpression = AstFactory.identifier3("x");
4714 // Expression elseExpression = AstFactory.integer(0);
4715 // ConditionalExpression expression = AstFactory.conditionalExpression(AstFa ctory.booleanLiteral(true), thenExpression, elseExpression);
4716 // EvaluationResultImpl result = expression.accept(new ConstantVisitor.con1( new TestTypeProvider()));
4717 // EngineTestCase.assertInstanceOf((obj) => obj is ErrorResult, ErrorResult, result);
4718 // }
4719 // void test_visitConditionalExpression_true() {
4720 // Expression thenExpression = AstFactory.integer(1);
4721 // Expression elseExpression = AstFactory.integer(0);
4722 // ConditionalExpression expression = AstFactory.conditionalExpression(AstFa ctory.booleanLiteral(true), thenExpression, elseExpression);
4723 // _assertValue(1, expression.accept(new ConstantVisitor.con1(new TestTypePr ovider())));
4724 // }
4725 // void test_visitSimpleIdentifier_inEnvironment() {
4726 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce(["const a = b;", "const b = 3;"]));
4727 // HashMap<String, DartObjectImpl> environment = new HashMap<String, DartObj ectImpl>();
4728 // DartObjectImpl six = new DartObjectImpl(typeProvider.intType, new IntStat e(6));
4729 // environment["b"] = six;
4730 // _assertValue(6, _evaluateConstant(compilationUnit, "a", environment));
4731 // }
4732 // void test_visitSimpleIdentifier_notInEnvironment() {
4733 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce(["const a = b;", "const b = 3;"]));
4734 // HashMap<String, DartObjectImpl> environment = new HashMap<String, DartObj ectImpl>();
4735 // DartObjectImpl six = new DartObjectImpl(typeProvider.intType, new IntStat e(6));
4736 // environment["c"] = six;
4737 // _assertValue(3, _evaluateConstant(compilationUnit, "a", environment));
4738 // }
4739 // void test_visitSimpleIdentifier_withoutEnvironment() {
4740 // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSour ce(["const a = b;", "const b = 3;"]));
4741 // _assertValue(3, _evaluateConstant(compilationUnit, "a", null));
4742 // }
4743 // void _assertValue(int expectedValue, EvaluationResultImpl result) {
4744 // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result);
4745 // DartObjectImpl value = (result as ValidResult).value;
4746 // JUnitTestCase.assertEquals("int", value.type.name);
4747 // JUnitTestCase.assertEquals(expectedValue, value.intValue.longValue());
4748 // }
4749 // EvaluationResultImpl _evaluateConstant(CompilationUnit compilationUnit, Str ing name, HashMap<String, DartObjectImpl> lexicalEnvironment) {
4750 // Expression expression = findTopLevelConstantExpression(compilationUnit, n ame);
4751 // return expression.accept(new ConstantVisitor.con2(typeProvider, lexicalEn vironment));
4752 // }
4753 // static dartSuite() {
4754 // _ut.group('ConstantVisitorTest', () {
4755 // _ut.test('test_visitConditionalExpression_false', () {
4756 // final __test = new ConstantVisitorTest();
4757 // runJUnitTest(__test, __test.test_visitConditionalExpression_false);
4758 // });
4759 // _ut.test('test_visitConditionalExpression_instanceCreation_invalidField Initializer', () {
4760 // final __test = new ConstantVisitorTest();
4761 // runJUnitTest(__test, __test.test_visitConditionalExpression_instanceC reation_invalidFieldInitializer);
4762 // });
4763 // _ut.test('test_visitConditionalExpression_nonBooleanCondition', () {
4764 // final __test = new ConstantVisitorTest();
4765 // runJUnitTest(__test, __test.test_visitConditionalExpression_nonBoolea nCondition);
4766 // });
4767 // _ut.test('test_visitConditionalExpression_nonConstantElse', () {
4768 // final __test = new ConstantVisitorTest();
4769 // runJUnitTest(__test, __test.test_visitConditionalExpression_nonConsta ntElse);
4770 // });
4771 // _ut.test('test_visitConditionalExpression_nonConstantThen', () {
4772 // final __test = new ConstantVisitorTest();
4773 // runJUnitTest(__test, __test.test_visitConditionalExpression_nonConsta ntThen);
4774 // });
4775 // _ut.test('test_visitConditionalExpression_true', () {
4776 // final __test = new ConstantVisitorTest();
4777 // runJUnitTest(__test, __test.test_visitConditionalExpression_true);
4778 // });
4779 // _ut.test('test_visitSimpleIdentifier_inEnvironment', () {
4780 // final __test = new ConstantVisitorTest();
4781 // runJUnitTest(__test, __test.test_visitSimpleIdentifier_inEnvironment) ;
4782 // });
4783 // _ut.test('test_visitSimpleIdentifier_notInEnvironment', () {
4784 // final __test = new ConstantVisitorTest();
4785 // runJUnitTest(__test, __test.test_visitSimpleIdentifier_notInEnvironme nt);
4786 // });
4787 // _ut.test('test_visitSimpleIdentifier_withoutEnvironment', () {
4788 // final __test = new ConstantVisitorTest();
4789 // runJUnitTest(__test, __test.test_visitSimpleIdentifier_withoutEnviron ment);
4790 // });
4791 // });
4792 // }
4793 // }
4794 // class ContentCacheTest extends JUnitTestCase {
4795 // void test_setContents() {
4796 // Source source = new TestSource();
4797 // ContentCache cache = new ContentCache();
4798 // JUnitTestCase.assertNull(cache.getContents(source));
4799 // JUnitTestCase.assertNull(cache.getModificationStamp(source));
4800 // String contents = "library lib;";
4801 // JUnitTestCase.assertNull(cache.setContents(source, contents));
4802 // JUnitTestCase.assertEquals(contents, cache.getContents(source));
4803 // JUnitTestCase.assertNotNull(cache.getModificationStamp(source));
4804 // JUnitTestCase.assertEquals(contents, cache.setContents(source, contents)) ;
4805 // JUnitTestCase.assertEquals(contents, cache.setContents(source, null));
4806 // JUnitTestCase.assertNull(cache.getContents(source));
4807 // JUnitTestCase.assertNull(cache.getModificationStamp(source));
4808 // JUnitTestCase.assertNull(cache.setContents(source, null));
4809 // }
4810 // static dartSuite() {
4811 // _ut.group('ContentCacheTest', () {
4812 // _ut.test('test_setContents', () {
4813 // final __test = new ContentCacheTest();
4814 // runJUnitTest(__test, __test.test_setContents);
4815 // });
4816 // });
4817 // }
4818 // }
4819 // class DartObjectImplTest extends EngineTestCase {
4820 // TypeProvider _typeProvider = new TestTypeProvider();
4821 // void test_add_invalid_knownInt() {
4822 // _assertAdd(null, _stringValue("1"), _intValue(2));
4823 // }
4824 // void test_add_knownDouble_knownDouble() {
4825 // _assertAdd(_doubleValue(3.0), _doubleValue(1.0), _doubleValue(2.0));
4826 // }
4827 // void test_add_knownDouble_knownInt() {
4828 // _assertAdd(_doubleValue(3.0), _doubleValue(1.0), _intValue(2));
4829 // }
4830 // void test_add_knownDouble_unknownDouble() {
4831 // _assertAdd(_doubleValue(null), _doubleValue(1.0), _doubleValue(null));
4832 // }
4833 // void test_add_knownDouble_unknownInt() {
4834 // _assertAdd(_doubleValue(null), _doubleValue(1.0), _intValue(null));
4835 // }
4836 // void test_add_knownInt_invalid() {
4837 // _assertAdd(null, _intValue(1), _stringValue("2"));
4838 // }
4839 // void test_add_knownInt_knownInt() {
4840 // _assertAdd(_intValue(3), _intValue(1), _intValue(2));
4841 // }
4842 // void test_add_knownInt_unknownDouble() {
4843 // _assertAdd(_doubleValue(null), _intValue(1), _doubleValue(null));
4844 // }
4845 // void test_add_knownInt_unknownInt() {
4846 // _assertAdd(_intValue(null), _intValue(1), _intValue(null));
4847 // }
4848 // void test_add_unknownDouble_knownDouble() {
4849 // _assertAdd(_doubleValue(null), _doubleValue(null), _doubleValue(2.0));
4850 // }
4851 // void test_add_unknownDouble_knownInt() {
4852 // _assertAdd(_doubleValue(null), _doubleValue(null), _intValue(2));
4853 // }
4854 // void test_add_unknownInt_knownDouble() {
4855 // _assertAdd(_doubleValue(null), _intValue(null), _doubleValue(2.0));
4856 // }
4857 // void test_add_unknownInt_knownInt() {
4858 // _assertAdd(_intValue(null), _intValue(null), _intValue(2));
4859 // }
4860 // void test_bitAnd_invalid_knownInt() {
4861 // _assertBitAnd(null, _stringValue("6"), _intValue(3));
4862 // }
4863 // void test_bitAnd_knownInt_invalid() {
4864 // _assertBitAnd(null, _intValue(6), _stringValue("3"));
4865 // }
4866 // void test_bitAnd_knownInt_knownInt() {
4867 // _assertBitAnd(_intValue(2), _intValue(6), _intValue(3));
4868 // }
4869 // void test_bitAnd_knownInt_unknownInt() {
4870 // _assertBitAnd(_intValue(null), _intValue(6), _intValue(null));
4871 // }
4872 // void test_bitAnd_unknownInt_knownInt() {
4873 // _assertBitAnd(_intValue(null), _intValue(null), _intValue(3));
4874 // }
4875 // void test_bitAnd_unknownInt_unknownInt() {
4876 // _assertBitAnd(_intValue(null), _intValue(null), _intValue(null));
4877 // }
4878 // void test_bitNot_invalid() {
4879 // _assertBitNot(null, _stringValue("6"));
4880 // }
4881 // void test_bitNot_knownInt() {
4882 // _assertBitNot(_intValue(-4), _intValue(3));
4883 // }
4884 // void test_bitNot_unknownInt() {
4885 // _assertBitNot(_intValue(null), _intValue(null));
4886 // }
4887 // void test_bitOr_invalid_knownInt() {
4888 // _assertBitOr(null, _stringValue("6"), _intValue(3));
4889 // }
4890 // void test_bitOr_knownInt_invalid() {
4891 // _assertBitOr(null, _intValue(6), _stringValue("3"));
4892 // }
4893 // void test_bitOr_knownInt_knownInt() {
4894 // _assertBitOr(_intValue(7), _intValue(6), _intValue(3));
4895 // }
4896 // void test_bitOr_knownInt_unknownInt() {
4897 // _assertBitOr(_intValue(null), _intValue(6), _intValue(null));
4898 // }
4899 // void test_bitOr_unknownInt_knownInt() {
4900 // _assertBitOr(_intValue(null), _intValue(null), _intValue(3));
4901 // }
4902 // void test_bitOr_unknownInt_unknownInt() {
4903 // _assertBitOr(_intValue(null), _intValue(null), _intValue(null));
4904 // }
4905 // void test_bitXor_invalid_knownInt() {
4906 // _assertBitXor(null, _stringValue("6"), _intValue(3));
4907 // }
4908 // void test_bitXor_knownInt_invalid() {
4909 // _assertBitXor(null, _intValue(6), _stringValue("3"));
4910 // }
4911 // void test_bitXor_knownInt_knownInt() {
4912 // _assertBitXor(_intValue(5), _intValue(6), _intValue(3));
4913 // }
4914 // void test_bitXor_knownInt_unknownInt() {
4915 // _assertBitXor(_intValue(null), _intValue(6), _intValue(null));
4916 // }
4917 // void test_bitXor_unknownInt_knownInt() {
4918 // _assertBitXor(_intValue(null), _intValue(null), _intValue(3));
4919 // }
4920 // void test_bitXor_unknownInt_unknownInt() {
4921 // _assertBitXor(_intValue(null), _intValue(null), _intValue(null));
4922 // }
4923 // void test_concatenate_invalid_knownString() {
4924 // _assertConcatenate(null, _intValue(2), _stringValue("def"));
4925 // }
4926 // void test_concatenate_knownString_invalid() {
4927 // _assertConcatenate(null, _stringValue("abc"), _intValue(3));
4928 // }
4929 // void test_concatenate_knownString_knownString() {
4930 // _assertConcatenate(_stringValue("abcdef"), _stringValue("abc"), _stringVa lue("def"));
4931 // }
4932 // void test_concatenate_knownString_unknownString() {
4933 // _assertConcatenate(_stringValue(null), _stringValue("abc"), _stringValue( null));
4934 // }
4935 // void test_concatenate_unknownString_knownString() {
4936 // _assertConcatenate(_stringValue(null), _stringValue(null), _stringValue(" def"));
4937 // }
4938 // void test_divide_invalid_knownInt() {
4939 // _assertDivide(null, _stringValue("6"), _intValue(2));
4940 // }
4941 // void test_divide_knownDouble_knownDouble() {
4942 // _assertDivide(_doubleValue(3.0), _doubleValue(6.0), _doubleValue(2.0));
4943 // }
4944 // void test_divide_knownDouble_knownInt() {
4945 // _assertDivide(_doubleValue(3.0), _doubleValue(6.0), _intValue(2));
4946 // }
4947 // void test_divide_knownDouble_unknownDouble() {
4948 // _assertDivide(_doubleValue(null), _doubleValue(6.0), _doubleValue(null));
4949 // }
4950 // void test_divide_knownDouble_unknownInt() {
4951 // _assertDivide(_doubleValue(null), _doubleValue(6.0), _intValue(null));
4952 // }
4953 // void test_divide_knownInt_invalid() {
4954 // _assertDivide(null, _intValue(6), _stringValue("2"));
4955 // }
4956 // void test_divide_knownInt_knownInt() {
4957 // _assertDivide(_intValue(3), _intValue(6), _intValue(2));
4958 // }
4959 // void test_divide_knownInt_unknownDouble() {
4960 // _assertDivide(_doubleValue(null), _intValue(6), _doubleValue(null));
4961 // }
4962 // void test_divide_knownInt_unknownInt() {
4963 // _assertDivide(_intValue(null), _intValue(6), _intValue(null));
4964 // }
4965 // void test_divide_unknownDouble_knownDouble() {
4966 // _assertDivide(_doubleValue(null), _doubleValue(null), _doubleValue(2.0));
4967 // }
4968 // void test_divide_unknownDouble_knownInt() {
4969 // _assertDivide(_doubleValue(null), _doubleValue(null), _intValue(2));
4970 // }
4971 // void test_divide_unknownInt_knownDouble() {
4972 // _assertDivide(_doubleValue(null), _intValue(null), _doubleValue(2.0));
4973 // }
4974 // void test_divide_unknownInt_knownInt() {
4975 // _assertDivide(_intValue(null), _intValue(null), _intValue(2));
4976 // }
4977 // void test_equalEqual_bool_false() {
4978 // _assertEqualEqual(_boolValue(false), _boolValue(false), _boolValue(true)) ;
4979 // }
4980 // void test_equalEqual_bool_true() {
4981 // _assertEqualEqual(_boolValue(true), _boolValue(true), _boolValue(true));
4982 // }
4983 // void test_equalEqual_bool_unknown() {
4984 // _assertEqualEqual(_boolValue(null), _boolValue(null), _boolValue(false));
4985 // }
4986 // void test_equalEqual_double_false() {
4987 // _assertEqualEqual(_boolValue(false), _doubleValue(2.0), _doubleValue(4.0) );
4988 // }
4989 // void test_equalEqual_double_true() {
4990 // _assertEqualEqual(_boolValue(true), _doubleValue(2.0), _doubleValue(2.0)) ;
4991 // }
4992 // void test_equalEqual_double_unknown() {
4993 // _assertEqualEqual(_boolValue(null), _doubleValue(1.0), _doubleValue(null) );
4994 // }
4995 // void test_equalEqual_int_false() {
4996 // _assertEqualEqual(_boolValue(false), _intValue(-5), _intValue(5));
4997 // }
4998 // void test_equalEqual_int_true() {
4999 // _assertEqualEqual(_boolValue(true), _intValue(5), _intValue(5));
5000 // }
5001 // void test_equalEqual_int_unknown() {
5002 // _assertEqualEqual(_boolValue(null), _intValue(null), _intValue(3));
5003 // }
5004 // void test_equalEqual_list_empty() {
5005 // _assertEqualEqual(null, _listValue([]), _listValue([]));
5006 // }
5007 // void test_equalEqual_list_false() {
5008 // _assertEqualEqual(null, _listValue([]), _listValue([]));
5009 // }
5010 // void test_equalEqual_map_empty() {
5011 // _assertEqualEqual(null, _mapValue([]), _mapValue([]));
5012 // }
5013 // void test_equalEqual_map_false() {
5014 // _assertEqualEqual(null, _mapValue([]), _mapValue([]));
5015 // }
5016 // void test_equalEqual_null() {
5017 // _assertEqualEqual(_boolValue(true), _nullValue(), _nullValue());
5018 // }
5019 // void test_equalEqual_string_false() {
5020 // _assertEqualEqual(_boolValue(false), _stringValue("abc"), _stringValue("d ef"));
5021 // }
5022 // void test_equalEqual_string_true() {
5023 // _assertEqualEqual(_boolValue(true), _stringValue("abc"), _stringValue("ab c"));
5024 // }
5025 // void test_equalEqual_string_unknown() {
5026 // _assertEqualEqual(_boolValue(null), _stringValue(null), _stringValue("def "));
5027 // }
5028 // void test_equals_list_false_differentSizes() {
5029 // JUnitTestCase.assertFalse(_listValue([_boolValue(true)]) == _listValue([_ boolValue(true), _boolValue(false)]));
5030 // }
5031 // void test_equals_list_false_sameSize() {
5032 // JUnitTestCase.assertFalse(_listValue([_boolValue(true)]) == _listValue([_ boolValue(false)]));
5033 // }
5034 // void test_equals_list_true_empty() {
5035 // JUnitTestCase.assertEquals(_listValue([]), _listValue([]));
5036 // }
5037 // void test_equals_list_true_nonEmpty() {
5038 // JUnitTestCase.assertEquals(_listValue([_boolValue(true)]), _listValue([_b oolValue(true)]));
5039 // }
5040 // void test_equals_map_true_empty() {
5041 // JUnitTestCase.assertEquals(_mapValue([]), _mapValue([]));
5042 // }
5043 // void test_equals_symbol_false() {
5044 // JUnitTestCase.assertFalse(_symbolValue("a") == _symbolValue("b"));
5045 // }
5046 // void test_equals_symbol_true() {
5047 // JUnitTestCase.assertEquals(_symbolValue("a"), _symbolValue("a"));
5048 // }
5049 // void test_getValue_bool_false() {
5050 // JUnitTestCase.assertEquals(false, _boolValue(false).value);
5051 // }
5052 // void test_getValue_bool_true() {
5053 // JUnitTestCase.assertEquals(true, _boolValue(true).value);
5054 // }
5055 // void test_getValue_bool_unknown() {
5056 // JUnitTestCase.assertNull(_boolValue(null).value);
5057 // }
5058 // void test_getValue_double_known() {
5059 // double value = 2.3;
5060 // JUnitTestCase.assertEquals(value, _doubleValue(value).value);
5061 // }
5062 // void test_getValue_double_unknown() {
5063 // JUnitTestCase.assertNull(_doubleValue(null).value);
5064 // }
5065 // void test_getValue_int_known() {
5066 // int value = 23;
5067 // JUnitTestCase.assertEquals(value, _intValue(value).value);
5068 // }
5069 // void test_getValue_int_unknown() {
5070 // JUnitTestCase.assertNull(_intValue(null).value);
5071 // }
5072 // void test_getValue_list_empty() {
5073 // Object result = _listValue([]).value;
5074 // _assertInstanceOfObjectArray(result);
5075 // List<Object> array = result as List<Object>;
5076 // EngineTestCase.assertLength(0, array);
5077 // }
5078 // void test_getValue_list_valid() {
5079 // Object result = _listValue([_intValue(23)]).value;
5080 // _assertInstanceOfObjectArray(result);
5081 // List<Object> array = result as List<Object>;
5082 // EngineTestCase.assertLength(1, array);
5083 // }
5084 // void test_getValue_map_empty() {
5085 // Object result = _mapValue([]).value;
5086 // EngineTestCase.assertInstanceOf((obj) => obj is Map, Map, result);
5087 // Map map = result as Map;
5088 // EngineTestCase.assertSizeOfMap(0, map);
5089 // }
5090 // void test_getValue_map_valid() {
5091 // Object result = _mapValue([_stringValue("key"), _stringValue("value")]).v alue;
5092 // EngineTestCase.assertInstanceOf((obj) => obj is Map, Map, result);
5093 // Map map = result as Map;
5094 // EngineTestCase.assertSizeOfMap(1, map);
5095 // }
5096 // void test_getValue_null() {
5097 // JUnitTestCase.assertNull(_nullValue().value);
5098 // }
5099 // void test_getValue_string_known() {
5100 // String value = "twenty-three";
5101 // JUnitTestCase.assertEquals(value, _stringValue(value).value);
5102 // }
5103 // void test_getValue_string_unknown() {
5104 // JUnitTestCase.assertNull(_stringValue(null).value);
5105 // }
5106 // void test_greaterThan_invalid_knownInt() {
5107 // _assertGreaterThan(null, _stringValue("1"), _intValue(2));
5108 // }
5109 // void test_greaterThan_knownDouble_knownDouble_false() {
5110 // _assertGreaterThan(_boolValue(false), _doubleValue(1.0), _doubleValue(2.0 ));
5111 // }
5112 // void test_greaterThan_knownDouble_knownDouble_true() {
5113 // _assertGreaterThan(_boolValue(true), _doubleValue(2.0), _doubleValue(1.0) );
5114 // }
5115 // void test_greaterThan_knownDouble_knownInt_false() {
5116 // _assertGreaterThan(_boolValue(false), _doubleValue(1.0), _intValue(2));
5117 // }
5118 // void test_greaterThan_knownDouble_knownInt_true() {
5119 // _assertGreaterThan(_boolValue(true), _doubleValue(2.0), _intValue(1));
5120 // }
5121 // void test_greaterThan_knownDouble_unknownDouble() {
5122 // _assertGreaterThan(_boolValue(null), _doubleValue(1.0), _doubleValue(null ));
5123 // }
5124 // void test_greaterThan_knownDouble_unknownInt() {
5125 // _assertGreaterThan(_boolValue(null), _doubleValue(1.0), _intValue(null));
5126 // }
5127 // void test_greaterThan_knownInt_invalid() {
5128 // _assertGreaterThan(null, _intValue(1), _stringValue("2"));
5129 // }
5130 // void test_greaterThan_knownInt_knownInt_false() {
5131 // _assertGreaterThan(_boolValue(false), _intValue(1), _intValue(2));
5132 // }
5133 // void test_greaterThan_knownInt_knownInt_true() {
5134 // _assertGreaterThan(_boolValue(true), _intValue(2), _intValue(1));
5135 // }
5136 // void test_greaterThan_knownInt_unknownDouble() {
5137 // _assertGreaterThan(_boolValue(null), _intValue(1), _doubleValue(null));
5138 // }
5139 // void test_greaterThan_knownInt_unknownInt() {
5140 // _assertGreaterThan(_boolValue(null), _intValue(1), _intValue(null));
5141 // }
5142 // void test_greaterThan_unknownDouble_knownDouble() {
5143 // _assertGreaterThan(_boolValue(null), _doubleValue(null), _doubleValue(2.0 ));
5144 // }
5145 // void test_greaterThan_unknownDouble_knownInt() {
5146 // _assertGreaterThan(_boolValue(null), _doubleValue(null), _intValue(2));
5147 // }
5148 // void test_greaterThan_unknownInt_knownDouble() {
5149 // _assertGreaterThan(_boolValue(null), _intValue(null), _doubleValue(2.0));
5150 // }
5151 // void test_greaterThan_unknownInt_knownInt() {
5152 // _assertGreaterThan(_boolValue(null), _intValue(null), _intValue(2));
5153 // }
5154 // void test_greaterThanOrEqual_invalid_knownInt() {
5155 // _assertGreaterThanOrEqual(null, _stringValue("1"), _intValue(2));
5156 // }
5157 // void test_greaterThanOrEqual_knownDouble_knownDouble_false() {
5158 // _assertGreaterThanOrEqual(_boolValue(false), _doubleValue(1.0), _doubleVa lue(2.0));
5159 // }
5160 // void test_greaterThanOrEqual_knownDouble_knownDouble_true() {
5161 // _assertGreaterThanOrEqual(_boolValue(true), _doubleValue(2.0), _doubleVal ue(1.0));
5162 // }
5163 // void test_greaterThanOrEqual_knownDouble_knownInt_false() {
5164 // _assertGreaterThanOrEqual(_boolValue(false), _doubleValue(1.0), _intValue (2));
5165 // }
5166 // void test_greaterThanOrEqual_knownDouble_knownInt_true() {
5167 // _assertGreaterThanOrEqual(_boolValue(true), _doubleValue(2.0), _intValue( 1));
5168 // }
5169 // void test_greaterThanOrEqual_knownDouble_unknownDouble() {
5170 // _assertGreaterThanOrEqual(_boolValue(null), _doubleValue(1.0), _doubleVal ue(null));
5171 // }
5172 // void test_greaterThanOrEqual_knownDouble_unknownInt() {
5173 // _assertGreaterThanOrEqual(_boolValue(null), _doubleValue(1.0), _intValue( null));
5174 // }
5175 // void test_greaterThanOrEqual_knownInt_invalid() {
5176 // _assertGreaterThanOrEqual(null, _intValue(1), _stringValue("2"));
5177 // }
5178 // void test_greaterThanOrEqual_knownInt_knownInt_false() {
5179 // _assertGreaterThanOrEqual(_boolValue(false), _intValue(1), _intValue(2));
5180 // }
5181 // void test_greaterThanOrEqual_knownInt_knownInt_true() {
5182 // _assertGreaterThanOrEqual(_boolValue(true), _intValue(2), _intValue(2));
5183 // }
5184 // void test_greaterThanOrEqual_knownInt_unknownDouble() {
5185 // _assertGreaterThanOrEqual(_boolValue(null), _intValue(1), _doubleValue(nu ll));
5186 // }
5187 // void test_greaterThanOrEqual_knownInt_unknownInt() {
5188 // _assertGreaterThanOrEqual(_boolValue(null), _intValue(1), _intValue(null) );
5189 // }
5190 // void test_greaterThanOrEqual_unknownDouble_knownDouble() {
5191 // _assertGreaterThanOrEqual(_boolValue(null), _doubleValue(null), _doubleVa lue(2.0));
5192 // }
5193 // void test_greaterThanOrEqual_unknownDouble_knownInt() {
5194 // _assertGreaterThanOrEqual(_boolValue(null), _doubleValue(null), _intValue (2));
5195 // }
5196 // void test_greaterThanOrEqual_unknownInt_knownDouble() {
5197 // _assertGreaterThanOrEqual(_boolValue(null), _intValue(null), _doubleValue (2.0));
5198 // }
5199 // void test_greaterThanOrEqual_unknownInt_knownInt() {
5200 // _assertGreaterThanOrEqual(_boolValue(null), _intValue(null), _intValue(2) );
5201 // }
5202 // void test_hasExactValue_bool_false() {
5203 // JUnitTestCase.assertTrue(_boolValue(false).hasExactValue);
5204 // }
5205 // void test_hasExactValue_bool_true() {
5206 // JUnitTestCase.assertTrue(_boolValue(true).hasExactValue);
5207 // }
5208 // void test_hasExactValue_bool_unknown() {
5209 // JUnitTestCase.assertTrue(_boolValue(null).hasExactValue);
5210 // }
5211 // void test_hasExactValue_double_known() {
5212 // JUnitTestCase.assertTrue(_doubleValue(2.3).hasExactValue);
5213 // }
5214 // void test_hasExactValue_double_unknown() {
5215 // JUnitTestCase.assertTrue(_doubleValue(null).hasExactValue);
5216 // }
5217 // void test_hasExactValue_dynamic() {
5218 // JUnitTestCase.assertFalse(_dynamicValue().hasExactValue);
5219 // }
5220 // void test_hasExactValue_int_known() {
5221 // JUnitTestCase.assertTrue(_intValue(23).hasExactValue);
5222 // }
5223 // void test_hasExactValue_int_unknown() {
5224 // JUnitTestCase.assertTrue(_intValue(null).hasExactValue);
5225 // }
5226 // void test_hasExactValue_list_empty() {
5227 // JUnitTestCase.assertTrue(_listValue([]).hasExactValue);
5228 // }
5229 // void test_hasExactValue_list_invalid() {
5230 // JUnitTestCase.assertFalse(_dynamicValue().hasExactValue);
5231 // }
5232 // void test_hasExactValue_list_valid() {
5233 // JUnitTestCase.assertTrue(_listValue([_intValue(23)]).hasExactValue);
5234 // }
5235 // void test_hasExactValue_map_empty() {
5236 // JUnitTestCase.assertTrue(_mapValue([]).hasExactValue);
5237 // }
5238 // void test_hasExactValue_map_invalidKey() {
5239 // JUnitTestCase.assertFalse(_mapValue([_dynamicValue(), _stringValue("value ")]).hasExactValue);
5240 // }
5241 // void test_hasExactValue_map_invalidValue() {
5242 // JUnitTestCase.assertFalse(_mapValue([_stringValue("key"), _dynamicValue() ]).hasExactValue);
5243 // }
5244 // void test_hasExactValue_map_valid() {
5245 // JUnitTestCase.assertTrue(_mapValue([_stringValue("key"), _stringValue("va lue")]).hasExactValue);
5246 // }
5247 // void test_hasExactValue_null() {
5248 // JUnitTestCase.assertTrue(_nullValue().hasExactValue);
5249 // }
5250 // void test_hasExactValue_num() {
5251 // JUnitTestCase.assertFalse(_numValue().hasExactValue);
5252 // }
5253 // void test_hasExactValue_string_known() {
5254 // JUnitTestCase.assertTrue(_stringValue("twenty-three").hasExactValue);
5255 // }
5256 // void test_hasExactValue_string_unknown() {
5257 // JUnitTestCase.assertTrue(_stringValue(null).hasExactValue);
5258 // }
5259 // void test_integerDivide_invalid_knownInt() {
5260 // _assertIntegerDivide(null, _stringValue("6"), _intValue(2));
5261 // }
5262 // void test_integerDivide_knownDouble_knownDouble() {
5263 // _assertIntegerDivide(_intValue(3), _doubleValue(6.0), _doubleValue(2.0));
5264 // }
5265 // void test_integerDivide_knownDouble_knownInt() {
5266 // _assertIntegerDivide(_intValue(3), _doubleValue(6.0), _intValue(2));
5267 // }
5268 // void test_integerDivide_knownDouble_unknownDouble() {
5269 // _assertIntegerDivide(_intValue(null), _doubleValue(6.0), _doubleValue(nul l));
5270 // }
5271 // void test_integerDivide_knownDouble_unknownInt() {
5272 // _assertIntegerDivide(_intValue(null), _doubleValue(6.0), _intValue(null)) ;
5273 // }
5274 // void test_integerDivide_knownInt_invalid() {
5275 // _assertIntegerDivide(null, _intValue(6), _stringValue("2"));
5276 // }
5277 // void test_integerDivide_knownInt_knownInt() {
5278 // _assertIntegerDivide(_intValue(3), _intValue(6), _intValue(2));
5279 // }
5280 // void test_integerDivide_knownInt_unknownDouble() {
5281 // _assertIntegerDivide(_intValue(null), _intValue(6), _doubleValue(null));
5282 // }
5283 // void test_integerDivide_knownInt_unknownInt() {
5284 // _assertIntegerDivide(_intValue(null), _intValue(6), _intValue(null));
5285 // }
5286 // void test_integerDivide_unknownDouble_knownDouble() {
5287 // _assertIntegerDivide(_intValue(null), _doubleValue(null), _doubleValue(2. 0));
5288 // }
5289 // void test_integerDivide_unknownDouble_knownInt() {
5290 // _assertIntegerDivide(_intValue(null), _doubleValue(null), _intValue(2));
5291 // }
5292 // void test_integerDivide_unknownInt_knownDouble() {
5293 // _assertIntegerDivide(_intValue(null), _intValue(null), _doubleValue(2.0)) ;
5294 // }
5295 // void test_integerDivide_unknownInt_knownInt() {
5296 // _assertIntegerDivide(_intValue(null), _intValue(null), _intValue(2));
5297 // }
5298 // void test_isBoolNumStringOrNull_bool_false() {
5299 // JUnitTestCase.assertTrue(_boolValue(false).isBoolNumStringOrNull);
5300 // }
5301 // void test_isBoolNumStringOrNull_bool_true() {
5302 // JUnitTestCase.assertTrue(_boolValue(true).isBoolNumStringOrNull);
5303 // }
5304 // void test_isBoolNumStringOrNull_bool_unknown() {
5305 // JUnitTestCase.assertTrue(_boolValue(null).isBoolNumStringOrNull);
5306 // }
5307 // void test_isBoolNumStringOrNull_double_known() {
5308 // JUnitTestCase.assertTrue(_doubleValue(2.3).isBoolNumStringOrNull);
5309 // }
5310 // void test_isBoolNumStringOrNull_double_unknown() {
5311 // JUnitTestCase.assertTrue(_doubleValue(null).isBoolNumStringOrNull);
5312 // }
5313 // void test_isBoolNumStringOrNull_dynamic() {
5314 // JUnitTestCase.assertTrue(_dynamicValue().isBoolNumStringOrNull);
5315 // }
5316 // void test_isBoolNumStringOrNull_int_known() {
5317 // JUnitTestCase.assertTrue(_intValue(23).isBoolNumStringOrNull);
5318 // }
5319 // void test_isBoolNumStringOrNull_int_unknown() {
5320 // JUnitTestCase.assertTrue(_intValue(null).isBoolNumStringOrNull);
5321 // }
5322 // void test_isBoolNumStringOrNull_list() {
5323 // JUnitTestCase.assertFalse(_listValue([]).isBoolNumStringOrNull);
5324 // }
5325 // void test_isBoolNumStringOrNull_null() {
5326 // JUnitTestCase.assertTrue(_nullValue().isBoolNumStringOrNull);
5327 // }
5328 // void test_isBoolNumStringOrNull_num() {
5329 // JUnitTestCase.assertTrue(_numValue().isBoolNumStringOrNull);
5330 // }
5331 // void test_isBoolNumStringOrNull_string_known() {
5332 // JUnitTestCase.assertTrue(_stringValue("twenty-three").isBoolNumStringOrNu ll);
5333 // }
5334 // void test_isBoolNumStringOrNull_string_unknown() {
5335 // JUnitTestCase.assertTrue(_stringValue(null).isBoolNumStringOrNull);
5336 // }
5337 // void test_lessThan_invalid_knownInt() {
5338 // _assertLessThan(null, _stringValue("1"), _intValue(2));
5339 // }
5340 // void test_lessThan_knownDouble_knownDouble_false() {
5341 // _assertLessThan(_boolValue(false), _doubleValue(2.0), _doubleValue(1.0));
5342 // }
5343 // void test_lessThan_knownDouble_knownDouble_true() {
5344 // _assertLessThan(_boolValue(true), _doubleValue(1.0), _doubleValue(2.0));
5345 // }
5346 // void test_lessThan_knownDouble_knownInt_false() {
5347 // _assertLessThan(_boolValue(false), _doubleValue(2.0), _intValue(1));
5348 // }
5349 // void test_lessThan_knownDouble_knownInt_true() {
5350 // _assertLessThan(_boolValue(true), _doubleValue(1.0), _intValue(2));
5351 // }
5352 // void test_lessThan_knownDouble_unknownDouble() {
5353 // _assertLessThan(_boolValue(null), _doubleValue(1.0), _doubleValue(null));
5354 // }
5355 // void test_lessThan_knownDouble_unknownInt() {
5356 // _assertLessThan(_boolValue(null), _doubleValue(1.0), _intValue(null));
5357 // }
5358 // void test_lessThan_knownInt_invalid() {
5359 // _assertLessThan(null, _intValue(1), _stringValue("2"));
5360 // }
5361 // void test_lessThan_knownInt_knownInt_false() {
5362 // _assertLessThan(_boolValue(false), _intValue(2), _intValue(1));
5363 // }
5364 // void test_lessThan_knownInt_knownInt_true() {
5365 // _assertLessThan(_boolValue(true), _intValue(1), _intValue(2));
5366 // }
5367 // void test_lessThan_knownInt_unknownDouble() {
5368 // _assertLessThan(_boolValue(null), _intValue(1), _doubleValue(null));
5369 // }
5370 // void test_lessThan_knownInt_unknownInt() {
5371 // _assertLessThan(_boolValue(null), _intValue(1), _intValue(null));
5372 // }
5373 // void test_lessThan_unknownDouble_knownDouble() {
5374 // _assertLessThan(_boolValue(null), _doubleValue(null), _doubleValue(2.0));
5375 // }
5376 // void test_lessThan_unknownDouble_knownInt() {
5377 // _assertLessThan(_boolValue(null), _doubleValue(null), _intValue(2));
5378 // }
5379 // void test_lessThan_unknownInt_knownDouble() {
5380 // _assertLessThan(_boolValue(null), _intValue(null), _doubleValue(2.0));
5381 // }
5382 // void test_lessThan_unknownInt_knownInt() {
5383 // _assertLessThan(_boolValue(null), _intValue(null), _intValue(2));
5384 // }
5385 // void test_lessThanOrEqual_invalid_knownInt() {
5386 // _assertLessThanOrEqual(null, _stringValue("1"), _intValue(2));
5387 // }
5388 // void test_lessThanOrEqual_knownDouble_knownDouble_false() {
5389 // _assertLessThanOrEqual(_boolValue(false), _doubleValue(2.0), _doubleValue (1.0));
5390 // }
5391 // void test_lessThanOrEqual_knownDouble_knownDouble_true() {
5392 // _assertLessThanOrEqual(_boolValue(true), _doubleValue(1.0), _doubleValue( 2.0));
5393 // }
5394 // void test_lessThanOrEqual_knownDouble_knownInt_false() {
5395 // _assertLessThanOrEqual(_boolValue(false), _doubleValue(2.0), _intValue(1) );
5396 // }
5397 // void test_lessThanOrEqual_knownDouble_knownInt_true() {
5398 // _assertLessThanOrEqual(_boolValue(true), _doubleValue(1.0), _intValue(2)) ;
5399 // }
5400 // void test_lessThanOrEqual_knownDouble_unknownDouble() {
5401 // _assertLessThanOrEqual(_boolValue(null), _doubleValue(1.0), _doubleValue( null));
5402 // }
5403 // void test_lessThanOrEqual_knownDouble_unknownInt() {
5404 // _assertLessThanOrEqual(_boolValue(null), _doubleValue(1.0), _intValue(nul l));
5405 // }
5406 // void test_lessThanOrEqual_knownInt_invalid() {
5407 // _assertLessThanOrEqual(null, _intValue(1), _stringValue("2"));
5408 // }
5409 // void test_lessThanOrEqual_knownInt_knownInt_false() {
5410 // _assertLessThanOrEqual(_boolValue(false), _intValue(2), _intValue(1));
5411 // }
5412 // void test_lessThanOrEqual_knownInt_knownInt_true() {
5413 // _assertLessThanOrEqual(_boolValue(true), _intValue(1), _intValue(2));
5414 // }
5415 // void test_lessThanOrEqual_knownInt_unknownDouble() {
5416 // _assertLessThanOrEqual(_boolValue(null), _intValue(1), _doubleValue(null) );
5417 // }
5418 // void test_lessThanOrEqual_knownInt_unknownInt() {
5419 // _assertLessThanOrEqual(_boolValue(null), _intValue(1), _intValue(null));
5420 // }
5421 // void test_lessThanOrEqual_unknownDouble_knownDouble() {
5422 // _assertLessThanOrEqual(_boolValue(null), _doubleValue(null), _doubleValue (2.0));
5423 // }
5424 // void test_lessThanOrEqual_unknownDouble_knownInt() {
5425 // _assertLessThanOrEqual(_boolValue(null), _doubleValue(null), _intValue(2) );
5426 // }
5427 // void test_lessThanOrEqual_unknownInt_knownDouble() {
5428 // _assertLessThanOrEqual(_boolValue(null), _intValue(null), _doubleValue(2. 0));
5429 // }
5430 // void test_lessThanOrEqual_unknownInt_knownInt() {
5431 // _assertLessThanOrEqual(_boolValue(null), _intValue(null), _intValue(2));
5432 // }
5433 // void test_logicalAnd_false_false() {
5434 // _assertLogicalAnd(_boolValue(false), _boolValue(false), _boolValue(false) );
5435 // }
5436 // void test_logicalAnd_false_null() {
5437 // try {
5438 // _assertLogicalAnd(_boolValue(false), _boolValue(false), _nullValue());
5439 // JUnitTestCase.fail("Expected EvaluationException");
5440 // } on EvaluationException catch (exception) {
5441 // }
5442 // }
5443 // void test_logicalAnd_false_string() {
5444 // try {
5445 // _assertLogicalAnd(_boolValue(false), _boolValue(false), _stringValue("f alse"));
5446 // JUnitTestCase.fail("Expected EvaluationException");
5447 // } on EvaluationException catch (exception) {
5448 // }
5449 // }
5450 // void test_logicalAnd_false_true() {
5451 // _assertLogicalAnd(_boolValue(false), _boolValue(false), _boolValue(true)) ;
5452 // }
5453 // void test_logicalAnd_null_false() {
5454 // try {
5455 // _assertLogicalAnd(_boolValue(false), _nullValue(), _boolValue(false));
5456 // JUnitTestCase.fail("Expected EvaluationException");
5457 // } on EvaluationException catch (exception) {
5458 // }
5459 // }
5460 // void test_logicalAnd_null_true() {
5461 // try {
5462 // _assertLogicalAnd(_boolValue(false), _nullValue(), _boolValue(true));
5463 // JUnitTestCase.fail("Expected EvaluationException");
5464 // } on EvaluationException catch (exception) {
5465 // }
5466 // }
5467 // void test_logicalAnd_string_false() {
5468 // try {
5469 // _assertLogicalAnd(_boolValue(false), _stringValue("true"), _boolValue(f alse));
5470 // JUnitTestCase.fail("Expected EvaluationException");
5471 // } on EvaluationException catch (exception) {
5472 // }
5473 // }
5474 // void test_logicalAnd_string_true() {
5475 // try {
5476 // _assertLogicalAnd(_boolValue(false), _stringValue("false"), _boolValue( true));
5477 // JUnitTestCase.fail("Expected EvaluationException");
5478 // } on EvaluationException catch (exception) {
5479 // }
5480 // }
5481 // void test_logicalAnd_true_false() {
5482 // _assertLogicalAnd(_boolValue(false), _boolValue(true), _boolValue(false)) ;
5483 // }
5484 // void test_logicalAnd_true_null() {
5485 // _assertLogicalAnd(null, _boolValue(true), _nullValue());
5486 // }
5487 // void test_logicalAnd_true_string() {
5488 // try {
5489 // _assertLogicalAnd(_boolValue(false), _boolValue(true), _stringValue("tr ue"));
5490 // JUnitTestCase.fail("Expected EvaluationException");
5491 // } on EvaluationException catch (exception) {
5492 // }
5493 // }
5494 // void test_logicalAnd_true_true() {
5495 // _assertLogicalAnd(_boolValue(true), _boolValue(true), _boolValue(true));
5496 // }
5497 // void test_logicalNot_false() {
5498 // _assertLogicalNot(_boolValue(true), _boolValue(false));
5499 // }
5500 // void test_logicalNot_null() {
5501 // _assertLogicalNot(null, _nullValue());
5502 // }
5503 // void test_logicalNot_string() {
5504 // try {
5505 // _assertLogicalNot(_boolValue(true), _stringValue(null));
5506 // JUnitTestCase.fail("Expected EvaluationException");
5507 // } on EvaluationException catch (exception) {
5508 // }
5509 // }
5510 // void test_logicalNot_true() {
5511 // _assertLogicalNot(_boolValue(false), _boolValue(true));
5512 // }
5513 // void test_logicalNot_unknown() {
5514 // _assertLogicalNot(_boolValue(null), _boolValue(null));
5515 // }
5516 // void test_logicalOr_false_false() {
5517 // _assertLogicalOr(_boolValue(false), _boolValue(false), _boolValue(false)) ;
5518 // }
5519 // void test_logicalOr_false_null() {
5520 // _assertLogicalOr(null, _boolValue(false), _nullValue());
5521 // }
5522 // void test_logicalOr_false_string() {
5523 // try {
5524 // _assertLogicalOr(_boolValue(false), _boolValue(false), _stringValue("fa lse"));
5525 // JUnitTestCase.fail("Expected EvaluationException");
5526 // } on EvaluationException catch (exception) {
5527 // }
5528 // }
5529 // void test_logicalOr_false_true() {
5530 // _assertLogicalOr(_boolValue(true), _boolValue(false), _boolValue(true));
5531 // }
5532 // void test_logicalOr_null_false() {
5533 // try {
5534 // _assertLogicalOr(_boolValue(false), _nullValue(), _boolValue(false));
5535 // JUnitTestCase.fail("Expected EvaluationException");
5536 // } on EvaluationException catch (exception) {
5537 // }
5538 // }
5539 // void test_logicalOr_null_true() {
5540 // try {
5541 // _assertLogicalOr(_boolValue(true), _nullValue(), _boolValue(true));
5542 // JUnitTestCase.fail("Expected EvaluationException");
5543 // } on EvaluationException catch (exception) {
5544 // }
5545 // }
5546 // void test_logicalOr_string_false() {
5547 // try {
5548 // _assertLogicalOr(_boolValue(false), _stringValue("true"), _boolValue(fa lse));
5549 // JUnitTestCase.fail("Expected EvaluationException");
5550 // } on EvaluationException catch (exception) {
5551 // }
5552 // }
5553 // void test_logicalOr_string_true() {
5554 // try {
5555 // _assertLogicalOr(_boolValue(true), _stringValue("false"), _boolValue(tr ue));
5556 // JUnitTestCase.fail("Expected EvaluationException");
5557 // } on EvaluationException catch (exception) {
5558 // }
5559 // }
5560 // void test_logicalOr_true_false() {
5561 // _assertLogicalOr(_boolValue(true), _boolValue(true), _boolValue(false));
5562 // }
5563 // void test_logicalOr_true_null() {
5564 // try {
5565 // _assertLogicalOr(_boolValue(true), _boolValue(true), _nullValue());
5566 // JUnitTestCase.fail("Expected EvaluationException");
5567 // } on EvaluationException catch (exception) {
5568 // }
5569 // }
5570 // void test_logicalOr_true_string() {
5571 // try {
5572 // _assertLogicalOr(_boolValue(true), _boolValue(true), _stringValue("true "));
5573 // JUnitTestCase.fail("Expected EvaluationException");
5574 // } on EvaluationException catch (exception) {
5575 // }
5576 // }
5577 // void test_logicalOr_true_true() {
5578 // _assertLogicalOr(_boolValue(true), _boolValue(true), _boolValue(true));
5579 // }
5580 // void test_minus_invalid_knownInt() {
5581 // _assertMinus(null, _stringValue("4"), _intValue(3));
5582 // }
5583 // void test_minus_knownDouble_knownDouble() {
5584 // _assertMinus(_doubleValue(1.0), _doubleValue(4.0), _doubleValue(3.0));
5585 // }
5586 // void test_minus_knownDouble_knownInt() {
5587 // _assertMinus(_doubleValue(1.0), _doubleValue(4.0), _intValue(3));
5588 // }
5589 // void test_minus_knownDouble_unknownDouble() {
5590 // _assertMinus(_doubleValue(null), _doubleValue(4.0), _doubleValue(null));
5591 // }
5592 // void test_minus_knownDouble_unknownInt() {
5593 // _assertMinus(_doubleValue(null), _doubleValue(4.0), _intValue(null));
5594 // }
5595 // void test_minus_knownInt_invalid() {
5596 // _assertMinus(null, _intValue(4), _stringValue("3"));
5597 // }
5598 // void test_minus_knownInt_knownInt() {
5599 // _assertMinus(_intValue(1), _intValue(4), _intValue(3));
5600 // }
5601 // void test_minus_knownInt_unknownDouble() {
5602 // _assertMinus(_doubleValue(null), _intValue(4), _doubleValue(null));
5603 // }
5604 // void test_minus_knownInt_unknownInt() {
5605 // _assertMinus(_intValue(null), _intValue(4), _intValue(null));
5606 // }
5607 // void test_minus_unknownDouble_knownDouble() {
5608 // _assertMinus(_doubleValue(null), _doubleValue(null), _doubleValue(3.0));
5609 // }
5610 // void test_minus_unknownDouble_knownInt() {
5611 // _assertMinus(_doubleValue(null), _doubleValue(null), _intValue(3));
5612 // }
5613 // void test_minus_unknownInt_knownDouble() {
5614 // _assertMinus(_doubleValue(null), _intValue(null), _doubleValue(3.0));
5615 // }
5616 // void test_minus_unknownInt_knownInt() {
5617 // _assertMinus(_intValue(null), _intValue(null), _intValue(3));
5618 // }
5619 // void test_negated_double_known() {
5620 // _assertNegated(_doubleValue(2.0), _doubleValue(-2.0));
5621 // }
5622 // void test_negated_double_unknown() {
5623 // _assertNegated(_doubleValue(null), _doubleValue(null));
5624 // }
5625 // void test_negated_int_known() {
5626 // _assertNegated(_intValue(-3), _intValue(3));
5627 // }
5628 // void test_negated_int_unknown() {
5629 // _assertNegated(_intValue(null), _intValue(null));
5630 // }
5631 // void test_negated_string() {
5632 // _assertNegated(null, _stringValue(null));
5633 // }
5634 // void test_notEqual_bool_false() {
5635 // _assertNotEqual(_boolValue(false), _boolValue(true), _boolValue(true));
5636 // }
5637 // void test_notEqual_bool_true() {
5638 // _assertNotEqual(_boolValue(true), _boolValue(false), _boolValue(true));
5639 // }
5640 // void test_notEqual_bool_unknown() {
5641 // _assertNotEqual(_boolValue(null), _boolValue(null), _boolValue(false));
5642 // }
5643 // void test_notEqual_double_false() {
5644 // _assertNotEqual(_boolValue(false), _doubleValue(2.0), _doubleValue(2.0));
5645 // }
5646 // void test_notEqual_double_true() {
5647 // _assertNotEqual(_boolValue(true), _doubleValue(2.0), _doubleValue(4.0));
5648 // }
5649 // void test_notEqual_double_unknown() {
5650 // _assertNotEqual(_boolValue(null), _doubleValue(1.0), _doubleValue(null));
5651 // }
5652 // void test_notEqual_int_false() {
5653 // _assertNotEqual(_boolValue(false), _intValue(5), _intValue(5));
5654 // }
5655 // void test_notEqual_int_true() {
5656 // _assertNotEqual(_boolValue(true), _intValue(-5), _intValue(5));
5657 // }
5658 // void test_notEqual_int_unknown() {
5659 // _assertNotEqual(_boolValue(null), _intValue(null), _intValue(3));
5660 // }
5661 // void test_notEqual_null() {
5662 // _assertNotEqual(_boolValue(false), _nullValue(), _nullValue());
5663 // }
5664 // void test_notEqual_string_false() {
5665 // _assertNotEqual(_boolValue(false), _stringValue("abc"), _stringValue("abc "));
5666 // }
5667 // void test_notEqual_string_true() {
5668 // _assertNotEqual(_boolValue(true), _stringValue("abc"), _stringValue("def" ));
5669 // }
5670 // void test_notEqual_string_unknown() {
5671 // _assertNotEqual(_boolValue(null), _stringValue(null), _stringValue("def") );
5672 // }
5673 // void test_performToString_bool_false() {
5674 // _assertPerformToString(_stringValue("false"), _boolValue(false));
5675 // }
5676 // void test_performToString_bool_true() {
5677 // _assertPerformToString(_stringValue("true"), _boolValue(true));
5678 // }
5679 // void test_performToString_bool_unknown() {
5680 // _assertPerformToString(_stringValue(null), _boolValue(null));
5681 // }
5682 // void test_performToString_double_known() {
5683 // _assertPerformToString(_stringValue("2.0"), _doubleValue(2.0));
5684 // }
5685 // void test_performToString_double_unknown() {
5686 // _assertPerformToString(_stringValue(null), _doubleValue(null));
5687 // }
5688 // void test_performToString_int_known() {
5689 // _assertPerformToString(_stringValue("5"), _intValue(5));
5690 // }
5691 // void test_performToString_int_unknown() {
5692 // _assertPerformToString(_stringValue(null), _intValue(null));
5693 // }
5694 // void test_performToString_null() {
5695 // _assertPerformToString(_stringValue("null"), _nullValue());
5696 // }
5697 // void test_performToString_string_known() {
5698 // _assertPerformToString(_stringValue("abc"), _stringValue("abc"));
5699 // }
5700 // void test_performToString_string_unknown() {
5701 // _assertPerformToString(_stringValue(null), _stringValue(null));
5702 // }
5703 // void test_remainder_invalid_knownInt() {
5704 // _assertRemainder(null, _stringValue("7"), _intValue(2));
5705 // }
5706 // void test_remainder_knownDouble_knownDouble() {
5707 // _assertRemainder(_doubleValue(1.0), _doubleValue(7.0), _doubleValue(2.0)) ;
5708 // }
5709 // void test_remainder_knownDouble_knownInt() {
5710 // _assertRemainder(_doubleValue(1.0), _doubleValue(7.0), _intValue(2));
5711 // }
5712 // void test_remainder_knownDouble_unknownDouble() {
5713 // _assertRemainder(_doubleValue(null), _doubleValue(7.0), _doubleValue(null ));
5714 // }
5715 // void test_remainder_knownDouble_unknownInt() {
5716 // _assertRemainder(_doubleValue(null), _doubleValue(6.0), _intValue(null));
5717 // }
5718 // void test_remainder_knownInt_invalid() {
5719 // _assertRemainder(null, _intValue(7), _stringValue("2"));
5720 // }
5721 // void test_remainder_knownInt_knownInt() {
5722 // _assertRemainder(_intValue(1), _intValue(7), _intValue(2));
5723 // }
5724 // void test_remainder_knownInt_unknownDouble() {
5725 // _assertRemainder(_doubleValue(null), _intValue(7), _doubleValue(null));
5726 // }
5727 // void test_remainder_knownInt_unknownInt() {
5728 // _assertRemainder(_intValue(null), _intValue(7), _intValue(null));
5729 // }
5730 // void test_remainder_unknownDouble_knownDouble() {
5731 // _assertRemainder(_doubleValue(null), _doubleValue(null), _doubleValue(2.0 ));
5732 // }
5733 // void test_remainder_unknownDouble_knownInt() {
5734 // _assertRemainder(_doubleValue(null), _doubleValue(null), _intValue(2));
5735 // }
5736 // void test_remainder_unknownInt_knownDouble() {
5737 // _assertRemainder(_doubleValue(null), _intValue(null), _doubleValue(2.0));
5738 // }
5739 // void test_remainder_unknownInt_knownInt() {
5740 // _assertRemainder(_intValue(null), _intValue(null), _intValue(2));
5741 // }
5742 // void test_shiftLeft_invalid_knownInt() {
5743 // _assertShiftLeft(null, _stringValue(null), _intValue(3));
5744 // }
5745 // void test_shiftLeft_knownInt_invalid() {
5746 // _assertShiftLeft(null, _intValue(6), _stringValue(null));
5747 // }
5748 // void test_shiftLeft_knownInt_knownInt() {
5749 // _assertShiftLeft(_intValue(48), _intValue(6), _intValue(3));
5750 // }
5751 // void test_shiftLeft_knownInt_tooLarge() {
5752 // _assertShiftLeft(_intValue(null), _intValue(6), new DartObjectImpl(_typeP rovider.intType, new IntState(Long.MAX_VALUE)));
5753 // }
5754 // void test_shiftLeft_knownInt_unknownInt() {
5755 // _assertShiftLeft(_intValue(null), _intValue(6), _intValue(null));
5756 // }
5757 // void test_shiftLeft_unknownInt_knownInt() {
5758 // _assertShiftLeft(_intValue(null), _intValue(null), _intValue(3));
5759 // }
5760 // void test_shiftLeft_unknownInt_unknownInt() {
5761 // _assertShiftLeft(_intValue(null), _intValue(null), _intValue(null));
5762 // }
5763 // void test_shiftRight_invalid_knownInt() {
5764 // _assertShiftRight(null, _stringValue(null), _intValue(3));
5765 // }
5766 // void test_shiftRight_knownInt_invalid() {
5767 // _assertShiftRight(null, _intValue(48), _stringValue(null));
5768 // }
5769 // void test_shiftRight_knownInt_knownInt() {
5770 // _assertShiftRight(_intValue(6), _intValue(48), _intValue(3));
5771 // }
5772 // void test_shiftRight_knownInt_tooLarge() {
5773 // _assertShiftRight(_intValue(null), _intValue(48), new DartObjectImpl(_typ eProvider.intType, new IntState(Long.MAX_VALUE)));
5774 // }
5775 // void test_shiftRight_knownInt_unknownInt() {
5776 // _assertShiftRight(_intValue(null), _intValue(48), _intValue(null));
5777 // }
5778 // void test_shiftRight_unknownInt_knownInt() {
5779 // _assertShiftRight(_intValue(null), _intValue(null), _intValue(3));
5780 // }
5781 // void test_shiftRight_unknownInt_unknownInt() {
5782 // _assertShiftRight(_intValue(null), _intValue(null), _intValue(null));
5783 // }
5784 // void test_times_invalid_knownInt() {
5785 // _assertTimes(null, _stringValue("2"), _intValue(3));
5786 // }
5787 // void test_times_knownDouble_knownDouble() {
5788 // _assertTimes(_doubleValue(6.0), _doubleValue(2.0), _doubleValue(3.0));
5789 // }
5790 // void test_times_knownDouble_knownInt() {
5791 // _assertTimes(_doubleValue(6.0), _doubleValue(2.0), _intValue(3));
5792 // }
5793 // void test_times_knownDouble_unknownDouble() {
5794 // _assertTimes(_doubleValue(null), _doubleValue(2.0), _doubleValue(null));
5795 // }
5796 // void test_times_knownDouble_unknownInt() {
5797 // _assertTimes(_doubleValue(null), _doubleValue(2.0), _intValue(null));
5798 // }
5799 // void test_times_knownInt_invalid() {
5800 // _assertTimes(null, _intValue(2), _stringValue("3"));
5801 // }
5802 // void test_times_knownInt_knownInt() {
5803 // _assertTimes(_intValue(6), _intValue(2), _intValue(3));
5804 // }
5805 // void test_times_knownInt_unknownDouble() {
5806 // _assertTimes(_doubleValue(null), _intValue(2), _doubleValue(null));
5807 // }
5808 // void test_times_knownInt_unknownInt() {
5809 // _assertTimes(_intValue(null), _intValue(2), _intValue(null));
5810 // }
5811 // void test_times_unknownDouble_knownDouble() {
5812 // _assertTimes(_doubleValue(null), _doubleValue(null), _doubleValue(3.0));
5813 // }
5814 // void test_times_unknownDouble_knownInt() {
5815 // _assertTimes(_doubleValue(null), _doubleValue(null), _intValue(3));
5816 // }
5817 // void test_times_unknownInt_knownDouble() {
5818 // _assertTimes(_doubleValue(null), _intValue(null), _doubleValue(3.0));
5819 // }
5820 // void test_times_unknownInt_knownInt() {
5821 // _assertTimes(_intValue(null), _intValue(null), _intValue(3));
5822 // }
5823 // /**
5824 // * Assert that the result of adding the left and right operands is the expe cted value, or that the
5825 // * operation throws an exception if the expected value is `null`.
5826 // *
5827 // * @param expected the expected result of the operation
5828 // * @param leftOperand the left operand to the operation
5829 // * @param rightOperand the left operand to the operation
5830 // * @throws EvaluationException if the result is an exception when it should not be
5831 // */
5832 // void _assertAdd(DartObjectImpl expected, DartObjectImpl leftOperand, DartOb jectImpl rightOperand) {
5833 // if (expected == null) {
5834 // try {
5835 // leftOperand.add(_typeProvider, rightOperand);
5836 // JUnitTestCase.fail("Expected an EvaluationException");
5837 // } on EvaluationException catch (exception) {
5838 // }
5839 // } else {
5840 // DartObjectImpl result = leftOperand.add(_typeProvider, rightOperand);
5841 // JUnitTestCase.assertNotNull(result);
5842 // JUnitTestCase.assertEquals(expected, result);
5843 // }
5844 // }
5845 // /**
5846 // * Assert that the result of bit-anding the left and right operands is the expected value, or that
5847 // * the operation throws an exception if the expected value is `null`.
5848 // *
5849 // * @param expected the expected result of the operation
5850 // * @param leftOperand the left operand to the operation
5851 // * @param rightOperand the left operand to the operation
5852 // * @throws EvaluationException if the result is an exception when it should not be
5853 // */
5854 // void _assertBitAnd(DartObjectImpl expected, DartObjectImpl leftOperand, Dar tObjectImpl rightOperand) {
5855 // if (expected == null) {
5856 // try {
5857 // leftOperand.bitAnd(_typeProvider, rightOperand);
5858 // JUnitTestCase.fail("Expected an EvaluationException");
5859 // } on EvaluationException catch (exception) {
5860 // }
5861 // } else {
5862 // DartObjectImpl result = leftOperand.bitAnd(_typeProvider, rightOperand) ;
5863 // JUnitTestCase.assertNotNull(result);
5864 // JUnitTestCase.assertEquals(expected, result);
5865 // }
5866 // }
5867 // /**
5868 // * Assert that the bit-not of the operand is the expected value, or that th e operation throws an
5869 // * exception if the expected value is `null`.
5870 // *
5871 // * @param expected the expected result of the operation
5872 // * @param operand the operand to the operation
5873 // * @throws EvaluationException if the result is an exception when it should not be
5874 // */
5875 // void _assertBitNot(DartObjectImpl expected, DartObjectImpl operand) {
5876 // if (expected == null) {
5877 // try {
5878 // operand.bitNot(_typeProvider);
5879 // JUnitTestCase.fail("Expected an EvaluationException");
5880 // } on EvaluationException catch (exception) {
5881 // }
5882 // } else {
5883 // DartObjectImpl result = operand.bitNot(_typeProvider);
5884 // JUnitTestCase.assertNotNull(result);
5885 // JUnitTestCase.assertEquals(expected, result);
5886 // }
5887 // }
5888 // /**
5889 // * Assert that the result of bit-oring the left and right operands is the e xpected value, or that
5890 // * the operation throws an exception if the expected value is `null`.
5891 // *
5892 // * @param expected the expected result of the operation
5893 // * @param leftOperand the left operand to the operation
5894 // * @param rightOperand the left operand to the operation
5895 // * @throws EvaluationException if the result is an exception when it should not be
5896 // */
5897 // void _assertBitOr(DartObjectImpl expected, DartObjectImpl leftOperand, Dart ObjectImpl rightOperand) {
5898 // if (expected == null) {
5899 // try {
5900 // leftOperand.bitOr(_typeProvider, rightOperand);
5901 // JUnitTestCase.fail("Expected an EvaluationException");
5902 // } on EvaluationException catch (exception) {
5903 // }
5904 // } else {
5905 // DartObjectImpl result = leftOperand.bitOr(_typeProvider, rightOperand);
5906 // JUnitTestCase.assertNotNull(result);
5907 // JUnitTestCase.assertEquals(expected, result);
5908 // }
5909 // }
5910 // /**
5911 // * Assert that the result of bit-xoring the left and right operands is the expected value, or that
5912 // * the operation throws an exception if the expected value is `null`.
5913 // *
5914 // * @param expected the expected result of the operation
5915 // * @param leftOperand the left operand to the operation
5916 // * @param rightOperand the left operand to the operation
5917 // * @throws EvaluationException if the result is an exception when it should not be
5918 // */
5919 // void _assertBitXor(DartObjectImpl expected, DartObjectImpl leftOperand, Dar tObjectImpl rightOperand) {
5920 // if (expected == null) {
5921 // try {
5922 // leftOperand.bitXor(_typeProvider, rightOperand);
5923 // JUnitTestCase.fail("Expected an EvaluationException");
5924 // } on EvaluationException catch (exception) {
5925 // }
5926 // } else {
5927 // DartObjectImpl result = leftOperand.bitXor(_typeProvider, rightOperand) ;
5928 // JUnitTestCase.assertNotNull(result);
5929 // JUnitTestCase.assertEquals(expected, result);
5930 // }
5931 // }
5932 // /**
5933 // * Assert that the result of concatenating the left and right operands is t he expected value, or
5934 // * that the operation throws an exception if the expected value is `null`.
5935 // *
5936 // * @param expected the expected result of the operation
5937 // * @param leftOperand the left operand to the operation
5938 // * @param rightOperand the left operand to the operation
5939 // * @throws EvaluationException if the result is an exception when it should not be
5940 // */
5941 // void _assertConcatenate(DartObjectImpl expected, DartObjectImpl leftOperand , DartObjectImpl rightOperand) {
5942 // if (expected == null) {
5943 // try {
5944 // leftOperand.concatenate(_typeProvider, rightOperand);
5945 // JUnitTestCase.fail("Expected an EvaluationException");
5946 // } on EvaluationException catch (exception) {
5947 // }
5948 // } else {
5949 // DartObjectImpl result = leftOperand.concatenate(_typeProvider, rightOpe rand);
5950 // JUnitTestCase.assertNotNull(result);
5951 // JUnitTestCase.assertEquals(expected, result);
5952 // }
5953 // }
5954 // /**
5955 // * Assert that the result of dividing the left and right operands is the ex pected value, or that
5956 // * the operation throws an exception if the expected value is `null`.
5957 // *
5958 // * @param expected the expected result of the operation
5959 // * @param leftOperand the left operand to the operation
5960 // * @param rightOperand the left operand to the operation
5961 // * @throws EvaluationException if the result is an exception when it should not be
5962 // */
5963 // void _assertDivide(DartObjectImpl expected, DartObjectImpl leftOperand, Dar tObjectImpl rightOperand) {
5964 // if (expected == null) {
5965 // try {
5966 // leftOperand.divide(_typeProvider, rightOperand);
5967 // JUnitTestCase.fail("Expected an EvaluationException");
5968 // } on EvaluationException catch (exception) {
5969 // }
5970 // } else {
5971 // DartObjectImpl result = leftOperand.divide(_typeProvider, rightOperand) ;
5972 // JUnitTestCase.assertNotNull(result);
5973 // JUnitTestCase.assertEquals(expected, result);
5974 // }
5975 // }
5976 // /**
5977 // * Assert that the result of comparing the left and right operands for equa lity is the expected
5978 // * value, or that the operation throws an exception if the expected value i s `null`.
5979 // *
5980 // * @param expected the expected result of the operation
5981 // * @param leftOperand the left operand to the operation
5982 // * @param rightOperand the left operand to the operation
5983 // * @throws EvaluationException if the result is an exception when it should not be
5984 // */
5985 // void _assertEqualEqual(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) {
5986 // if (expected == null) {
5987 // try {
5988 // leftOperand.equalEqual(_typeProvider, rightOperand);
5989 // JUnitTestCase.fail("Expected an EvaluationException");
5990 // } on EvaluationException catch (exception) {
5991 // }
5992 // } else {
5993 // DartObjectImpl result = leftOperand.equalEqual(_typeProvider, rightOper and);
5994 // JUnitTestCase.assertNotNull(result);
5995 // JUnitTestCase.assertEquals(expected, result);
5996 // }
5997 // }
5998 // /**
5999 // * Assert that the result of comparing the left and right operands is the e xpected value, or that
6000 // * the operation throws an exception if the expected value is `null`.
6001 // *
6002 // * @param expected the expected result of the operation
6003 // * @param leftOperand the left operand to the operation
6004 // * @param rightOperand the left operand to the operation
6005 // * @throws EvaluationException if the result is an exception when it should not be
6006 // */
6007 // void _assertGreaterThan(DartObjectImpl expected, DartObjectImpl leftOperand , DartObjectImpl rightOperand) {
6008 // if (expected == null) {
6009 // try {
6010 // leftOperand.greaterThan(_typeProvider, rightOperand);
6011 // JUnitTestCase.fail("Expected an EvaluationException");
6012 // } on EvaluationException catch (exception) {
6013 // }
6014 // } else {
6015 // DartObjectImpl result = leftOperand.greaterThan(_typeProvider, rightOpe rand);
6016 // JUnitTestCase.assertNotNull(result);
6017 // JUnitTestCase.assertEquals(expected, result);
6018 // }
6019 // }
6020 // /**
6021 // * Assert that the result of comparing the left and right operands is the e xpected value, or that
6022 // * the operation throws an exception if the expected value is `null`.
6023 // *
6024 // * @param expected the expected result of the operation
6025 // * @param leftOperand the left operand to the operation
6026 // * @param rightOperand the left operand to the operation
6027 // * @throws EvaluationException if the result is an exception when it should not be
6028 // */
6029 // void _assertGreaterThanOrEqual(DartObjectImpl expected, DartObjectImpl left Operand, DartObjectImpl rightOperand) {
6030 // if (expected == null) {
6031 // try {
6032 // leftOperand.greaterThanOrEqual(_typeProvider, rightOperand);
6033 // JUnitTestCase.fail("Expected an EvaluationException");
6034 // } on EvaluationException catch (exception) {
6035 // }
6036 // } else {
6037 // DartObjectImpl result = leftOperand.greaterThanOrEqual(_typeProvider, r ightOperand);
6038 // JUnitTestCase.assertNotNull(result);
6039 // JUnitTestCase.assertEquals(expected, result);
6040 // }
6041 // }
6042 // void _assertInstanceOfObjectArray(Object result) {
6043 // // TODO(scheglov) implement
6044 // }
6045 // /**
6046 // * Assert that the result of dividing the left and right operands as intege rs is the expected
6047 // * value, or that the operation throws an exception if the expected value i s `null`.
6048 // *
6049 // * @param expected the expected result of the operation
6050 // * @param leftOperand the left operand to the operation
6051 // * @param rightOperand the left operand to the operation
6052 // * @throws EvaluationException if the result is an exception when it should not be
6053 // */
6054 // void _assertIntegerDivide(DartObjectImpl expected, DartObjectImpl leftOpera nd, DartObjectImpl rightOperand) {
6055 // if (expected == null) {
6056 // try {
6057 // leftOperand.integerDivide(_typeProvider, rightOperand);
6058 // JUnitTestCase.fail("Expected an EvaluationException");
6059 // } on EvaluationException catch (exception) {
6060 // }
6061 // } else {
6062 // DartObjectImpl result = leftOperand.integerDivide(_typeProvider, rightO perand);
6063 // JUnitTestCase.assertNotNull(result);
6064 // JUnitTestCase.assertEquals(expected, result);
6065 // }
6066 // }
6067 // /**
6068 // * Assert that the result of comparing the left and right operands is the e xpected value, or that
6069 // * the operation throws an exception if the expected value is `null`.
6070 // *
6071 // * @param expected the expected result of the operation
6072 // * @param leftOperand the left operand to the operation
6073 // * @param rightOperand the left operand to the operation
6074 // * @throws EvaluationException if the result is an exception when it should not be
6075 // */
6076 // void _assertLessThan(DartObjectImpl expected, DartObjectImpl leftOperand, D artObjectImpl rightOperand) {
6077 // if (expected == null) {
6078 // try {
6079 // leftOperand.lessThan(_typeProvider, rightOperand);
6080 // JUnitTestCase.fail("Expected an EvaluationException");
6081 // } on EvaluationException catch (exception) {
6082 // }
6083 // } else {
6084 // DartObjectImpl result = leftOperand.lessThan(_typeProvider, rightOperan d);
6085 // JUnitTestCase.assertNotNull(result);
6086 // JUnitTestCase.assertEquals(expected, result);
6087 // }
6088 // }
6089 // /**
6090 // * Assert that the result of comparing the left and right operands is the e xpected value, or that
6091 // * the operation throws an exception if the expected value is `null`.
6092 // *
6093 // * @param expected the expected result of the operation
6094 // * @param leftOperand the left operand to the operation
6095 // * @param rightOperand the left operand to the operation
6096 // * @throws EvaluationException if the result is an exception when it should not be
6097 // */
6098 // void _assertLessThanOrEqual(DartObjectImpl expected, DartObjectImpl leftOpe rand, DartObjectImpl rightOperand) {
6099 // if (expected == null) {
6100 // try {
6101 // leftOperand.lessThanOrEqual(_typeProvider, rightOperand);
6102 // JUnitTestCase.fail("Expected an EvaluationException");
6103 // } on EvaluationException catch (exception) {
6104 // }
6105 // } else {
6106 // DartObjectImpl result = leftOperand.lessThanOrEqual(_typeProvider, righ tOperand);
6107 // JUnitTestCase.assertNotNull(result);
6108 // JUnitTestCase.assertEquals(expected, result);
6109 // }
6110 // }
6111 // /**
6112 // * Assert that the result of logical-anding the left and right operands is the expected value, or
6113 // * that the operation throws an exception if the expected value is `null`.
6114 // *
6115 // * @param expected the expected result of the operation
6116 // * @param leftOperand the left operand to the operation
6117 // * @param rightOperand the left operand to the operation
6118 // * @throws EvaluationException if the result is an exception when it should not be
6119 // */
6120 // void _assertLogicalAnd(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) {
6121 // if (expected == null) {
6122 // try {
6123 // leftOperand.logicalAnd(_typeProvider, rightOperand);
6124 // JUnitTestCase.fail("Expected an EvaluationException");
6125 // } on EvaluationException catch (exception) {
6126 // }
6127 // } else {
6128 // DartObjectImpl result = leftOperand.logicalAnd(_typeProvider, rightOper and);
6129 // JUnitTestCase.assertNotNull(result);
6130 // JUnitTestCase.assertEquals(expected, result);
6131 // }
6132 // }
6133 // /**
6134 // * Assert that the logical-not of the operand is the expected value, or tha t the operation throws
6135 // * an exception if the expected value is `null`.
6136 // *
6137 // * @param expected the expected result of the operation
6138 // * @param operand the operand to the operation
6139 // * @throws EvaluationException if the result is an exception when it should not be
6140 // */
6141 // void _assertLogicalNot(DartObjectImpl expected, DartObjectImpl operand) {
6142 // if (expected == null) {
6143 // try {
6144 // operand.logicalNot(_typeProvider);
6145 // JUnitTestCase.fail("Expected an EvaluationException");
6146 // } on EvaluationException catch (exception) {
6147 // }
6148 // } else {
6149 // DartObjectImpl result = operand.logicalNot(_typeProvider);
6150 // JUnitTestCase.assertNotNull(result);
6151 // JUnitTestCase.assertEquals(expected, result);
6152 // }
6153 // }
6154 // /**
6155 // * Assert that the result of logical-oring the left and right operands is t he expected value, or
6156 // * that the operation throws an exception if the expected value is `null`.
6157 // *
6158 // * @param expected the expected result of the operation
6159 // * @param leftOperand the left operand to the operation
6160 // * @param rightOperand the left operand to the operation
6161 // * @throws EvaluationException if the result is an exception when it should not be
6162 // */
6163 // void _assertLogicalOr(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) {
6164 // if (expected == null) {
6165 // try {
6166 // leftOperand.logicalOr(_typeProvider, rightOperand);
6167 // JUnitTestCase.fail("Expected an EvaluationException");
6168 // } on EvaluationException catch (exception) {
6169 // }
6170 // } else {
6171 // DartObjectImpl result = leftOperand.logicalOr(_typeProvider, rightOpera nd);
6172 // JUnitTestCase.assertNotNull(result);
6173 // JUnitTestCase.assertEquals(expected, result);
6174 // }
6175 // }
6176 // /**
6177 // * Assert that the result of subtracting the left and right operands is the expected value, or
6178 // * that the operation throws an exception if the expected value is `null`.
6179 // *
6180 // * @param expected the expected result of the operation
6181 // * @param leftOperand the left operand to the operation
6182 // * @param rightOperand the left operand to the operation
6183 // * @throws EvaluationException if the result is an exception when it should not be
6184 // */
6185 // void _assertMinus(DartObjectImpl expected, DartObjectImpl leftOperand, Dart ObjectImpl rightOperand) {
6186 // if (expected == null) {
6187 // try {
6188 // leftOperand.minus(_typeProvider, rightOperand);
6189 // JUnitTestCase.fail("Expected an EvaluationException");
6190 // } on EvaluationException catch (exception) {
6191 // }
6192 // } else {
6193 // DartObjectImpl result = leftOperand.minus(_typeProvider, rightOperand);
6194 // JUnitTestCase.assertNotNull(result);
6195 // JUnitTestCase.assertEquals(expected, result);
6196 // }
6197 // }
6198 // /**
6199 // * Assert that the negation of the operand is the expected value, or that t he operation throws an
6200 // * exception if the expected value is `null`.
6201 // *
6202 // * @param expected the expected result of the operation
6203 // * @param operand the operand to the operation
6204 // * @throws EvaluationException if the result is an exception when it should not be
6205 // */
6206 // void _assertNegated(DartObjectImpl expected, DartObjectImpl operand) {
6207 // if (expected == null) {
6208 // try {
6209 // operand.negated(_typeProvider);
6210 // JUnitTestCase.fail("Expected an EvaluationException");
6211 // } on EvaluationException catch (exception) {
6212 // }
6213 // } else {
6214 // DartObjectImpl result = operand.negated(_typeProvider);
6215 // JUnitTestCase.assertNotNull(result);
6216 // JUnitTestCase.assertEquals(expected, result);
6217 // }
6218 // }
6219 // /**
6220 // * Assert that the result of comparing the left and right operands for ineq uality is the expected
6221 // * value, or that the operation throws an exception if the expected value i s `null`.
6222 // *
6223 // * @param expected the expected result of the operation
6224 // * @param leftOperand the left operand to the operation
6225 // * @param rightOperand the left operand to the operation
6226 // * @throws EvaluationException if the result is an exception when it should not be
6227 // */
6228 // void _assertNotEqual(DartObjectImpl expected, DartObjectImpl leftOperand, D artObjectImpl rightOperand) {
6229 // if (expected == null) {
6230 // try {
6231 // leftOperand.notEqual(_typeProvider, rightOperand);
6232 // JUnitTestCase.fail("Expected an EvaluationException");
6233 // } on EvaluationException catch (exception) {
6234 // }
6235 // } else {
6236 // DartObjectImpl result = leftOperand.notEqual(_typeProvider, rightOperan d);
6237 // JUnitTestCase.assertNotNull(result);
6238 // JUnitTestCase.assertEquals(expected, result);
6239 // }
6240 // }
6241 // /**
6242 // * Assert that converting the operand to a string is the expected value, or that the operation
6243 // * throws an exception if the expected value is `null`.
6244 // *
6245 // * @param expected the expected result of the operation
6246 // * @param operand the operand to the operation
6247 // * @throws EvaluationException if the result is an exception when it should not be
6248 // */
6249 // void _assertPerformToString(DartObjectImpl expected, DartObjectImpl operand ) {
6250 // if (expected == null) {
6251 // try {
6252 // operand.performToString(_typeProvider);
6253 // JUnitTestCase.fail("Expected an EvaluationException");
6254 // } on EvaluationException catch (exception) {
6255 // }
6256 // } else {
6257 // DartObjectImpl result = operand.performToString(_typeProvider);
6258 // JUnitTestCase.assertNotNull(result);
6259 // JUnitTestCase.assertEquals(expected, result);
6260 // }
6261 // }
6262 // /**
6263 // * Assert that the result of taking the remainder of the left and right ope rands is the expected
6264 // * value, or that the operation throws an exception if the expected value i s `null`.
6265 // *
6266 // * @param expected the expected result of the operation
6267 // * @param leftOperand the left operand to the operation
6268 // * @param rightOperand the left operand to the operation
6269 // * @throws EvaluationException if the result is an exception when it should not be
6270 // */
6271 // void _assertRemainder(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) {
6272 // if (expected == null) {
6273 // try {
6274 // leftOperand.remainder(_typeProvider, rightOperand);
6275 // JUnitTestCase.fail("Expected an EvaluationException");
6276 // } on EvaluationException catch (exception) {
6277 // }
6278 // } else {
6279 // DartObjectImpl result = leftOperand.remainder(_typeProvider, rightOpera nd);
6280 // JUnitTestCase.assertNotNull(result);
6281 // JUnitTestCase.assertEquals(expected, result);
6282 // }
6283 // }
6284 // /**
6285 // * Assert that the result of multiplying the left and right operands is the expected value, or
6286 // * that the operation throws an exception if the expected value is `null`.
6287 // *
6288 // * @param expected the expected result of the operation
6289 // * @param leftOperand the left operand to the operation
6290 // * @param rightOperand the left operand to the operation
6291 // * @throws EvaluationException if the result is an exception when it should not be
6292 // */
6293 // void _assertShiftLeft(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) {
6294 // if (expected == null) {
6295 // try {
6296 // leftOperand.shiftLeft(_typeProvider, rightOperand);
6297 // JUnitTestCase.fail("Expected an EvaluationException");
6298 // } on EvaluationException catch (exception) {
6299 // }
6300 // } else {
6301 // DartObjectImpl result = leftOperand.shiftLeft(_typeProvider, rightOpera nd);
6302 // JUnitTestCase.assertNotNull(result);
6303 // JUnitTestCase.assertEquals(expected, result);
6304 // }
6305 // }
6306 // /**
6307 // * Assert that the result of multiplying the left and right operands is the expected value, or
6308 // * that the operation throws an exception if the expected value is `null`.
6309 // *
6310 // * @param expected the expected result of the operation
6311 // * @param leftOperand the left operand to the operation
6312 // * @param rightOperand the left operand to the operation
6313 // * @throws EvaluationException if the result is an exception when it should not be
6314 // */
6315 // void _assertShiftRight(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) {
6316 // if (expected == null) {
6317 // try {
6318 // leftOperand.shiftRight(_typeProvider, rightOperand);
6319 // JUnitTestCase.fail("Expected an EvaluationException");
6320 // } on EvaluationException catch (exception) {
6321 // }
6322 // } else {
6323 // DartObjectImpl result = leftOperand.shiftRight(_typeProvider, rightOper and);
6324 // JUnitTestCase.assertNotNull(result);
6325 // JUnitTestCase.assertEquals(expected, result);
6326 // }
6327 // }
6328 // /**
6329 // * Assert that the result of multiplying the left and right operands is the expected value, or
6330 // * that the operation throws an exception if the expected value is `null`.
6331 // *
6332 // * @param expected the expected result of the operation
6333 // * @param leftOperand the left operand to the operation
6334 // * @param rightOperand the left operand to the operation
6335 // * @throws EvaluationException if the result is an exception when it should not be
6336 // */
6337 // void _assertTimes(DartObjectImpl expected, DartObjectImpl leftOperand, Dart ObjectImpl rightOperand) {
6338 // if (expected == null) {
6339 // try {
6340 // leftOperand.times(_typeProvider, rightOperand);
6341 // JUnitTestCase.fail("Expected an EvaluationException");
6342 // } on EvaluationException catch (exception) {
6343 // }
6344 // } else {
6345 // DartObjectImpl result = leftOperand.times(_typeProvider, rightOperand);
6346 // JUnitTestCase.assertNotNull(result);
6347 // JUnitTestCase.assertEquals(expected, result);
6348 // }
6349 // }
6350 // DartObjectImpl _boolValue(bool value) {
6351 // if (value == null) {
6352 // return new DartObjectImpl(_typeProvider.boolType, BoolState.UNKNOWN_VAL UE);
6353 // } else if (identical(value, false)) {
6354 // return new DartObjectImpl(_typeProvider.boolType, BoolState.FALSE_STATE );
6355 // } else if (identical(value, true)) {
6356 // return new DartObjectImpl(_typeProvider.boolType, BoolState.TRUE_STATE) ;
6357 // }
6358 // JUnitTestCase.fail("Invalid boolean value used in test");
6359 // return null;
6360 // }
6361 // DartObjectImpl _doubleValue(double value) {
6362 // if (value == null) {
6363 // return new DartObjectImpl(_typeProvider.doubleType, DoubleState.UNKNOWN _VALUE);
6364 // } else {
6365 // return new DartObjectImpl(_typeProvider.doubleType, new DoubleState(val ue));
6366 // }
6367 // }
6368 // DartObjectImpl _dynamicValue() => new DartObjectImpl(_typeProvider.nullType , DynamicState.DYNAMIC_STATE);
6369 // DartObjectImpl _intValue(int value) {
6370 // if (value == null) {
6371 // return new DartObjectImpl(_typeProvider.intType, IntState.UNKNOWN_VALUE );
6372 // } else {
6373 // return new DartObjectImpl(_typeProvider.intType, new IntState(value.lon gValue()));
6374 // }
6375 // }
6376 // DartObjectImpl _listValue(List<DartObjectImpl> elements) => new DartObjectI mpl(_typeProvider.listType, new ListState(elements));
6377 // DartObjectImpl _mapValue(List<DartObjectImpl> keyElementPairs) {
6378 // HashMap<DartObjectImpl, DartObjectImpl> map = new HashMap<DartObjectImpl, DartObjectImpl>();
6379 // int count = keyElementPairs.length;
6380 // for (int i = 0; i < count;) {
6381 // map[keyElementPairs[i++]] = keyElementPairs[i++];
6382 // }
6383 // return new DartObjectImpl(_typeProvider.mapType, new MapState(map));
6384 // }
6385 // DartObjectImpl _nullValue() => new DartObjectImpl(_typeProvider.nullType, N ullState.NULL_STATE);
6386 // DartObjectImpl _numValue() => new DartObjectImpl(_typeProvider.nullType, Nu mState.UNKNOWN_VALUE);
6387 // DartObjectImpl _stringValue(String value) {
6388 // if (value == null) {
6389 // return new DartObjectImpl(_typeProvider.stringType, StringState.UNKNOWN _VALUE);
6390 // } else {
6391 // return new DartObjectImpl(_typeProvider.stringType, new StringState(val ue));
6392 // }
6393 // }
6394 // DartObjectImpl _symbolValue(String value) => new DartObjectImpl(_typeProvid er.symbolType, new SymbolState(value));
6395 // static dartSuite() {
6396 // _ut.group('DartObjectImplTest', () {
6397 // _ut.test('test_add_invalid_knownInt', () {
6398 // final __test = new DartObjectImplTest();
6399 // runJUnitTest(__test, __test.test_add_invalid_knownInt);
6400 // });
6401 // _ut.test('test_add_knownDouble_knownDouble', () {
6402 // final __test = new DartObjectImplTest();
6403 // runJUnitTest(__test, __test.test_add_knownDouble_knownDouble);
6404 // });
6405 // _ut.test('test_add_knownDouble_knownInt', () {
6406 // final __test = new DartObjectImplTest();
6407 // runJUnitTest(__test, __test.test_add_knownDouble_knownInt);
6408 // });
6409 // _ut.test('test_add_knownDouble_unknownDouble', () {
6410 // final __test = new DartObjectImplTest();
6411 // runJUnitTest(__test, __test.test_add_knownDouble_unknownDouble);
6412 // });
6413 // _ut.test('test_add_knownDouble_unknownInt', () {
6414 // final __test = new DartObjectImplTest();
6415 // runJUnitTest(__test, __test.test_add_knownDouble_unknownInt);
6416 // });
6417 // _ut.test('test_add_knownInt_invalid', () {
6418 // final __test = new DartObjectImplTest();
6419 // runJUnitTest(__test, __test.test_add_knownInt_invalid);
6420 // });
6421 // _ut.test('test_add_knownInt_knownInt', () {
6422 // final __test = new DartObjectImplTest();
6423 // runJUnitTest(__test, __test.test_add_knownInt_knownInt);
6424 // });
6425 // _ut.test('test_add_knownInt_unknownDouble', () {
6426 // final __test = new DartObjectImplTest();
6427 // runJUnitTest(__test, __test.test_add_knownInt_unknownDouble);
6428 // });
6429 // _ut.test('test_add_knownInt_unknownInt', () {
6430 // final __test = new DartObjectImplTest();
6431 // runJUnitTest(__test, __test.test_add_knownInt_unknownInt);
6432 // });
6433 // _ut.test('test_add_unknownDouble_knownDouble', () {
6434 // final __test = new DartObjectImplTest();
6435 // runJUnitTest(__test, __test.test_add_unknownDouble_knownDouble);
6436 // });
6437 // _ut.test('test_add_unknownDouble_knownInt', () {
6438 // final __test = new DartObjectImplTest();
6439 // runJUnitTest(__test, __test.test_add_unknownDouble_knownInt);
6440 // });
6441 // _ut.test('test_add_unknownInt_knownDouble', () {
6442 // final __test = new DartObjectImplTest();
6443 // runJUnitTest(__test, __test.test_add_unknownInt_knownDouble);
6444 // });
6445 // _ut.test('test_add_unknownInt_knownInt', () {
6446 // final __test = new DartObjectImplTest();
6447 // runJUnitTest(__test, __test.test_add_unknownInt_knownInt);
6448 // });
6449 // _ut.test('test_bitAnd_invalid_knownInt', () {
6450 // final __test = new DartObjectImplTest();
6451 // runJUnitTest(__test, __test.test_bitAnd_invalid_knownInt);
6452 // });
6453 // _ut.test('test_bitAnd_knownInt_invalid', () {
6454 // final __test = new DartObjectImplTest();
6455 // runJUnitTest(__test, __test.test_bitAnd_knownInt_invalid);
6456 // });
6457 // _ut.test('test_bitAnd_knownInt_knownInt', () {
6458 // final __test = new DartObjectImplTest();
6459 // runJUnitTest(__test, __test.test_bitAnd_knownInt_knownInt);
6460 // });
6461 // _ut.test('test_bitAnd_knownInt_unknownInt', () {
6462 // final __test = new DartObjectImplTest();
6463 // runJUnitTest(__test, __test.test_bitAnd_knownInt_unknownInt);
6464 // });
6465 // _ut.test('test_bitAnd_unknownInt_knownInt', () {
6466 // final __test = new DartObjectImplTest();
6467 // runJUnitTest(__test, __test.test_bitAnd_unknownInt_knownInt);
6468 // });
6469 // _ut.test('test_bitAnd_unknownInt_unknownInt', () {
6470 // final __test = new DartObjectImplTest();
6471 // runJUnitTest(__test, __test.test_bitAnd_unknownInt_unknownInt);
6472 // });
6473 // _ut.test('test_bitNot_invalid', () {
6474 // final __test = new DartObjectImplTest();
6475 // runJUnitTest(__test, __test.test_bitNot_invalid);
6476 // });
6477 // _ut.test('test_bitNot_knownInt', () {
6478 // final __test = new DartObjectImplTest();
6479 // runJUnitTest(__test, __test.test_bitNot_knownInt);
6480 // });
6481 // _ut.test('test_bitNot_unknownInt', () {
6482 // final __test = new DartObjectImplTest();
6483 // runJUnitTest(__test, __test.test_bitNot_unknownInt);
6484 // });
6485 // _ut.test('test_bitOr_invalid_knownInt', () {
6486 // final __test = new DartObjectImplTest();
6487 // runJUnitTest(__test, __test.test_bitOr_invalid_knownInt);
6488 // });
6489 // _ut.test('test_bitOr_knownInt_invalid', () {
6490 // final __test = new DartObjectImplTest();
6491 // runJUnitTest(__test, __test.test_bitOr_knownInt_invalid);
6492 // });
6493 // _ut.test('test_bitOr_knownInt_knownInt', () {
6494 // final __test = new DartObjectImplTest();
6495 // runJUnitTest(__test, __test.test_bitOr_knownInt_knownInt);
6496 // });
6497 // _ut.test('test_bitOr_knownInt_unknownInt', () {
6498 // final __test = new DartObjectImplTest();
6499 // runJUnitTest(__test, __test.test_bitOr_knownInt_unknownInt);
6500 // });
6501 // _ut.test('test_bitOr_unknownInt_knownInt', () {
6502 // final __test = new DartObjectImplTest();
6503 // runJUnitTest(__test, __test.test_bitOr_unknownInt_knownInt);
6504 // });
6505 // _ut.test('test_bitOr_unknownInt_unknownInt', () {
6506 // final __test = new DartObjectImplTest();
6507 // runJUnitTest(__test, __test.test_bitOr_unknownInt_unknownInt);
6508 // });
6509 // _ut.test('test_bitXor_invalid_knownInt', () {
6510 // final __test = new DartObjectImplTest();
6511 // runJUnitTest(__test, __test.test_bitXor_invalid_knownInt);
6512 // });
6513 // _ut.test('test_bitXor_knownInt_invalid', () {
6514 // final __test = new DartObjectImplTest();
6515 // runJUnitTest(__test, __test.test_bitXor_knownInt_invalid);
6516 // });
6517 // _ut.test('test_bitXor_knownInt_knownInt', () {
6518 // final __test = new DartObjectImplTest();
6519 // runJUnitTest(__test, __test.test_bitXor_knownInt_knownInt);
6520 // });
6521 // _ut.test('test_bitXor_knownInt_unknownInt', () {
6522 // final __test = new DartObjectImplTest();
6523 // runJUnitTest(__test, __test.test_bitXor_knownInt_unknownInt);
6524 // });
6525 // _ut.test('test_bitXor_unknownInt_knownInt', () {
6526 // final __test = new DartObjectImplTest();
6527 // runJUnitTest(__test, __test.test_bitXor_unknownInt_knownInt);
6528 // });
6529 // _ut.test('test_bitXor_unknownInt_unknownInt', () {
6530 // final __test = new DartObjectImplTest();
6531 // runJUnitTest(__test, __test.test_bitXor_unknownInt_unknownInt);
6532 // });
6533 // _ut.test('test_concatenate_invalid_knownString', () {
6534 // final __test = new DartObjectImplTest();
6535 // runJUnitTest(__test, __test.test_concatenate_invalid_knownString);
6536 // });
6537 // _ut.test('test_concatenate_knownString_invalid', () {
6538 // final __test = new DartObjectImplTest();
6539 // runJUnitTest(__test, __test.test_concatenate_knownString_invalid);
6540 // });
6541 // _ut.test('test_concatenate_knownString_knownString', () {
6542 // final __test = new DartObjectImplTest();
6543 // runJUnitTest(__test, __test.test_concatenate_knownString_knownString) ;
6544 // });
6545 // _ut.test('test_concatenate_knownString_unknownString', () {
6546 // final __test = new DartObjectImplTest();
6547 // runJUnitTest(__test, __test.test_concatenate_knownString_unknownStrin g);
6548 // });
6549 // _ut.test('test_concatenate_unknownString_knownString', () {
6550 // final __test = new DartObjectImplTest();
6551 // runJUnitTest(__test, __test.test_concatenate_unknownString_knownStrin g);
6552 // });
6553 // _ut.test('test_divide_invalid_knownInt', () {
6554 // final __test = new DartObjectImplTest();
6555 // runJUnitTest(__test, __test.test_divide_invalid_knownInt);
6556 // });
6557 // _ut.test('test_divide_knownDouble_knownDouble', () {
6558 // final __test = new DartObjectImplTest();
6559 // runJUnitTest(__test, __test.test_divide_knownDouble_knownDouble);
6560 // });
6561 // _ut.test('test_divide_knownDouble_knownInt', () {
6562 // final __test = new DartObjectImplTest();
6563 // runJUnitTest(__test, __test.test_divide_knownDouble_knownInt);
6564 // });
6565 // _ut.test('test_divide_knownDouble_unknownDouble', () {
6566 // final __test = new DartObjectImplTest();
6567 // runJUnitTest(__test, __test.test_divide_knownDouble_unknownDouble);
6568 // });
6569 // _ut.test('test_divide_knownDouble_unknownInt', () {
6570 // final __test = new DartObjectImplTest();
6571 // runJUnitTest(__test, __test.test_divide_knownDouble_unknownInt);
6572 // });
6573 // _ut.test('test_divide_knownInt_invalid', () {
6574 // final __test = new DartObjectImplTest();
6575 // runJUnitTest(__test, __test.test_divide_knownInt_invalid);
6576 // });
6577 // _ut.test('test_divide_knownInt_knownInt', () {
6578 // final __test = new DartObjectImplTest();
6579 // runJUnitTest(__test, __test.test_divide_knownInt_knownInt);
6580 // });
6581 // _ut.test('test_divide_knownInt_unknownDouble', () {
6582 // final __test = new DartObjectImplTest();
6583 // runJUnitTest(__test, __test.test_divide_knownInt_unknownDouble);
6584 // });
6585 // _ut.test('test_divide_knownInt_unknownInt', () {
6586 // final __test = new DartObjectImplTest();
6587 // runJUnitTest(__test, __test.test_divide_knownInt_unknownInt);
6588 // });
6589 // _ut.test('test_divide_unknownDouble_knownDouble', () {
6590 // final __test = new DartObjectImplTest();
6591 // runJUnitTest(__test, __test.test_divide_unknownDouble_knownDouble);
6592 // });
6593 // _ut.test('test_divide_unknownDouble_knownInt', () {
6594 // final __test = new DartObjectImplTest();
6595 // runJUnitTest(__test, __test.test_divide_unknownDouble_knownInt);
6596 // });
6597 // _ut.test('test_divide_unknownInt_knownDouble', () {
6598 // final __test = new DartObjectImplTest();
6599 // runJUnitTest(__test, __test.test_divide_unknownInt_knownDouble);
6600 // });
6601 // _ut.test('test_divide_unknownInt_knownInt', () {
6602 // final __test = new DartObjectImplTest();
6603 // runJUnitTest(__test, __test.test_divide_unknownInt_knownInt);
6604 // });
6605 // _ut.test('test_equalEqual_bool_false', () {
6606 // final __test = new DartObjectImplTest();
6607 // runJUnitTest(__test, __test.test_equalEqual_bool_false);
6608 // });
6609 // _ut.test('test_equalEqual_bool_true', () {
6610 // final __test = new DartObjectImplTest();
6611 // runJUnitTest(__test, __test.test_equalEqual_bool_true);
6612 // });
6613 // _ut.test('test_equalEqual_bool_unknown', () {
6614 // final __test = new DartObjectImplTest();
6615 // runJUnitTest(__test, __test.test_equalEqual_bool_unknown);
6616 // });
6617 // _ut.test('test_equalEqual_double_false', () {
6618 // final __test = new DartObjectImplTest();
6619 // runJUnitTest(__test, __test.test_equalEqual_double_false);
6620 // });
6621 // _ut.test('test_equalEqual_double_true', () {
6622 // final __test = new DartObjectImplTest();
6623 // runJUnitTest(__test, __test.test_equalEqual_double_true);
6624 // });
6625 // _ut.test('test_equalEqual_double_unknown', () {
6626 // final __test = new DartObjectImplTest();
6627 // runJUnitTest(__test, __test.test_equalEqual_double_unknown);
6628 // });
6629 // _ut.test('test_equalEqual_int_false', () {
6630 // final __test = new DartObjectImplTest();
6631 // runJUnitTest(__test, __test.test_equalEqual_int_false);
6632 // });
6633 // _ut.test('test_equalEqual_int_true', () {
6634 // final __test = new DartObjectImplTest();
6635 // runJUnitTest(__test, __test.test_equalEqual_int_true);
6636 // });
6637 // _ut.test('test_equalEqual_int_unknown', () {
6638 // final __test = new DartObjectImplTest();
6639 // runJUnitTest(__test, __test.test_equalEqual_int_unknown);
6640 // });
6641 // _ut.test('test_equalEqual_list_empty', () {
6642 // final __test = new DartObjectImplTest();
6643 // runJUnitTest(__test, __test.test_equalEqual_list_empty);
6644 // });
6645 // _ut.test('test_equalEqual_list_false', () {
6646 // final __test = new DartObjectImplTest();
6647 // runJUnitTest(__test, __test.test_equalEqual_list_false);
6648 // });
6649 // _ut.test('test_equalEqual_map_empty', () {
6650 // final __test = new DartObjectImplTest();
6651 // runJUnitTest(__test, __test.test_equalEqual_map_empty);
6652 // });
6653 // _ut.test('test_equalEqual_map_false', () {
6654 // final __test = new DartObjectImplTest();
6655 // runJUnitTest(__test, __test.test_equalEqual_map_false);
6656 // });
6657 // _ut.test('test_equalEqual_null', () {
6658 // final __test = new DartObjectImplTest();
6659 // runJUnitTest(__test, __test.test_equalEqual_null);
6660 // });
6661 // _ut.test('test_equalEqual_string_false', () {
6662 // final __test = new DartObjectImplTest();
6663 // runJUnitTest(__test, __test.test_equalEqual_string_false);
6664 // });
6665 // _ut.test('test_equalEqual_string_true', () {
6666 // final __test = new DartObjectImplTest();
6667 // runJUnitTest(__test, __test.test_equalEqual_string_true);
6668 // });
6669 // _ut.test('test_equalEqual_string_unknown', () {
6670 // final __test = new DartObjectImplTest();
6671 // runJUnitTest(__test, __test.test_equalEqual_string_unknown);
6672 // });
6673 // _ut.test('test_equals_list_false_differentSizes', () {
6674 // final __test = new DartObjectImplTest();
6675 // runJUnitTest(__test, __test.test_equals_list_false_differentSizes);
6676 // });
6677 // _ut.test('test_equals_list_false_sameSize', () {
6678 // final __test = new DartObjectImplTest();
6679 // runJUnitTest(__test, __test.test_equals_list_false_sameSize);
6680 // });
6681 // _ut.test('test_equals_list_true_empty', () {
6682 // final __test = new DartObjectImplTest();
6683 // runJUnitTest(__test, __test.test_equals_list_true_empty);
6684 // });
6685 // _ut.test('test_equals_list_true_nonEmpty', () {
6686 // final __test = new DartObjectImplTest();
6687 // runJUnitTest(__test, __test.test_equals_list_true_nonEmpty);
6688 // });
6689 // _ut.test('test_equals_map_true_empty', () {
6690 // final __test = new DartObjectImplTest();
6691 // runJUnitTest(__test, __test.test_equals_map_true_empty);
6692 // });
6693 // _ut.test('test_equals_symbol_false', () {
6694 // final __test = new DartObjectImplTest();
6695 // runJUnitTest(__test, __test.test_equals_symbol_false);
6696 // });
6697 // _ut.test('test_equals_symbol_true', () {
6698 // final __test = new DartObjectImplTest();
6699 // runJUnitTest(__test, __test.test_equals_symbol_true);
6700 // });
6701 // _ut.test('test_getValue_bool_false', () {
6702 // final __test = new DartObjectImplTest();
6703 // runJUnitTest(__test, __test.test_getValue_bool_false);
6704 // });
6705 // _ut.test('test_getValue_bool_true', () {
6706 // final __test = new DartObjectImplTest();
6707 // runJUnitTest(__test, __test.test_getValue_bool_true);
6708 // });
6709 // _ut.test('test_getValue_bool_unknown', () {
6710 // final __test = new DartObjectImplTest();
6711 // runJUnitTest(__test, __test.test_getValue_bool_unknown);
6712 // });
6713 // _ut.test('test_getValue_double_known', () {
6714 // final __test = new DartObjectImplTest();
6715 // runJUnitTest(__test, __test.test_getValue_double_known);
6716 // });
6717 // _ut.test('test_getValue_double_unknown', () {
6718 // final __test = new DartObjectImplTest();
6719 // runJUnitTest(__test, __test.test_getValue_double_unknown);
6720 // });
6721 // _ut.test('test_getValue_int_known', () {
6722 // final __test = new DartObjectImplTest();
6723 // runJUnitTest(__test, __test.test_getValue_int_known);
6724 // });
6725 // _ut.test('test_getValue_int_unknown', () {
6726 // final __test = new DartObjectImplTest();
6727 // runJUnitTest(__test, __test.test_getValue_int_unknown);
6728 // });
6729 // _ut.test('test_getValue_list_empty', () {
6730 // final __test = new DartObjectImplTest();
6731 // runJUnitTest(__test, __test.test_getValue_list_empty);
6732 // });
6733 // _ut.test('test_getValue_list_valid', () {
6734 // final __test = new DartObjectImplTest();
6735 // runJUnitTest(__test, __test.test_getValue_list_valid);
6736 // });
6737 // _ut.test('test_getValue_map_empty', () {
6738 // final __test = new DartObjectImplTest();
6739 // runJUnitTest(__test, __test.test_getValue_map_empty);
6740 // });
6741 // _ut.test('test_getValue_map_valid', () {
6742 // final __test = new DartObjectImplTest();
6743 // runJUnitTest(__test, __test.test_getValue_map_valid);
6744 // });
6745 // _ut.test('test_getValue_null', () {
6746 // final __test = new DartObjectImplTest();
6747 // runJUnitTest(__test, __test.test_getValue_null);
6748 // });
6749 // _ut.test('test_getValue_string_known', () {
6750 // final __test = new DartObjectImplTest();
6751 // runJUnitTest(__test, __test.test_getValue_string_known);
6752 // });
6753 // _ut.test('test_getValue_string_unknown', () {
6754 // final __test = new DartObjectImplTest();
6755 // runJUnitTest(__test, __test.test_getValue_string_unknown);
6756 // });
6757 // _ut.test('test_greaterThanOrEqual_invalid_knownInt', () {
6758 // final __test = new DartObjectImplTest();
6759 // runJUnitTest(__test, __test.test_greaterThanOrEqual_invalid_knownInt) ;
6760 // });
6761 // _ut.test('test_greaterThanOrEqual_knownDouble_knownDouble_false', () {
6762 // final __test = new DartObjectImplTest();
6763 // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_known Double_false);
6764 // });
6765 // _ut.test('test_greaterThanOrEqual_knownDouble_knownDouble_true', () {
6766 // final __test = new DartObjectImplTest();
6767 // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_known Double_true);
6768 // });
6769 // _ut.test('test_greaterThanOrEqual_knownDouble_knownInt_false', () {
6770 // final __test = new DartObjectImplTest();
6771 // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_known Int_false);
6772 // });
6773 // _ut.test('test_greaterThanOrEqual_knownDouble_knownInt_true', () {
6774 // final __test = new DartObjectImplTest();
6775 // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_known Int_true);
6776 // });
6777 // _ut.test('test_greaterThanOrEqual_knownDouble_unknownDouble', () {
6778 // final __test = new DartObjectImplTest();
6779 // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_unkno wnDouble);
6780 // });
6781 // _ut.test('test_greaterThanOrEqual_knownDouble_unknownInt', () {
6782 // final __test = new DartObjectImplTest();
6783 // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_unkno wnInt);
6784 // });
6785 // _ut.test('test_greaterThanOrEqual_knownInt_invalid', () {
6786 // final __test = new DartObjectImplTest();
6787 // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownInt_invalid) ;
6788 // });
6789 // _ut.test('test_greaterThanOrEqual_knownInt_knownInt_false', () {
6790 // final __test = new DartObjectImplTest();
6791 // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownInt_knownInt _false);
6792 // });
6793 // _ut.test('test_greaterThanOrEqual_knownInt_knownInt_true', () {
6794 // final __test = new DartObjectImplTest();
6795 // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownInt_knownInt _true);
6796 // });
6797 // _ut.test('test_greaterThanOrEqual_knownInt_unknownDouble', () {
6798 // final __test = new DartObjectImplTest();
6799 // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownInt_unknownD ouble);
6800 // });
6801 // _ut.test('test_greaterThanOrEqual_knownInt_unknownInt', () {
6802 // final __test = new DartObjectImplTest();
6803 // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownInt_unknownI nt);
6804 // });
6805 // _ut.test('test_greaterThanOrEqual_unknownDouble_knownDouble', () {
6806 // final __test = new DartObjectImplTest();
6807 // runJUnitTest(__test, __test.test_greaterThanOrEqual_unknownDouble_kno wnDouble);
6808 // });
6809 // _ut.test('test_greaterThanOrEqual_unknownDouble_knownInt', () {
6810 // final __test = new DartObjectImplTest();
6811 // runJUnitTest(__test, __test.test_greaterThanOrEqual_unknownDouble_kno wnInt);
6812 // });
6813 // _ut.test('test_greaterThanOrEqual_unknownInt_knownDouble', () {
6814 // final __test = new DartObjectImplTest();
6815 // runJUnitTest(__test, __test.test_greaterThanOrEqual_unknownInt_knownD ouble);
6816 // });
6817 // _ut.test('test_greaterThanOrEqual_unknownInt_knownInt', () {
6818 // final __test = new DartObjectImplTest();
6819 // runJUnitTest(__test, __test.test_greaterThanOrEqual_unknownInt_knownI nt);
6820 // });
6821 // _ut.test('test_greaterThan_invalid_knownInt', () {
6822 // final __test = new DartObjectImplTest();
6823 // runJUnitTest(__test, __test.test_greaterThan_invalid_knownInt);
6824 // });
6825 // _ut.test('test_greaterThan_knownDouble_knownDouble_false', () {
6826 // final __test = new DartObjectImplTest();
6827 // runJUnitTest(__test, __test.test_greaterThan_knownDouble_knownDouble_ false);
6828 // });
6829 // _ut.test('test_greaterThan_knownDouble_knownDouble_true', () {
6830 // final __test = new DartObjectImplTest();
6831 // runJUnitTest(__test, __test.test_greaterThan_knownDouble_knownDouble_ true);
6832 // });
6833 // _ut.test('test_greaterThan_knownDouble_knownInt_false', () {
6834 // final __test = new DartObjectImplTest();
6835 // runJUnitTest(__test, __test.test_greaterThan_knownDouble_knownInt_fal se);
6836 // });
6837 // _ut.test('test_greaterThan_knownDouble_knownInt_true', () {
6838 // final __test = new DartObjectImplTest();
6839 // runJUnitTest(__test, __test.test_greaterThan_knownDouble_knownInt_tru e);
6840 // });
6841 // _ut.test('test_greaterThan_knownDouble_unknownDouble', () {
6842 // final __test = new DartObjectImplTest();
6843 // runJUnitTest(__test, __test.test_greaterThan_knownDouble_unknownDoubl e);
6844 // });
6845 // _ut.test('test_greaterThan_knownDouble_unknownInt', () {
6846 // final __test = new DartObjectImplTest();
6847 // runJUnitTest(__test, __test.test_greaterThan_knownDouble_unknownInt);
6848 // });
6849 // _ut.test('test_greaterThan_knownInt_invalid', () {
6850 // final __test = new DartObjectImplTest();
6851 // runJUnitTest(__test, __test.test_greaterThan_knownInt_invalid);
6852 // });
6853 // _ut.test('test_greaterThan_knownInt_knownInt_false', () {
6854 // final __test = new DartObjectImplTest();
6855 // runJUnitTest(__test, __test.test_greaterThan_knownInt_knownInt_false) ;
6856 // });
6857 // _ut.test('test_greaterThan_knownInt_knownInt_true', () {
6858 // final __test = new DartObjectImplTest();
6859 // runJUnitTest(__test, __test.test_greaterThan_knownInt_knownInt_true);
6860 // });
6861 // _ut.test('test_greaterThan_knownInt_unknownDouble', () {
6862 // final __test = new DartObjectImplTest();
6863 // runJUnitTest(__test, __test.test_greaterThan_knownInt_unknownDouble);
6864 // });
6865 // _ut.test('test_greaterThan_knownInt_unknownInt', () {
6866 // final __test = new DartObjectImplTest();
6867 // runJUnitTest(__test, __test.test_greaterThan_knownInt_unknownInt);
6868 // });
6869 // _ut.test('test_greaterThan_unknownDouble_knownDouble', () {
6870 // final __test = new DartObjectImplTest();
6871 // runJUnitTest(__test, __test.test_greaterThan_unknownDouble_knownDoubl e);
6872 // });
6873 // _ut.test('test_greaterThan_unknownDouble_knownInt', () {
6874 // final __test = new DartObjectImplTest();
6875 // runJUnitTest(__test, __test.test_greaterThan_unknownDouble_knownInt);
6876 // });
6877 // _ut.test('test_greaterThan_unknownInt_knownDouble', () {
6878 // final __test = new DartObjectImplTest();
6879 // runJUnitTest(__test, __test.test_greaterThan_unknownInt_knownDouble);
6880 // });
6881 // _ut.test('test_greaterThan_unknownInt_knownInt', () {
6882 // final __test = new DartObjectImplTest();
6883 // runJUnitTest(__test, __test.test_greaterThan_unknownInt_knownInt);
6884 // });
6885 // _ut.test('test_hasExactValue_bool_false', () {
6886 // final __test = new DartObjectImplTest();
6887 // runJUnitTest(__test, __test.test_hasExactValue_bool_false);
6888 // });
6889 // _ut.test('test_hasExactValue_bool_true', () {
6890 // final __test = new DartObjectImplTest();
6891 // runJUnitTest(__test, __test.test_hasExactValue_bool_true);
6892 // });
6893 // _ut.test('test_hasExactValue_bool_unknown', () {
6894 // final __test = new DartObjectImplTest();
6895 // runJUnitTest(__test, __test.test_hasExactValue_bool_unknown);
6896 // });
6897 // _ut.test('test_hasExactValue_double_known', () {
6898 // final __test = new DartObjectImplTest();
6899 // runJUnitTest(__test, __test.test_hasExactValue_double_known);
6900 // });
6901 // _ut.test('test_hasExactValue_double_unknown', () {
6902 // final __test = new DartObjectImplTest();
6903 // runJUnitTest(__test, __test.test_hasExactValue_double_unknown);
6904 // });
6905 // _ut.test('test_hasExactValue_dynamic', () {
6906 // final __test = new DartObjectImplTest();
6907 // runJUnitTest(__test, __test.test_hasExactValue_dynamic);
6908 // });
6909 // _ut.test('test_hasExactValue_int_known', () {
6910 // final __test = new DartObjectImplTest();
6911 // runJUnitTest(__test, __test.test_hasExactValue_int_known);
6912 // });
6913 // _ut.test('test_hasExactValue_int_unknown', () {
6914 // final __test = new DartObjectImplTest();
6915 // runJUnitTest(__test, __test.test_hasExactValue_int_unknown);
6916 // });
6917 // _ut.test('test_hasExactValue_list_empty', () {
6918 // final __test = new DartObjectImplTest();
6919 // runJUnitTest(__test, __test.test_hasExactValue_list_empty);
6920 // });
6921 // _ut.test('test_hasExactValue_list_invalid', () {
6922 // final __test = new DartObjectImplTest();
6923 // runJUnitTest(__test, __test.test_hasExactValue_list_invalid);
6924 // });
6925 // _ut.test('test_hasExactValue_list_valid', () {
6926 // final __test = new DartObjectImplTest();
6927 // runJUnitTest(__test, __test.test_hasExactValue_list_valid);
6928 // });
6929 // _ut.test('test_hasExactValue_map_empty', () {
6930 // final __test = new DartObjectImplTest();
6931 // runJUnitTest(__test, __test.test_hasExactValue_map_empty);
6932 // });
6933 // _ut.test('test_hasExactValue_map_invalidKey', () {
6934 // final __test = new DartObjectImplTest();
6935 // runJUnitTest(__test, __test.test_hasExactValue_map_invalidKey);
6936 // });
6937 // _ut.test('test_hasExactValue_map_invalidValue', () {
6938 // final __test = new DartObjectImplTest();
6939 // runJUnitTest(__test, __test.test_hasExactValue_map_invalidValue);
6940 // });
6941 // _ut.test('test_hasExactValue_map_valid', () {
6942 // final __test = new DartObjectImplTest();
6943 // runJUnitTest(__test, __test.test_hasExactValue_map_valid);
6944 // });
6945 // _ut.test('test_hasExactValue_null', () {
6946 // final __test = new DartObjectImplTest();
6947 // runJUnitTest(__test, __test.test_hasExactValue_null);
6948 // });
6949 // _ut.test('test_hasExactValue_num', () {
6950 // final __test = new DartObjectImplTest();
6951 // runJUnitTest(__test, __test.test_hasExactValue_num);
6952 // });
6953 // _ut.test('test_hasExactValue_string_known', () {
6954 // final __test = new DartObjectImplTest();
6955 // runJUnitTest(__test, __test.test_hasExactValue_string_known);
6956 // });
6957 // _ut.test('test_hasExactValue_string_unknown', () {
6958 // final __test = new DartObjectImplTest();
6959 // runJUnitTest(__test, __test.test_hasExactValue_string_unknown);
6960 // });
6961 // _ut.test('test_integerDivide_invalid_knownInt', () {
6962 // final __test = new DartObjectImplTest();
6963 // runJUnitTest(__test, __test.test_integerDivide_invalid_knownInt);
6964 // });
6965 // _ut.test('test_integerDivide_knownDouble_knownDouble', () {
6966 // final __test = new DartObjectImplTest();
6967 // runJUnitTest(__test, __test.test_integerDivide_knownDouble_knownDoubl e);
6968 // });
6969 // _ut.test('test_integerDivide_knownDouble_knownInt', () {
6970 // final __test = new DartObjectImplTest();
6971 // runJUnitTest(__test, __test.test_integerDivide_knownDouble_knownInt);
6972 // });
6973 // _ut.test('test_integerDivide_knownDouble_unknownDouble', () {
6974 // final __test = new DartObjectImplTest();
6975 // runJUnitTest(__test, __test.test_integerDivide_knownDouble_unknownDou ble);
6976 // });
6977 // _ut.test('test_integerDivide_knownDouble_unknownInt', () {
6978 // final __test = new DartObjectImplTest();
6979 // runJUnitTest(__test, __test.test_integerDivide_knownDouble_unknownInt );
6980 // });
6981 // _ut.test('test_integerDivide_knownInt_invalid', () {
6982 // final __test = new DartObjectImplTest();
6983 // runJUnitTest(__test, __test.test_integerDivide_knownInt_invalid);
6984 // });
6985 // _ut.test('test_integerDivide_knownInt_knownInt', () {
6986 // final __test = new DartObjectImplTest();
6987 // runJUnitTest(__test, __test.test_integerDivide_knownInt_knownInt);
6988 // });
6989 // _ut.test('test_integerDivide_knownInt_unknownDouble', () {
6990 // final __test = new DartObjectImplTest();
6991 // runJUnitTest(__test, __test.test_integerDivide_knownInt_unknownDouble );
6992 // });
6993 // _ut.test('test_integerDivide_knownInt_unknownInt', () {
6994 // final __test = new DartObjectImplTest();
6995 // runJUnitTest(__test, __test.test_integerDivide_knownInt_unknownInt);
6996 // });
6997 // _ut.test('test_integerDivide_unknownDouble_knownDouble', () {
6998 // final __test = new DartObjectImplTest();
6999 // runJUnitTest(__test, __test.test_integerDivide_unknownDouble_knownDou ble);
7000 // });
7001 // _ut.test('test_integerDivide_unknownDouble_knownInt', () {
7002 // final __test = new DartObjectImplTest();
7003 // runJUnitTest(__test, __test.test_integerDivide_unknownDouble_knownInt );
7004 // });
7005 // _ut.test('test_integerDivide_unknownInt_knownDouble', () {
7006 // final __test = new DartObjectImplTest();
7007 // runJUnitTest(__test, __test.test_integerDivide_unknownInt_knownDouble );
7008 // });
7009 // _ut.test('test_integerDivide_unknownInt_knownInt', () {
7010 // final __test = new DartObjectImplTest();
7011 // runJUnitTest(__test, __test.test_integerDivide_unknownInt_knownInt);
7012 // });
7013 // _ut.test('test_isBoolNumStringOrNull_bool_false', () {
7014 // final __test = new DartObjectImplTest();
7015 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_bool_false);
7016 // });
7017 // _ut.test('test_isBoolNumStringOrNull_bool_true', () {
7018 // final __test = new DartObjectImplTest();
7019 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_bool_true);
7020 // });
7021 // _ut.test('test_isBoolNumStringOrNull_bool_unknown', () {
7022 // final __test = new DartObjectImplTest();
7023 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_bool_unknown);
7024 // });
7025 // _ut.test('test_isBoolNumStringOrNull_double_known', () {
7026 // final __test = new DartObjectImplTest();
7027 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_double_known);
7028 // });
7029 // _ut.test('test_isBoolNumStringOrNull_double_unknown', () {
7030 // final __test = new DartObjectImplTest();
7031 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_double_unknown );
7032 // });
7033 // _ut.test('test_isBoolNumStringOrNull_dynamic', () {
7034 // final __test = new DartObjectImplTest();
7035 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_dynamic);
7036 // });
7037 // _ut.test('test_isBoolNumStringOrNull_int_known', () {
7038 // final __test = new DartObjectImplTest();
7039 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_int_known);
7040 // });
7041 // _ut.test('test_isBoolNumStringOrNull_int_unknown', () {
7042 // final __test = new DartObjectImplTest();
7043 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_int_unknown);
7044 // });
7045 // _ut.test('test_isBoolNumStringOrNull_list', () {
7046 // final __test = new DartObjectImplTest();
7047 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_list);
7048 // });
7049 // _ut.test('test_isBoolNumStringOrNull_null', () {
7050 // final __test = new DartObjectImplTest();
7051 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_null);
7052 // });
7053 // _ut.test('test_isBoolNumStringOrNull_num', () {
7054 // final __test = new DartObjectImplTest();
7055 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_num);
7056 // });
7057 // _ut.test('test_isBoolNumStringOrNull_string_known', () {
7058 // final __test = new DartObjectImplTest();
7059 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_string_known);
7060 // });
7061 // _ut.test('test_isBoolNumStringOrNull_string_unknown', () {
7062 // final __test = new DartObjectImplTest();
7063 // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_string_unknown );
7064 // });
7065 // _ut.test('test_lessThanOrEqual_invalid_knownInt', () {
7066 // final __test = new DartObjectImplTest();
7067 // runJUnitTest(__test, __test.test_lessThanOrEqual_invalid_knownInt);
7068 // });
7069 // _ut.test('test_lessThanOrEqual_knownDouble_knownDouble_false', () {
7070 // final __test = new DartObjectImplTest();
7071 // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_knownDou ble_false);
7072 // });
7073 // _ut.test('test_lessThanOrEqual_knownDouble_knownDouble_true', () {
7074 // final __test = new DartObjectImplTest();
7075 // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_knownDou ble_true);
7076 // });
7077 // _ut.test('test_lessThanOrEqual_knownDouble_knownInt_false', () {
7078 // final __test = new DartObjectImplTest();
7079 // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_knownInt _false);
7080 // });
7081 // _ut.test('test_lessThanOrEqual_knownDouble_knownInt_true', () {
7082 // final __test = new DartObjectImplTest();
7083 // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_knownInt _true);
7084 // });
7085 // _ut.test('test_lessThanOrEqual_knownDouble_unknownDouble', () {
7086 // final __test = new DartObjectImplTest();
7087 // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_unknownD ouble);
7088 // });
7089 // _ut.test('test_lessThanOrEqual_knownDouble_unknownInt', () {
7090 // final __test = new DartObjectImplTest();
7091 // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_unknownI nt);
7092 // });
7093 // _ut.test('test_lessThanOrEqual_knownInt_invalid', () {
7094 // final __test = new DartObjectImplTest();
7095 // runJUnitTest(__test, __test.test_lessThanOrEqual_knownInt_invalid);
7096 // });
7097 // _ut.test('test_lessThanOrEqual_knownInt_knownInt_false', () {
7098 // final __test = new DartObjectImplTest();
7099 // runJUnitTest(__test, __test.test_lessThanOrEqual_knownInt_knownInt_fa lse);
7100 // });
7101 // _ut.test('test_lessThanOrEqual_knownInt_knownInt_true', () {
7102 // final __test = new DartObjectImplTest();
7103 // runJUnitTest(__test, __test.test_lessThanOrEqual_knownInt_knownInt_tr ue);
7104 // });
7105 // _ut.test('test_lessThanOrEqual_knownInt_unknownDouble', () {
7106 // final __test = new DartObjectImplTest();
7107 // runJUnitTest(__test, __test.test_lessThanOrEqual_knownInt_unknownDoub le);
7108 // });
7109 // _ut.test('test_lessThanOrEqual_knownInt_unknownInt', () {
7110 // final __test = new DartObjectImplTest();
7111 // runJUnitTest(__test, __test.test_lessThanOrEqual_knownInt_unknownInt) ;
7112 // });
7113 // _ut.test('test_lessThanOrEqual_unknownDouble_knownDouble', () {
7114 // final __test = new DartObjectImplTest();
7115 // runJUnitTest(__test, __test.test_lessThanOrEqual_unknownDouble_knownD ouble);
7116 // });
7117 // _ut.test('test_lessThanOrEqual_unknownDouble_knownInt', () {
7118 // final __test = new DartObjectImplTest();
7119 // runJUnitTest(__test, __test.test_lessThanOrEqual_unknownDouble_knownI nt);
7120 // });
7121 // _ut.test('test_lessThanOrEqual_unknownInt_knownDouble', () {
7122 // final __test = new DartObjectImplTest();
7123 // runJUnitTest(__test, __test.test_lessThanOrEqual_unknownInt_knownDoub le);
7124 // });
7125 // _ut.test('test_lessThanOrEqual_unknownInt_knownInt', () {
7126 // final __test = new DartObjectImplTest();
7127 // runJUnitTest(__test, __test.test_lessThanOrEqual_unknownInt_knownInt) ;
7128 // });
7129 // _ut.test('test_lessThan_invalid_knownInt', () {
7130 // final __test = new DartObjectImplTest();
7131 // runJUnitTest(__test, __test.test_lessThan_invalid_knownInt);
7132 // });
7133 // _ut.test('test_lessThan_knownDouble_knownDouble_false', () {
7134 // final __test = new DartObjectImplTest();
7135 // runJUnitTest(__test, __test.test_lessThan_knownDouble_knownDouble_fal se);
7136 // });
7137 // _ut.test('test_lessThan_knownDouble_knownDouble_true', () {
7138 // final __test = new DartObjectImplTest();
7139 // runJUnitTest(__test, __test.test_lessThan_knownDouble_knownDouble_tru e);
7140 // });
7141 // _ut.test('test_lessThan_knownDouble_knownInt_false', () {
7142 // final __test = new DartObjectImplTest();
7143 // runJUnitTest(__test, __test.test_lessThan_knownDouble_knownInt_false) ;
7144 // });
7145 // _ut.test('test_lessThan_knownDouble_knownInt_true', () {
7146 // final __test = new DartObjectImplTest();
7147 // runJUnitTest(__test, __test.test_lessThan_knownDouble_knownInt_true);
7148 // });
7149 // _ut.test('test_lessThan_knownDouble_unknownDouble', () {
7150 // final __test = new DartObjectImplTest();
7151 // runJUnitTest(__test, __test.test_lessThan_knownDouble_unknownDouble);
7152 // });
7153 // _ut.test('test_lessThan_knownDouble_unknownInt', () {
7154 // final __test = new DartObjectImplTest();
7155 // runJUnitTest(__test, __test.test_lessThan_knownDouble_unknownInt);
7156 // });
7157 // _ut.test('test_lessThan_knownInt_invalid', () {
7158 // final __test = new DartObjectImplTest();
7159 // runJUnitTest(__test, __test.test_lessThan_knownInt_invalid);
7160 // });
7161 // _ut.test('test_lessThan_knownInt_knownInt_false', () {
7162 // final __test = new DartObjectImplTest();
7163 // runJUnitTest(__test, __test.test_lessThan_knownInt_knownInt_false);
7164 // });
7165 // _ut.test('test_lessThan_knownInt_knownInt_true', () {
7166 // final __test = new DartObjectImplTest();
7167 // runJUnitTest(__test, __test.test_lessThan_knownInt_knownInt_true);
7168 // });
7169 // _ut.test('test_lessThan_knownInt_unknownDouble', () {
7170 // final __test = new DartObjectImplTest();
7171 // runJUnitTest(__test, __test.test_lessThan_knownInt_unknownDouble);
7172 // });
7173 // _ut.test('test_lessThan_knownInt_unknownInt', () {
7174 // final __test = new DartObjectImplTest();
7175 // runJUnitTest(__test, __test.test_lessThan_knownInt_unknownInt);
7176 // });
7177 // _ut.test('test_lessThan_unknownDouble_knownDouble', () {
7178 // final __test = new DartObjectImplTest();
7179 // runJUnitTest(__test, __test.test_lessThan_unknownDouble_knownDouble);
7180 // });
7181 // _ut.test('test_lessThan_unknownDouble_knownInt', () {
7182 // final __test = new DartObjectImplTest();
7183 // runJUnitTest(__test, __test.test_lessThan_unknownDouble_knownInt);
7184 // });
7185 // _ut.test('test_lessThan_unknownInt_knownDouble', () {
7186 // final __test = new DartObjectImplTest();
7187 // runJUnitTest(__test, __test.test_lessThan_unknownInt_knownDouble);
7188 // });
7189 // _ut.test('test_lessThan_unknownInt_knownInt', () {
7190 // final __test = new DartObjectImplTest();
7191 // runJUnitTest(__test, __test.test_lessThan_unknownInt_knownInt);
7192 // });
7193 // _ut.test('test_logicalAnd_false_false', () {
7194 // final __test = new DartObjectImplTest();
7195 // runJUnitTest(__test, __test.test_logicalAnd_false_false);
7196 // });
7197 // _ut.test('test_logicalAnd_false_null', () {
7198 // final __test = new DartObjectImplTest();
7199 // runJUnitTest(__test, __test.test_logicalAnd_false_null);
7200 // });
7201 // _ut.test('test_logicalAnd_false_string', () {
7202 // final __test = new DartObjectImplTest();
7203 // runJUnitTest(__test, __test.test_logicalAnd_false_string);
7204 // });
7205 // _ut.test('test_logicalAnd_false_true', () {
7206 // final __test = new DartObjectImplTest();
7207 // runJUnitTest(__test, __test.test_logicalAnd_false_true);
7208 // });
7209 // _ut.test('test_logicalAnd_null_false', () {
7210 // final __test = new DartObjectImplTest();
7211 // runJUnitTest(__test, __test.test_logicalAnd_null_false);
7212 // });
7213 // _ut.test('test_logicalAnd_null_true', () {
7214 // final __test = new DartObjectImplTest();
7215 // runJUnitTest(__test, __test.test_logicalAnd_null_true);
7216 // });
7217 // _ut.test('test_logicalAnd_string_false', () {
7218 // final __test = new DartObjectImplTest();
7219 // runJUnitTest(__test, __test.test_logicalAnd_string_false);
7220 // });
7221 // _ut.test('test_logicalAnd_string_true', () {
7222 // final __test = new DartObjectImplTest();
7223 // runJUnitTest(__test, __test.test_logicalAnd_string_true);
7224 // });
7225 // _ut.test('test_logicalAnd_true_false', () {
7226 // final __test = new DartObjectImplTest();
7227 // runJUnitTest(__test, __test.test_logicalAnd_true_false);
7228 // });
7229 // _ut.test('test_logicalAnd_true_null', () {
7230 // final __test = new DartObjectImplTest();
7231 // runJUnitTest(__test, __test.test_logicalAnd_true_null);
7232 // });
7233 // _ut.test('test_logicalAnd_true_string', () {
7234 // final __test = new DartObjectImplTest();
7235 // runJUnitTest(__test, __test.test_logicalAnd_true_string);
7236 // });
7237 // _ut.test('test_logicalAnd_true_true', () {
7238 // final __test = new DartObjectImplTest();
7239 // runJUnitTest(__test, __test.test_logicalAnd_true_true);
7240 // });
7241 // _ut.test('test_logicalNot_false', () {
7242 // final __test = new DartObjectImplTest();
7243 // runJUnitTest(__test, __test.test_logicalNot_false);
7244 // });
7245 // _ut.test('test_logicalNot_null', () {
7246 // final __test = new DartObjectImplTest();
7247 // runJUnitTest(__test, __test.test_logicalNot_null);
7248 // });
7249 // _ut.test('test_logicalNot_string', () {
7250 // final __test = new DartObjectImplTest();
7251 // runJUnitTest(__test, __test.test_logicalNot_string);
7252 // });
7253 // _ut.test('test_logicalNot_true', () {
7254 // final __test = new DartObjectImplTest();
7255 // runJUnitTest(__test, __test.test_logicalNot_true);
7256 // });
7257 // _ut.test('test_logicalNot_unknown', () {
7258 // final __test = new DartObjectImplTest();
7259 // runJUnitTest(__test, __test.test_logicalNot_unknown);
7260 // });
7261 // _ut.test('test_logicalOr_false_false', () {
7262 // final __test = new DartObjectImplTest();
7263 // runJUnitTest(__test, __test.test_logicalOr_false_false);
7264 // });
7265 // _ut.test('test_logicalOr_false_null', () {
7266 // final __test = new DartObjectImplTest();
7267 // runJUnitTest(__test, __test.test_logicalOr_false_null);
7268 // });
7269 // _ut.test('test_logicalOr_false_string', () {
7270 // final __test = new DartObjectImplTest();
7271 // runJUnitTest(__test, __test.test_logicalOr_false_string);
7272 // });
7273 // _ut.test('test_logicalOr_false_true', () {
7274 // final __test = new DartObjectImplTest();
7275 // runJUnitTest(__test, __test.test_logicalOr_false_true);
7276 // });
7277 // _ut.test('test_logicalOr_null_false', () {
7278 // final __test = new DartObjectImplTest();
7279 // runJUnitTest(__test, __test.test_logicalOr_null_false);
7280 // });
7281 // _ut.test('test_logicalOr_null_true', () {
7282 // final __test = new DartObjectImplTest();
7283 // runJUnitTest(__test, __test.test_logicalOr_null_true);
7284 // });
7285 // _ut.test('test_logicalOr_string_false', () {
7286 // final __test = new DartObjectImplTest();
7287 // runJUnitTest(__test, __test.test_logicalOr_string_false);
7288 // });
7289 // _ut.test('test_logicalOr_string_true', () {
7290 // final __test = new DartObjectImplTest();
7291 // runJUnitTest(__test, __test.test_logicalOr_string_true);
7292 // });
7293 // _ut.test('test_logicalOr_true_false', () {
7294 // final __test = new DartObjectImplTest();
7295 // runJUnitTest(__test, __test.test_logicalOr_true_false);
7296 // });
7297 // _ut.test('test_logicalOr_true_null', () {
7298 // final __test = new DartObjectImplTest();
7299 // runJUnitTest(__test, __test.test_logicalOr_true_null);
7300 // });
7301 // _ut.test('test_logicalOr_true_string', () {
7302 // final __test = new DartObjectImplTest();
7303 // runJUnitTest(__test, __test.test_logicalOr_true_string);
7304 // });
7305 // _ut.test('test_logicalOr_true_true', () {
7306 // final __test = new DartObjectImplTest();
7307 // runJUnitTest(__test, __test.test_logicalOr_true_true);
7308 // });
7309 // _ut.test('test_minus_invalid_knownInt', () {
7310 // final __test = new DartObjectImplTest();
7311 // runJUnitTest(__test, __test.test_minus_invalid_knownInt);
7312 // });
7313 // _ut.test('test_minus_knownDouble_knownDouble', () {
7314 // final __test = new DartObjectImplTest();
7315 // runJUnitTest(__test, __test.test_minus_knownDouble_knownDouble);
7316 // });
7317 // _ut.test('test_minus_knownDouble_knownInt', () {
7318 // final __test = new DartObjectImplTest();
7319 // runJUnitTest(__test, __test.test_minus_knownDouble_knownInt);
7320 // });
7321 // _ut.test('test_minus_knownDouble_unknownDouble', () {
7322 // final __test = new DartObjectImplTest();
7323 // runJUnitTest(__test, __test.test_minus_knownDouble_unknownDouble);
7324 // });
7325 // _ut.test('test_minus_knownDouble_unknownInt', () {
7326 // final __test = new DartObjectImplTest();
7327 // runJUnitTest(__test, __test.test_minus_knownDouble_unknownInt);
7328 // });
7329 // _ut.test('test_minus_knownInt_invalid', () {
7330 // final __test = new DartObjectImplTest();
7331 // runJUnitTest(__test, __test.test_minus_knownInt_invalid);
7332 // });
7333 // _ut.test('test_minus_knownInt_knownInt', () {
7334 // final __test = new DartObjectImplTest();
7335 // runJUnitTest(__test, __test.test_minus_knownInt_knownInt);
7336 // });
7337 // _ut.test('test_minus_knownInt_unknownDouble', () {
7338 // final __test = new DartObjectImplTest();
7339 // runJUnitTest(__test, __test.test_minus_knownInt_unknownDouble);
7340 // });
7341 // _ut.test('test_minus_knownInt_unknownInt', () {
7342 // final __test = new DartObjectImplTest();
7343 // runJUnitTest(__test, __test.test_minus_knownInt_unknownInt);
7344 // });
7345 // _ut.test('test_minus_unknownDouble_knownDouble', () {
7346 // final __test = new DartObjectImplTest();
7347 // runJUnitTest(__test, __test.test_minus_unknownDouble_knownDouble);
7348 // });
7349 // _ut.test('test_minus_unknownDouble_knownInt', () {
7350 // final __test = new DartObjectImplTest();
7351 // runJUnitTest(__test, __test.test_minus_unknownDouble_knownInt);
7352 // });
7353 // _ut.test('test_minus_unknownInt_knownDouble', () {
7354 // final __test = new DartObjectImplTest();
7355 // runJUnitTest(__test, __test.test_minus_unknownInt_knownDouble);
7356 // });
7357 // _ut.test('test_minus_unknownInt_knownInt', () {
7358 // final __test = new DartObjectImplTest();
7359 // runJUnitTest(__test, __test.test_minus_unknownInt_knownInt);
7360 // });
7361 // _ut.test('test_negated_double_known', () {
7362 // final __test = new DartObjectImplTest();
7363 // runJUnitTest(__test, __test.test_negated_double_known);
7364 // });
7365 // _ut.test('test_negated_double_unknown', () {
7366 // final __test = new DartObjectImplTest();
7367 // runJUnitTest(__test, __test.test_negated_double_unknown);
7368 // });
7369 // _ut.test('test_negated_int_known', () {
7370 // final __test = new DartObjectImplTest();
7371 // runJUnitTest(__test, __test.test_negated_int_known);
7372 // });
7373 // _ut.test('test_negated_int_unknown', () {
7374 // final __test = new DartObjectImplTest();
7375 // runJUnitTest(__test, __test.test_negated_int_unknown);
7376 // });
7377 // _ut.test('test_negated_string', () {
7378 // final __test = new DartObjectImplTest();
7379 // runJUnitTest(__test, __test.test_negated_string);
7380 // });
7381 // _ut.test('test_notEqual_bool_false', () {
7382 // final __test = new DartObjectImplTest();
7383 // runJUnitTest(__test, __test.test_notEqual_bool_false);
7384 // });
7385 // _ut.test('test_notEqual_bool_true', () {
7386 // final __test = new DartObjectImplTest();
7387 // runJUnitTest(__test, __test.test_notEqual_bool_true);
7388 // });
7389 // _ut.test('test_notEqual_bool_unknown', () {
7390 // final __test = new DartObjectImplTest();
7391 // runJUnitTest(__test, __test.test_notEqual_bool_unknown);
7392 // });
7393 // _ut.test('test_notEqual_double_false', () {
7394 // final __test = new DartObjectImplTest();
7395 // runJUnitTest(__test, __test.test_notEqual_double_false);
7396 // });
7397 // _ut.test('test_notEqual_double_true', () {
7398 // final __test = new DartObjectImplTest();
7399 // runJUnitTest(__test, __test.test_notEqual_double_true);
7400 // });
7401 // _ut.test('test_notEqual_double_unknown', () {
7402 // final __test = new DartObjectImplTest();
7403 // runJUnitTest(__test, __test.test_notEqual_double_unknown);
7404 // });
7405 // _ut.test('test_notEqual_int_false', () {
7406 // final __test = new DartObjectImplTest();
7407 // runJUnitTest(__test, __test.test_notEqual_int_false);
7408 // });
7409 // _ut.test('test_notEqual_int_true', () {
7410 // final __test = new DartObjectImplTest();
7411 // runJUnitTest(__test, __test.test_notEqual_int_true);
7412 // });
7413 // _ut.test('test_notEqual_int_unknown', () {
7414 // final __test = new DartObjectImplTest();
7415 // runJUnitTest(__test, __test.test_notEqual_int_unknown);
7416 // });
7417 // _ut.test('test_notEqual_null', () {
7418 // final __test = new DartObjectImplTest();
7419 // runJUnitTest(__test, __test.test_notEqual_null);
7420 // });
7421 // _ut.test('test_notEqual_string_false', () {
7422 // final __test = new DartObjectImplTest();
7423 // runJUnitTest(__test, __test.test_notEqual_string_false);
7424 // });
7425 // _ut.test('test_notEqual_string_true', () {
7426 // final __test = new DartObjectImplTest();
7427 // runJUnitTest(__test, __test.test_notEqual_string_true);
7428 // });
7429 // _ut.test('test_notEqual_string_unknown', () {
7430 // final __test = new DartObjectImplTest();
7431 // runJUnitTest(__test, __test.test_notEqual_string_unknown);
7432 // });
7433 // _ut.test('test_performToString_bool_false', () {
7434 // final __test = new DartObjectImplTest();
7435 // runJUnitTest(__test, __test.test_performToString_bool_false);
7436 // });
7437 // _ut.test('test_performToString_bool_true', () {
7438 // final __test = new DartObjectImplTest();
7439 // runJUnitTest(__test, __test.test_performToString_bool_true);
7440 // });
7441 // _ut.test('test_performToString_bool_unknown', () {
7442 // final __test = new DartObjectImplTest();
7443 // runJUnitTest(__test, __test.test_performToString_bool_unknown);
7444 // });
7445 // _ut.test('test_performToString_double_known', () {
7446 // final __test = new DartObjectImplTest();
7447 // runJUnitTest(__test, __test.test_performToString_double_known);
7448 // });
7449 // _ut.test('test_performToString_double_unknown', () {
7450 // final __test = new DartObjectImplTest();
7451 // runJUnitTest(__test, __test.test_performToString_double_unknown);
7452 // });
7453 // _ut.test('test_performToString_int_known', () {
7454 // final __test = new DartObjectImplTest();
7455 // runJUnitTest(__test, __test.test_performToString_int_known);
7456 // });
7457 // _ut.test('test_performToString_int_unknown', () {
7458 // final __test = new DartObjectImplTest();
7459 // runJUnitTest(__test, __test.test_performToString_int_unknown);
7460 // });
7461 // _ut.test('test_performToString_null', () {
7462 // final __test = new DartObjectImplTest();
7463 // runJUnitTest(__test, __test.test_performToString_null);
7464 // });
7465 // _ut.test('test_performToString_string_known', () {
7466 // final __test = new DartObjectImplTest();
7467 // runJUnitTest(__test, __test.test_performToString_string_known);
7468 // });
7469 // _ut.test('test_performToString_string_unknown', () {
7470 // final __test = new DartObjectImplTest();
7471 // runJUnitTest(__test, __test.test_performToString_string_unknown);
7472 // });
7473 // _ut.test('test_remainder_invalid_knownInt', () {
7474 // final __test = new DartObjectImplTest();
7475 // runJUnitTest(__test, __test.test_remainder_invalid_knownInt);
7476 // });
7477 // _ut.test('test_remainder_knownDouble_knownDouble', () {
7478 // final __test = new DartObjectImplTest();
7479 // runJUnitTest(__test, __test.test_remainder_knownDouble_knownDouble);
7480 // });
7481 // _ut.test('test_remainder_knownDouble_knownInt', () {
7482 // final __test = new DartObjectImplTest();
7483 // runJUnitTest(__test, __test.test_remainder_knownDouble_knownInt);
7484 // });
7485 // _ut.test('test_remainder_knownDouble_unknownDouble', () {
7486 // final __test = new DartObjectImplTest();
7487 // runJUnitTest(__test, __test.test_remainder_knownDouble_unknownDouble) ;
7488 // });
7489 // _ut.test('test_remainder_knownDouble_unknownInt', () {
7490 // final __test = new DartObjectImplTest();
7491 // runJUnitTest(__test, __test.test_remainder_knownDouble_unknownInt);
7492 // });
7493 // _ut.test('test_remainder_knownInt_invalid', () {
7494 // final __test = new DartObjectImplTest();
7495 // runJUnitTest(__test, __test.test_remainder_knownInt_invalid);
7496 // });
7497 // _ut.test('test_remainder_knownInt_knownInt', () {
7498 // final __test = new DartObjectImplTest();
7499 // runJUnitTest(__test, __test.test_remainder_knownInt_knownInt);
7500 // });
7501 // _ut.test('test_remainder_knownInt_unknownDouble', () {
7502 // final __test = new DartObjectImplTest();
7503 // runJUnitTest(__test, __test.test_remainder_knownInt_unknownDouble);
7504 // });
7505 // _ut.test('test_remainder_knownInt_unknownInt', () {
7506 // final __test = new DartObjectImplTest();
7507 // runJUnitTest(__test, __test.test_remainder_knownInt_unknownInt);
7508 // });
7509 // _ut.test('test_remainder_unknownDouble_knownDouble', () {
7510 // final __test = new DartObjectImplTest();
7511 // runJUnitTest(__test, __test.test_remainder_unknownDouble_knownDouble) ;
7512 // });
7513 // _ut.test('test_remainder_unknownDouble_knownInt', () {
7514 // final __test = new DartObjectImplTest();
7515 // runJUnitTest(__test, __test.test_remainder_unknownDouble_knownInt);
7516 // });
7517 // _ut.test('test_remainder_unknownInt_knownDouble', () {
7518 // final __test = new DartObjectImplTest();
7519 // runJUnitTest(__test, __test.test_remainder_unknownInt_knownDouble);
7520 // });
7521 // _ut.test('test_remainder_unknownInt_knownInt', () {
7522 // final __test = new DartObjectImplTest();
7523 // runJUnitTest(__test, __test.test_remainder_unknownInt_knownInt);
7524 // });
7525 // _ut.test('test_shiftLeft_invalid_knownInt', () {
7526 // final __test = new DartObjectImplTest();
7527 // runJUnitTest(__test, __test.test_shiftLeft_invalid_knownInt);
7528 // });
7529 // _ut.test('test_shiftLeft_knownInt_invalid', () {
7530 // final __test = new DartObjectImplTest();
7531 // runJUnitTest(__test, __test.test_shiftLeft_knownInt_invalid);
7532 // });
7533 // _ut.test('test_shiftLeft_knownInt_knownInt', () {
7534 // final __test = new DartObjectImplTest();
7535 // runJUnitTest(__test, __test.test_shiftLeft_knownInt_knownInt);
7536 // });
7537 // _ut.test('test_shiftLeft_knownInt_tooLarge', () {
7538 // final __test = new DartObjectImplTest();
7539 // runJUnitTest(__test, __test.test_shiftLeft_knownInt_tooLarge);
7540 // });
7541 // _ut.test('test_shiftLeft_knownInt_unknownInt', () {
7542 // final __test = new DartObjectImplTest();
7543 // runJUnitTest(__test, __test.test_shiftLeft_knownInt_unknownInt);
7544 // });
7545 // _ut.test('test_shiftLeft_unknownInt_knownInt', () {
7546 // final __test = new DartObjectImplTest();
7547 // runJUnitTest(__test, __test.test_shiftLeft_unknownInt_knownInt);
7548 // });
7549 // _ut.test('test_shiftLeft_unknownInt_unknownInt', () {
7550 // final __test = new DartObjectImplTest();
7551 // runJUnitTest(__test, __test.test_shiftLeft_unknownInt_unknownInt);
7552 // });
7553 // _ut.test('test_shiftRight_invalid_knownInt', () {
7554 // final __test = new DartObjectImplTest();
7555 // runJUnitTest(__test, __test.test_shiftRight_invalid_knownInt);
7556 // });
7557 // _ut.test('test_shiftRight_knownInt_invalid', () {
7558 // final __test = new DartObjectImplTest();
7559 // runJUnitTest(__test, __test.test_shiftRight_knownInt_invalid);
7560 // });
7561 // _ut.test('test_shiftRight_knownInt_knownInt', () {
7562 // final __test = new DartObjectImplTest();
7563 // runJUnitTest(__test, __test.test_shiftRight_knownInt_knownInt);
7564 // });
7565 // _ut.test('test_shiftRight_knownInt_tooLarge', () {
7566 // final __test = new DartObjectImplTest();
7567 // runJUnitTest(__test, __test.test_shiftRight_knownInt_tooLarge);
7568 // });
7569 // _ut.test('test_shiftRight_knownInt_unknownInt', () {
7570 // final __test = new DartObjectImplTest();
7571 // runJUnitTest(__test, __test.test_shiftRight_knownInt_unknownInt);
7572 // });
7573 // _ut.test('test_shiftRight_unknownInt_knownInt', () {
7574 // final __test = new DartObjectImplTest();
7575 // runJUnitTest(__test, __test.test_shiftRight_unknownInt_knownInt);
7576 // });
7577 // _ut.test('test_shiftRight_unknownInt_unknownInt', () {
7578 // final __test = new DartObjectImplTest();
7579 // runJUnitTest(__test, __test.test_shiftRight_unknownInt_unknownInt);
7580 // });
7581 // _ut.test('test_times_invalid_knownInt', () {
7582 // final __test = new DartObjectImplTest();
7583 // runJUnitTest(__test, __test.test_times_invalid_knownInt);
7584 // });
7585 // _ut.test('test_times_knownDouble_knownDouble', () {
7586 // final __test = new DartObjectImplTest();
7587 // runJUnitTest(__test, __test.test_times_knownDouble_knownDouble);
7588 // });
7589 // _ut.test('test_times_knownDouble_knownInt', () {
7590 // final __test = new DartObjectImplTest();
7591 // runJUnitTest(__test, __test.test_times_knownDouble_knownInt);
7592 // });
7593 // _ut.test('test_times_knownDouble_unknownDouble', () {
7594 // final __test = new DartObjectImplTest();
7595 // runJUnitTest(__test, __test.test_times_knownDouble_unknownDouble);
7596 // });
7597 // _ut.test('test_times_knownDouble_unknownInt', () {
7598 // final __test = new DartObjectImplTest();
7599 // runJUnitTest(__test, __test.test_times_knownDouble_unknownInt);
7600 // });
7601 // _ut.test('test_times_knownInt_invalid', () {
7602 // final __test = new DartObjectImplTest();
7603 // runJUnitTest(__test, __test.test_times_knownInt_invalid);
7604 // });
7605 // _ut.test('test_times_knownInt_knownInt', () {
7606 // final __test = new DartObjectImplTest();
7607 // runJUnitTest(__test, __test.test_times_knownInt_knownInt);
7608 // });
7609 // _ut.test('test_times_knownInt_unknownDouble', () {
7610 // final __test = new DartObjectImplTest();
7611 // runJUnitTest(__test, __test.test_times_knownInt_unknownDouble);
7612 // });
7613 // _ut.test('test_times_knownInt_unknownInt', () {
7614 // final __test = new DartObjectImplTest();
7615 // runJUnitTest(__test, __test.test_times_knownInt_unknownInt);
7616 // });
7617 // _ut.test('test_times_unknownDouble_knownDouble', () {
7618 // final __test = new DartObjectImplTest();
7619 // runJUnitTest(__test, __test.test_times_unknownDouble_knownDouble);
7620 // });
7621 // _ut.test('test_times_unknownDouble_knownInt', () {
7622 // final __test = new DartObjectImplTest();
7623 // runJUnitTest(__test, __test.test_times_unknownDouble_knownInt);
7624 // });
7625 // _ut.test('test_times_unknownInt_knownDouble', () {
7626 // final __test = new DartObjectImplTest();
7627 // runJUnitTest(__test, __test.test_times_unknownInt_knownDouble);
7628 // });
7629 // _ut.test('test_times_unknownInt_knownInt', () {
7630 // final __test = new DartObjectImplTest();
7631 // runJUnitTest(__test, __test.test_times_unknownInt_knownInt);
7632 // });
7633 // });
7634 // }
7635 // }
7636 // class DartUriResolverTest extends JUnitTestCase {
7637 // void test_creation() {
7638 // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory;
7639 // JUnitTestCase.assertNotNull(sdkDirectory);
7640 // DartSdk sdk = new DirectoryBasedDartSdk(sdkDirectory);
7641 // JUnitTestCase.assertNotNull(new DartUriResolver(sdk));
7642 // }
7643 // void test_isDartUri_null_scheme() {
7644 // Uri uri = parseUriWithException("foo.dart");
7645 // JUnitTestCase.assertNull(uri.scheme);
7646 // JUnitTestCase.assertFalse(DartUriResolver.isDartUri(uri));
7647 // }
7648 // void test_resolve_dart() {
7649 // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory;
7650 // JUnitTestCase.assertNotNull(sdkDirectory);
7651 // DartSdk sdk = new DirectoryBasedDartSdk(sdkDirectory);
7652 // UriResolver resolver = new DartUriResolver(sdk);
7653 // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core "));
7654 // JUnitTestCase.assertNotNull(result);
7655 // }
7656 // void test_resolve_dart_nonExistingLibrary() {
7657 // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory;
7658 // JUnitTestCase.assertNotNull(sdkDirectory);
7659 // DartSdk sdk = new DirectoryBasedDartSdk(sdkDirectory);
7660 // UriResolver resolver = new DartUriResolver(sdk);
7661 // Source result = resolver.resolveAbsolute(parseUriWithException("dart:cor" ));
7662 // JUnitTestCase.assertNull(result);
7663 // }
7664 // void test_resolve_nonDart() {
7665 // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory;
7666 // JUnitTestCase.assertNotNull(sdkDirectory);
7667 // DartSdk sdk = new DirectoryBasedDartSdk(sdkDirectory);
7668 // UriResolver resolver = new DartUriResolver(sdk);
7669 // Source result = resolver.resolveAbsolute(parseUriWithException("package:s ome/file.dart"));
7670 // JUnitTestCase.assertNull(result);
7671 // }
7672 // static dartSuite() {
7673 // _ut.group('DartUriResolverTest', () {
7674 // _ut.test('test_creation', () {
7675 // final __test = new DartUriResolverTest();
7676 // runJUnitTest(__test, __test.test_creation);
7677 // });
7678 // _ut.test('test_isDartUri_null_scheme', () {
7679 // final __test = new DartUriResolverTest();
7680 // runJUnitTest(__test, __test.test_isDartUri_null_scheme);
7681 // });
7682 // _ut.test('test_resolve_dart', () {
7683 // final __test = new DartUriResolverTest();
7684 // runJUnitTest(__test, __test.test_resolve_dart);
7685 // });
7686 // _ut.test('test_resolve_dart_nonExistingLibrary', () {
7687 // final __test = new DartUriResolverTest();
7688 // runJUnitTest(__test, __test.test_resolve_dart_nonExistingLibrary);
7689 // });
7690 // _ut.test('test_resolve_nonDart', () {
7691 // final __test = new DartUriResolverTest();
7692 // runJUnitTest(__test, __test.test_resolve_nonDart);
7693 // });
7694 // });
7695 // }
7696 // }
7697 // class DeclaredVariablesTest extends EngineTestCase {
7698 // void test_getBool_false() {
7699 // TestTypeProvider typeProvider = new TestTypeProvider();
7700 // String variableName = "var";
7701 // DeclaredVariables variables = new DeclaredVariables();
7702 // variables.define(variableName, "false");
7703 // DartObject object = variables.getBool(typeProvider, variableName);
7704 // JUnitTestCase.assertNotNull(object);
7705 // JUnitTestCase.assertEquals(false, object.boolValue);
7706 // }
7707 // void test_getBool_invalid() {
7708 // TestTypeProvider typeProvider = new TestTypeProvider();
7709 // String variableName = "var";
7710 // DeclaredVariables variables = new DeclaredVariables();
7711 // variables.define(variableName, "not true");
7712 // _assertNullDartObject(typeProvider, variables.getBool(typeProvider, varia bleName));
7713 // }
7714 // void test_getBool_true() {
7715 // TestTypeProvider typeProvider = new TestTypeProvider();
7716 // String variableName = "var";
7717 // DeclaredVariables variables = new DeclaredVariables();
7718 // variables.define(variableName, "true");
7719 // DartObject object = variables.getBool(typeProvider, variableName);
7720 // JUnitTestCase.assertNotNull(object);
7721 // JUnitTestCase.assertEquals(true, object.boolValue);
7722 // }
7723 // void test_getBool_undefined() {
7724 // TestTypeProvider typeProvider = new TestTypeProvider();
7725 // String variableName = "var";
7726 // DeclaredVariables variables = new DeclaredVariables();
7727 // _assertUnknownDartObject(variables.getBool(typeProvider, variableName));
7728 // }
7729 // void test_getInt_invalid() {
7730 // TestTypeProvider typeProvider = new TestTypeProvider();
7731 // String variableName = "var";
7732 // DeclaredVariables variables = new DeclaredVariables();
7733 // variables.define(variableName, "four score and seven years");
7734 // _assertNullDartObject(typeProvider, variables.getInt(typeProvider, variab leName));
7735 // }
7736 // void test_getInt_undefined() {
7737 // TestTypeProvider typeProvider = new TestTypeProvider();
7738 // String variableName = "var";
7739 // DeclaredVariables variables = new DeclaredVariables();
7740 // _assertUnknownDartObject(variables.getInt(typeProvider, variableName));
7741 // }
7742 // void test_getInt_valid() {
7743 // TestTypeProvider typeProvider = new TestTypeProvider();
7744 // String variableName = "var";
7745 // DeclaredVariables variables = new DeclaredVariables();
7746 // variables.define(variableName, "23");
7747 // DartObject object = variables.getInt(typeProvider, variableName);
7748 // JUnitTestCase.assertNotNull(object);
7749 // JUnitTestCase.assertEquals(23, object.intValue);
7750 // }
7751 // void test_getString_defined() {
7752 // TestTypeProvider typeProvider = new TestTypeProvider();
7753 // String variableName = "var";
7754 // String value = "value";
7755 // DeclaredVariables variables = new DeclaredVariables();
7756 // variables.define(variableName, value);
7757 // DartObject object = variables.getString(typeProvider, variableName);
7758 // JUnitTestCase.assertNotNull(object);
7759 // JUnitTestCase.assertEquals(value, object.stringValue);
7760 // }
7761 // void test_getString_undefined() {
7762 // TestTypeProvider typeProvider = new TestTypeProvider();
7763 // String variableName = "var";
7764 // DeclaredVariables variables = new DeclaredVariables();
7765 // _assertUnknownDartObject(variables.getString(typeProvider, variableName)) ;
7766 // }
7767 // void _assertNullDartObject(TestTypeProvider typeProvider, DartObject result ) {
7768 // JUnitTestCase.assertEquals(typeProvider.nullType, result.type);
7769 // }
7770 // void _assertUnknownDartObject(DartObject result) {
7771 // JUnitTestCase.assertTrue((result as DartObjectImpl).isUnknown);
7772 // }
7773 // static dartSuite() {
7774 // _ut.group('DeclaredVariablesTest', () {
7775 // _ut.test('test_getBool_false', () {
7776 // final __test = new DeclaredVariablesTest();
7777 // runJUnitTest(__test, __test.test_getBool_false);
7778 // });
7779 // _ut.test('test_getBool_invalid', () {
7780 // final __test = new DeclaredVariablesTest();
7781 // runJUnitTest(__test, __test.test_getBool_invalid);
7782 // });
7783 // _ut.test('test_getBool_true', () {
7784 // final __test = new DeclaredVariablesTest();
7785 // runJUnitTest(__test, __test.test_getBool_true);
7786 // });
7787 // _ut.test('test_getBool_undefined', () {
7788 // final __test = new DeclaredVariablesTest();
7789 // runJUnitTest(__test, __test.test_getBool_undefined);
7790 // });
7791 // _ut.test('test_getInt_invalid', () {
7792 // final __test = new DeclaredVariablesTest();
7793 // runJUnitTest(__test, __test.test_getInt_invalid);
7794 // });
7795 // _ut.test('test_getInt_undefined', () {
7796 // final __test = new DeclaredVariablesTest();
7797 // runJUnitTest(__test, __test.test_getInt_undefined);
7798 // });
7799 // _ut.test('test_getInt_valid', () {
7800 // final __test = new DeclaredVariablesTest();
7801 // runJUnitTest(__test, __test.test_getInt_valid);
7802 // });
7803 // _ut.test('test_getString_defined', () {
7804 // final __test = new DeclaredVariablesTest();
7805 // runJUnitTest(__test, __test.test_getString_defined);
7806 // });
7807 // _ut.test('test_getString_undefined', () {
7808 // final __test = new DeclaredVariablesTest();
7809 // runJUnitTest(__test, __test.test_getString_undefined);
7810 // });
7811 // });
7812 // }
7813 // }
7814 // class DirectoryBasedDartSdkTest extends JUnitTestCase {
7815 // void fail_getDocFileFor() {
7816 // DirectoryBasedDartSdk sdk = _createDartSdk();
7817 // JavaFile docFile = sdk.getDocFileFor("html");
7818 // JUnitTestCase.assertNotNull(docFile);
7819 // }
7820 // void test_creation() {
7821 // DirectoryBasedDartSdk sdk = _createDartSdk();
7822 // JUnitTestCase.assertNotNull(sdk);
7823 // }
7824 // void test_fromFile_invalid() {
7825 // DirectoryBasedDartSdk sdk = _createDartSdk();
7826 // JUnitTestCase.assertNull(sdk.fromFileUri(new JavaFile("/not/in/the/sdk.da rt").toURI()));
7827 // }
7828 // void test_fromFile_library() {
7829 // DirectoryBasedDartSdk sdk = _createDartSdk();
7830 // Source source = sdk.fromFileUri(new JavaFile.relative(new JavaFile.relati ve(sdk.libraryDirectory, "core"), "core.dart").toURI());
7831 // JUnitTestCase.assertNotNull(source);
7832 // JUnitTestCase.assertTrue(source.isInSystemLibrary);
7833 // JUnitTestCase.assertEquals("dart:core", source.uri.toString());
7834 // }
7835 // void test_fromFile_part() {
7836 // DirectoryBasedDartSdk sdk = _createDartSdk();
7837 // Source source = sdk.fromFileUri(new JavaFile.relative(new JavaFile.relati ve(sdk.libraryDirectory, "core"), "num.dart").toURI());
7838 // JUnitTestCase.assertNotNull(source);
7839 // JUnitTestCase.assertTrue(source.isInSystemLibrary);
7840 // JUnitTestCase.assertEquals("dart:core/num.dart", source.uri.toString());
7841 // }
7842 // void test_getDart2JsExecutable() {
7843 // DirectoryBasedDartSdk sdk = _createDartSdk();
7844 // JavaFile executable = sdk.dart2JsExecutable;
7845 // JUnitTestCase.assertNotNull(executable);
7846 // JUnitTestCase.assertTrue(executable.exists());
7847 // JUnitTestCase.assertTrue(executable.canExecute());
7848 // }
7849 // void test_getDartFmtExecutable() {
7850 // DirectoryBasedDartSdk sdk = _createDartSdk();
7851 // JavaFile executable = sdk.dartFmtExecutable;
7852 // JUnitTestCase.assertNotNull(executable);
7853 // JUnitTestCase.assertTrue(executable.exists());
7854 // JUnitTestCase.assertTrue(executable.canExecute());
7855 // }
7856 // void test_getDirectory() {
7857 // DirectoryBasedDartSdk sdk = _createDartSdk();
7858 // JavaFile directory = sdk.directory;
7859 // JUnitTestCase.assertNotNull(directory);
7860 // JUnitTestCase.assertTrue(directory.exists());
7861 // }
7862 // void test_getDocDirectory() {
7863 // DirectoryBasedDartSdk sdk = _createDartSdk();
7864 // JavaFile directory = sdk.docDirectory;
7865 // JUnitTestCase.assertNotNull(directory);
7866 // }
7867 // void test_getLibraryDirectory() {
7868 // DirectoryBasedDartSdk sdk = _createDartSdk();
7869 // JavaFile directory = sdk.libraryDirectory;
7870 // JUnitTestCase.assertNotNull(directory);
7871 // JUnitTestCase.assertTrue(directory.exists());
7872 // }
7873 // void test_getPubExecutable() {
7874 // DirectoryBasedDartSdk sdk = _createDartSdk();
7875 // JavaFile executable = sdk.pubExecutable;
7876 // JUnitTestCase.assertNotNull(executable);
7877 // JUnitTestCase.assertTrue(executable.exists());
7878 // JUnitTestCase.assertTrue(executable.canExecute());
7879 // }
7880 // void test_getSdkVersion() {
7881 // DirectoryBasedDartSdk sdk = _createDartSdk();
7882 // String version = sdk.sdkVersion;
7883 // JUnitTestCase.assertNotNull(version);
7884 // JUnitTestCase.assertTrue(version.length > 0);
7885 // }
7886 // void test_getVmExecutable() {
7887 // DirectoryBasedDartSdk sdk = _createDartSdk();
7888 // JavaFile executable = sdk.vmExecutable;
7889 // JUnitTestCase.assertNotNull(executable);
7890 // JUnitTestCase.assertTrue(executable.exists());
7891 // JUnitTestCase.assertTrue(executable.canExecute());
7892 // }
7893 // DirectoryBasedDartSdk _createDartSdk() {
7894 // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory;
7895 // JUnitTestCase.assertNotNullMsg("No SDK configured; set the property 'com. google.dart.sdk' on the command line", sdkDirectory);
7896 // return new DirectoryBasedDartSdk(sdkDirectory);
7897 // }
7898 // static dartSuite() {
7899 // _ut.group('DirectoryBasedDartSdkTest', () {
7900 // _ut.test('test_creation', () {
7901 // final __test = new DirectoryBasedDartSdkTest();
7902 // runJUnitTest(__test, __test.test_creation);
7903 // });
7904 // _ut.test('test_fromFile_invalid', () {
7905 // final __test = new DirectoryBasedDartSdkTest();
7906 // runJUnitTest(__test, __test.test_fromFile_invalid);
7907 // });
7908 // _ut.test('test_fromFile_library', () {
7909 // final __test = new DirectoryBasedDartSdkTest();
7910 // runJUnitTest(__test, __test.test_fromFile_library);
7911 // });
7912 // _ut.test('test_fromFile_part', () {
7913 // final __test = new DirectoryBasedDartSdkTest();
7914 // runJUnitTest(__test, __test.test_fromFile_part);
7915 // });
7916 // _ut.test('test_getDart2JsExecutable', () {
7917 // final __test = new DirectoryBasedDartSdkTest();
7918 // runJUnitTest(__test, __test.test_getDart2JsExecutable);
7919 // });
7920 // _ut.test('test_getDartFmtExecutable', () {
7921 // final __test = new DirectoryBasedDartSdkTest();
7922 // runJUnitTest(__test, __test.test_getDartFmtExecutable);
7923 // });
7924 // _ut.test('test_getDirectory', () {
7925 // final __test = new DirectoryBasedDartSdkTest();
7926 // runJUnitTest(__test, __test.test_getDirectory);
7927 // });
7928 // _ut.test('test_getDocDirectory', () {
7929 // final __test = new DirectoryBasedDartSdkTest();
7930 // runJUnitTest(__test, __test.test_getDocDirectory);
7931 // });
7932 // _ut.test('test_getLibraryDirectory', () {
7933 // final __test = new DirectoryBasedDartSdkTest();
7934 // runJUnitTest(__test, __test.test_getLibraryDirectory);
7935 // });
7936 // _ut.test('test_getPubExecutable', () {
7937 // final __test = new DirectoryBasedDartSdkTest();
7938 // runJUnitTest(__test, __test.test_getPubExecutable);
7939 // });
7940 // _ut.test('test_getSdkVersion', () {
7941 // final __test = new DirectoryBasedDartSdkTest();
7942 // runJUnitTest(__test, __test.test_getSdkVersion);
7943 // });
7944 // _ut.test('test_getVmExecutable', () {
7945 // final __test = new DirectoryBasedDartSdkTest();
7946 // runJUnitTest(__test, __test.test_getVmExecutable);
7947 // });
7948 // });
7949 // }
7950 // }
7951 // class DirectoryBasedSourceContainerTest extends JUnitTestCase {
7952 // void test_contains() {
7953 // JavaFile dir = FileUtilities2.createFile("/does/not/exist");
7954 // JavaFile file1 = FileUtilities2.createFile("/does/not/exist/some.dart");
7955 // JavaFile file2 = FileUtilities2.createFile("/does/not/exist/folder/some2. dart");
7956 // JavaFile file3 = FileUtilities2.createFile("/does/not/exist3/some3.dart") ;
7957 // FileBasedSource source1 = new FileBasedSource.con1(file1);
7958 // FileBasedSource source2 = new FileBasedSource.con1(file2);
7959 // FileBasedSource source3 = new FileBasedSource.con1(file3);
7960 // DirectoryBasedSourceContainer container = new DirectoryBasedSourceContain er.con1(dir);
7961 // JUnitTestCase.assertTrue(container.contains(source1));
7962 // JUnitTestCase.assertTrue(container.contains(source2));
7963 // JUnitTestCase.assertFalse(container.contains(source3));
7964 // }
7965 // static dartSuite() {
7966 // _ut.group('DirectoryBasedSourceContainerTest', () {
7967 // _ut.test('test_contains', () {
7968 // final __test = new DirectoryBasedSourceContainerTest();
7969 // runJUnitTest(__test, __test.test_contains);
7970 // });
7971 // });
7972 // }
7973 // }
7974 // class ElementBuilderTest extends EngineTestCase {
7975 // void test_visitCatchClause() {
7976 // ElementHolder holder = new ElementHolder();
7977 // ElementBuilder builder = new ElementBuilder(holder);
7978 // String exceptionParameterName = "e";
7979 // String stackParameterName = "s";
7980 // CatchClause clause = AstFactory.catchClause2(exceptionParameterName, stac kParameterName, []);
7981 // clause.accept(builder);
7982 // List<LocalVariableElement> variables = holder.localVariables;
7983 // EngineTestCase.assertLength(2, variables);
7984 // VariableElement exceptionVariable = variables[0];
7985 // JUnitTestCase.assertNotNull(exceptionVariable);
7986 // JUnitTestCase.assertEquals(exceptionParameterName, exceptionVariable.name );
7987 // JUnitTestCase.assertFalse(exceptionVariable.isSynthetic);
7988 // JUnitTestCase.assertFalse(exceptionVariable.isConst);
7989 // JUnitTestCase.assertFalse(exceptionVariable.isFinal);
7990 // JUnitTestCase.assertNull(exceptionVariable.initializer);
7991 // VariableElement stackVariable = variables[1];
7992 // JUnitTestCase.assertNotNull(stackVariable);
7993 // JUnitTestCase.assertEquals(stackParameterName, stackVariable.name);
7994 // JUnitTestCase.assertFalse(stackVariable.isSynthetic);
7995 // JUnitTestCase.assertFalse(stackVariable.isConst);
7996 // JUnitTestCase.assertFalse(stackVariable.isFinal);
7997 // JUnitTestCase.assertNull(stackVariable.initializer);
7998 // }
7999 // void test_visitClassDeclaration_abstract() {
8000 // ElementHolder holder = new ElementHolder();
8001 // ElementBuilder builder = new ElementBuilder(holder);
8002 // String className = "C";
8003 // ClassDeclaration classDeclaration = AstFactory.classDeclaration(Keyword.A BSTRACT, className, null, null, null, null, []);
8004 // classDeclaration.accept(builder);
8005 // List<ClassElement> types = holder.types;
8006 // EngineTestCase.assertLength(1, types);
8007 // ClassElement type = types[0];
8008 // JUnitTestCase.assertNotNull(type);
8009 // JUnitTestCase.assertEquals(className, type.name);
8010 // List<TypeParameterElement> typeParameters = type.typeParameters;
8011 // EngineTestCase.assertLength(0, typeParameters);
8012 // JUnitTestCase.assertTrue(type.isAbstract);
8013 // JUnitTestCase.assertFalse(type.isSynthetic);
8014 // }
8015 // void test_visitClassDeclaration_minimal() {
8016 // ElementHolder holder = new ElementHolder();
8017 // ElementBuilder builder = new ElementBuilder(holder);
8018 // String className = "C";
8019 // ClassDeclaration classDeclaration = AstFactory.classDeclaration(null, cla ssName, null, null, null, null, []);
8020 // classDeclaration.accept(builder);
8021 // List<ClassElement> types = holder.types;
8022 // EngineTestCase.assertLength(1, types);
8023 // ClassElement type = types[0];
8024 // JUnitTestCase.assertNotNull(type);
8025 // JUnitTestCase.assertEquals(className, type.name);
8026 // List<TypeParameterElement> typeParameters = type.typeParameters;
8027 // EngineTestCase.assertLength(0, typeParameters);
8028 // JUnitTestCase.assertFalse(type.isAbstract);
8029 // JUnitTestCase.assertFalse(type.isSynthetic);
8030 // }
8031 // void test_visitClassDeclaration_parameterized() {
8032 // ElementHolder holder = new ElementHolder();
8033 // ElementBuilder builder = new ElementBuilder(holder);
8034 // String className = "C";
8035 // String firstVariableName = "E";
8036 // String secondVariableName = "F";
8037 // ClassDeclaration classDeclaration = AstFactory.classDeclaration(null, cla ssName, AstFactory.typeParameterList([firstVariableName, secondVariableName]), n ull, null, null, []);
8038 // classDeclaration.accept(builder);
8039 // List<ClassElement> types = holder.types;
8040 // EngineTestCase.assertLength(1, types);
8041 // ClassElement type = types[0];
8042 // JUnitTestCase.assertNotNull(type);
8043 // JUnitTestCase.assertEquals(className, type.name);
8044 // List<TypeParameterElement> typeParameters = type.typeParameters;
8045 // EngineTestCase.assertLength(2, typeParameters);
8046 // JUnitTestCase.assertEquals(firstVariableName, typeParameters[0].name);
8047 // JUnitTestCase.assertEquals(secondVariableName, typeParameters[1].name);
8048 // JUnitTestCase.assertFalse(type.isAbstract);
8049 // JUnitTestCase.assertFalse(type.isSynthetic);
8050 // }
8051 // void test_visitClassDeclaration_withMembers() {
8052 // ElementHolder holder = new ElementHolder();
8053 // ElementBuilder builder = new ElementBuilder(holder);
8054 // String className = "C";
8055 // String typeParameterName = "E";
8056 // String fieldName = "f";
8057 // String methodName = "m";
8058 // ClassDeclaration classDeclaration = AstFactory.classDeclaration(null, cla ssName, AstFactory.typeParameterList([typeParameterName]), null, null, null, [
8059 // AstFactory.fieldDeclaration2(false, null, [AstFactory.variableDeclara tion(fieldName)]),
8060 // AstFactory.methodDeclaration2(null, null, null, null, AstFactory.iden tifier3(methodName), AstFactory.formalParameterList([]), AstFactory.blockFunctio nBody2([]))]);
8061 // classDeclaration.accept(builder);
8062 // List<ClassElement> types = holder.types;
8063 // EngineTestCase.assertLength(1, types);
8064 // ClassElement type = types[0];
8065 // JUnitTestCase.assertNotNull(type);
8066 // JUnitTestCase.assertEquals(className, type.name);
8067 // JUnitTestCase.assertFalse(type.isAbstract);
8068 // JUnitTestCase.assertFalse(type.isSynthetic);
8069 // List<TypeParameterElement> typeParameters = type.typeParameters;
8070 // EngineTestCase.assertLength(1, typeParameters);
8071 // TypeParameterElement typeParameter = typeParameters[0];
8072 // JUnitTestCase.assertNotNull(typeParameter);
8073 // JUnitTestCase.assertEquals(typeParameterName, typeParameter.name);
8074 // List<FieldElement> fields = type.fields;
8075 // EngineTestCase.assertLength(1, fields);
8076 // FieldElement field = fields[0];
8077 // JUnitTestCase.assertNotNull(field);
8078 // JUnitTestCase.assertEquals(fieldName, field.name);
8079 // List<MethodElement> methods = type.methods;
8080 // EngineTestCase.assertLength(1, methods);
8081 // MethodElement method = methods[0];
8082 // JUnitTestCase.assertNotNull(method);
8083 // JUnitTestCase.assertEquals(methodName, method.name);
8084 // }
8085 // void test_visitConstructorDeclaration_factory() {
8086 // ElementHolder holder = new ElementHolder();
8087 // ElementBuilder builder = new ElementBuilder(holder);
8088 // String className = "A";
8089 // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDec laration2(null, Keyword.FACTORY, AstFactory.identifier3(className), null, AstFac tory.formalParameterList([]), null, AstFactory.blockFunctionBody2([]));
8090 // constructorDeclaration.accept(builder);
8091 // List<ConstructorElement> constructors = holder.constructors;
8092 // EngineTestCase.assertLength(1, constructors);
8093 // ConstructorElement constructor = constructors[0];
8094 // JUnitTestCase.assertNotNull(constructor);
8095 // JUnitTestCase.assertTrue(constructor.isFactory);
8096 // JUnitTestCase.assertEquals("", constructor.name);
8097 // EngineTestCase.assertLength(0, constructor.functions);
8098 // EngineTestCase.assertLength(0, constructor.labels);
8099 // EngineTestCase.assertLength(0, constructor.localVariables);
8100 // EngineTestCase.assertLength(0, constructor.parameters);
8101 // }
8102 // void test_visitConstructorDeclaration_minimal() {
8103 // ElementHolder holder = new ElementHolder();
8104 // ElementBuilder builder = new ElementBuilder(holder);
8105 // String className = "A";
8106 // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDec laration2(null, null, AstFactory.identifier3(className), null, AstFactory.formal ParameterList([]), null, AstFactory.blockFunctionBody2([]));
8107 // constructorDeclaration.accept(builder);
8108 // List<ConstructorElement> constructors = holder.constructors;
8109 // EngineTestCase.assertLength(1, constructors);
8110 // ConstructorElement constructor = constructors[0];
8111 // JUnitTestCase.assertNotNull(constructor);
8112 // JUnitTestCase.assertFalse(constructor.isFactory);
8113 // JUnitTestCase.assertEquals("", constructor.name);
8114 // EngineTestCase.assertLength(0, constructor.functions);
8115 // EngineTestCase.assertLength(0, constructor.labels);
8116 // EngineTestCase.assertLength(0, constructor.localVariables);
8117 // EngineTestCase.assertLength(0, constructor.parameters);
8118 // }
8119 // void test_visitConstructorDeclaration_named() {
8120 // ElementHolder holder = new ElementHolder();
8121 // ElementBuilder builder = new ElementBuilder(holder);
8122 // String className = "A";
8123 // String constructorName = "c";
8124 // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDec laration2(null, null, AstFactory.identifier3(className), constructorName, AstFac tory.formalParameterList([]), null, AstFactory.blockFunctionBody2([]));
8125 // constructorDeclaration.accept(builder);
8126 // List<ConstructorElement> constructors = holder.constructors;
8127 // EngineTestCase.assertLength(1, constructors);
8128 // ConstructorElement constructor = constructors[0];
8129 // JUnitTestCase.assertNotNull(constructor);
8130 // JUnitTestCase.assertFalse(constructor.isFactory);
8131 // JUnitTestCase.assertEquals(constructorName, constructor.name);
8132 // EngineTestCase.assertLength(0, constructor.functions);
8133 // EngineTestCase.assertLength(0, constructor.labels);
8134 // EngineTestCase.assertLength(0, constructor.localVariables);
8135 // EngineTestCase.assertLength(0, constructor.parameters);
8136 // JUnitTestCase.assertSame(constructor, constructorDeclaration.name.staticE lement);
8137 // JUnitTestCase.assertSame(constructor, constructorDeclaration.element);
8138 // }
8139 // void test_visitConstructorDeclaration_unnamed() {
8140 // ElementHolder holder = new ElementHolder();
8141 // ElementBuilder builder = new ElementBuilder(holder);
8142 // String className = "A";
8143 // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDec laration2(null, null, AstFactory.identifier3(className), null, AstFactory.formal ParameterList([]), null, AstFactory.blockFunctionBody2([]));
8144 // constructorDeclaration.accept(builder);
8145 // List<ConstructorElement> constructors = holder.constructors;
8146 // EngineTestCase.assertLength(1, constructors);
8147 // ConstructorElement constructor = constructors[0];
8148 // JUnitTestCase.assertNotNull(constructor);
8149 // JUnitTestCase.assertFalse(constructor.isFactory);
8150 // JUnitTestCase.assertEquals("", constructor.name);
8151 // EngineTestCase.assertLength(0, constructor.functions);
8152 // EngineTestCase.assertLength(0, constructor.labels);
8153 // EngineTestCase.assertLength(0, constructor.localVariables);
8154 // EngineTestCase.assertLength(0, constructor.parameters);
8155 // JUnitTestCase.assertSame(constructor, constructorDeclaration.element);
8156 // }
8157 // void test_visitEnumDeclaration() {
8158 // ElementHolder holder = new ElementHolder();
8159 // ElementBuilder builder = new ElementBuilder(holder);
8160 // String enumName = "E";
8161 // EnumDeclaration enumDeclaration = AstFactory.enumDeclaration2(enumName, [ "ONE"]);
8162 // enumDeclaration.accept(builder);
8163 // List<ClassElement> enums = holder.enums;
8164 // EngineTestCase.assertLength(1, enums);
8165 // ClassElement enumElement = enums[0];
8166 // JUnitTestCase.assertNotNull(enumElement);
8167 // JUnitTestCase.assertEquals(enumName, enumElement.name);
8168 // }
8169 // void test_visitFieldDeclaration() {
8170 // ElementHolder holder = new ElementHolder();
8171 // ElementBuilder builder = new ElementBuilder(holder);
8172 // String firstFieldName = "x";
8173 // String secondFieldName = "y";
8174 // FieldDeclaration fieldDeclaration = AstFactory.fieldDeclaration2(false, n ull, [
8175 // AstFactory.variableDeclaration(firstFieldName),
8176 // AstFactory.variableDeclaration(secondFieldName)]);
8177 // fieldDeclaration.accept(builder);
8178 // List<FieldElement> fields = holder.fields;
8179 // EngineTestCase.assertLength(2, fields);
8180 // FieldElement firstField = fields[0];
8181 // JUnitTestCase.assertNotNull(firstField);
8182 // JUnitTestCase.assertEquals(firstFieldName, firstField.name);
8183 // JUnitTestCase.assertNull(firstField.initializer);
8184 // JUnitTestCase.assertFalse(firstField.isConst);
8185 // JUnitTestCase.assertFalse(firstField.isFinal);
8186 // JUnitTestCase.assertFalse(firstField.isSynthetic);
8187 // FieldElement secondField = fields[1];
8188 // JUnitTestCase.assertNotNull(secondField);
8189 // JUnitTestCase.assertEquals(secondFieldName, secondField.name);
8190 // JUnitTestCase.assertNull(secondField.initializer);
8191 // JUnitTestCase.assertFalse(secondField.isConst);
8192 // JUnitTestCase.assertFalse(secondField.isFinal);
8193 // JUnitTestCase.assertFalse(secondField.isSynthetic);
8194 // }
8195 // void test_visitFieldFormalParameter() {
8196 // ElementHolder holder = new ElementHolder();
8197 // ElementBuilder builder = new ElementBuilder(holder);
8198 // String parameterName = "p";
8199 // FieldFormalParameter formalParameter = AstFactory.fieldFormalParameter(nu ll, null, parameterName);
8200 // formalParameter.accept(builder);
8201 // List<ParameterElement> parameters = holder.parameters;
8202 // EngineTestCase.assertLength(1, parameters);
8203 // ParameterElement parameter = parameters[0];
8204 // JUnitTestCase.assertNotNull(parameter);
8205 // JUnitTestCase.assertEquals(parameterName, parameter.name);
8206 // JUnitTestCase.assertNull(parameter.initializer);
8207 // JUnitTestCase.assertFalse(parameter.isConst);
8208 // JUnitTestCase.assertFalse(parameter.isFinal);
8209 // JUnitTestCase.assertFalse(parameter.isSynthetic);
8210 // JUnitTestCase.assertEquals(ParameterKind.REQUIRED, parameter.parameterKin d);
8211 // EngineTestCase.assertLength(0, parameter.parameters);
8212 // }
8213 // void test_visitFieldFormalParameter_funtionTyped() {
8214 // ElementHolder holder = new ElementHolder();
8215 // ElementBuilder builder = new ElementBuilder(holder);
8216 // String parameterName = "p";
8217 // FieldFormalParameter formalParameter = AstFactory.fieldFormalParameter(nu ll, null, parameterName, AstFactory.formalParameterList([AstFactory.simpleFormal Parameter3("a")]));
8218 // formalParameter.accept(builder);
8219 // List<ParameterElement> parameters = holder.parameters;
8220 // EngineTestCase.assertLength(1, parameters);
8221 // ParameterElement parameter = parameters[0];
8222 // JUnitTestCase.assertNotNull(parameter);
8223 // JUnitTestCase.assertEquals(parameterName, parameter.name);
8224 // JUnitTestCase.assertNull(parameter.initializer);
8225 // JUnitTestCase.assertFalse(parameter.isConst);
8226 // JUnitTestCase.assertFalse(parameter.isFinal);
8227 // JUnitTestCase.assertFalse(parameter.isSynthetic);
8228 // JUnitTestCase.assertEquals(ParameterKind.REQUIRED, parameter.parameterKin d);
8229 // EngineTestCase.assertLength(1, parameter.parameters);
8230 // }
8231 // void test_visitFormalParameterList() {
8232 // ElementHolder holder = new ElementHolder();
8233 // ElementBuilder builder = new ElementBuilder(holder);
8234 // String firstParameterName = "a";
8235 // String secondParameterName = "b";
8236 // FormalParameterList parameterList = AstFactory.formalParameterList([
8237 // AstFactory.simpleFormalParameter3(firstParameterName),
8238 // AstFactory.simpleFormalParameter3(secondParameterName)]);
8239 // parameterList.accept(builder);
8240 // List<ParameterElement> parameters = holder.parameters;
8241 // EngineTestCase.assertLength(2, parameters);
8242 // JUnitTestCase.assertEquals(firstParameterName, parameters[0].name);
8243 // JUnitTestCase.assertEquals(secondParameterName, parameters[1].name);
8244 // }
8245 // void test_visitFunctionDeclaration_getter() {
8246 // ElementHolder holder = new ElementHolder();
8247 // ElementBuilder builder = new ElementBuilder(holder);
8248 // String functionName = "f";
8249 // FunctionDeclaration declaration = AstFactory.functionDeclaration(null, Ke yword.GET, functionName, AstFactory.functionExpression2(AstFactory.formalParamet erList([]), AstFactory.blockFunctionBody2([])));
8250 // declaration.accept(builder);
8251 // List<PropertyAccessorElement> accessors = holder.accessors;
8252 // EngineTestCase.assertLength(1, accessors);
8253 // PropertyAccessorElement accessor = accessors[0];
8254 // JUnitTestCase.assertNotNull(accessor);
8255 // JUnitTestCase.assertEquals(functionName, accessor.name);
8256 // JUnitTestCase.assertSame(accessor, declaration.element);
8257 // JUnitTestCase.assertSame(accessor, declaration.functionExpression.element );
8258 // JUnitTestCase.assertTrue(accessor.isGetter);
8259 // JUnitTestCase.assertFalse(accessor.isSetter);
8260 // JUnitTestCase.assertFalse(accessor.isSynthetic);
8261 // PropertyInducingElement variable = accessor.variable;
8262 // EngineTestCase.assertInstanceOf((obj) => obj is TopLevelVariableElement, TopLevelVariableElement, variable);
8263 // JUnitTestCase.assertTrue(variable.isSynthetic);
8264 // }
8265 // void test_visitFunctionDeclaration_plain() {
8266 // ElementHolder holder = new ElementHolder();
8267 // ElementBuilder builder = new ElementBuilder(holder);
8268 // String functionName = "f";
8269 // FunctionDeclaration declaration = AstFactory.functionDeclaration(null, nu ll, functionName, AstFactory.functionExpression2(AstFactory.formalParameterList( []), AstFactory.blockFunctionBody2([])));
8270 // declaration.accept(builder);
8271 // List<FunctionElement> functions = holder.functions;
8272 // EngineTestCase.assertLength(1, functions);
8273 // FunctionElement function = functions[0];
8274 // JUnitTestCase.assertNotNull(function);
8275 // JUnitTestCase.assertEquals(functionName, function.name);
8276 // JUnitTestCase.assertSame(function, declaration.element);
8277 // JUnitTestCase.assertSame(function, declaration.functionExpression.element );
8278 // JUnitTestCase.assertFalse(function.isSynthetic);
8279 // }
8280 // void test_visitFunctionDeclaration_setter() {
8281 // ElementHolder holder = new ElementHolder();
8282 // ElementBuilder builder = new ElementBuilder(holder);
8283 // String functionName = "f";
8284 // FunctionDeclaration declaration = AstFactory.functionDeclaration(null, Ke yword.SET, functionName, AstFactory.functionExpression2(AstFactory.formalParamet erList([]), AstFactory.blockFunctionBody2([])));
8285 // declaration.accept(builder);
8286 // List<PropertyAccessorElement> accessors = holder.accessors;
8287 // EngineTestCase.assertLength(1, accessors);
8288 // PropertyAccessorElement accessor = accessors[0];
8289 // JUnitTestCase.assertNotNull(accessor);
8290 // JUnitTestCase.assertEquals("${functionName}=", accessor.name);
8291 // JUnitTestCase.assertSame(accessor, declaration.element);
8292 // JUnitTestCase.assertSame(accessor, declaration.functionExpression.element );
8293 // JUnitTestCase.assertFalse(accessor.isGetter);
8294 // JUnitTestCase.assertTrue(accessor.isSetter);
8295 // JUnitTestCase.assertFalse(accessor.isSynthetic);
8296 // PropertyInducingElement variable = accessor.variable;
8297 // EngineTestCase.assertInstanceOf((obj) => obj is TopLevelVariableElement, TopLevelVariableElement, variable);
8298 // JUnitTestCase.assertTrue(variable.isSynthetic);
8299 // }
8300 // void test_visitFunctionExpression() {
8301 // ElementHolder holder = new ElementHolder();
8302 // ElementBuilder builder = new ElementBuilder(holder);
8303 // FunctionExpression expression = AstFactory.functionExpression2(AstFactory .formalParameterList([]), AstFactory.blockFunctionBody2([]));
8304 // expression.accept(builder);
8305 // List<FunctionElement> functions = holder.functions;
8306 // EngineTestCase.assertLength(1, functions);
8307 // FunctionElement function = functions[0];
8308 // JUnitTestCase.assertNotNull(function);
8309 // JUnitTestCase.assertSame(function, expression.element);
8310 // JUnitTestCase.assertFalse(function.isSynthetic);
8311 // }
8312 // void test_visitFunctionTypeAlias() {
8313 // ElementHolder holder = new ElementHolder();
8314 // ElementBuilder builder = new ElementBuilder(holder);
8315 // String aliasName = "F";
8316 // String parameterName = "E";
8317 // FunctionTypeAlias aliasNode = AstFactory.typeAlias(null, aliasName, AstFa ctory.typeParameterList([parameterName]), null);
8318 // aliasNode.accept(builder);
8319 // List<FunctionTypeAliasElement> aliases = holder.typeAliases;
8320 // EngineTestCase.assertLength(1, aliases);
8321 // FunctionTypeAliasElement alias = aliases[0];
8322 // JUnitTestCase.assertNotNull(alias);
8323 // JUnitTestCase.assertEquals(aliasName, alias.name);
8324 // EngineTestCase.assertLength(0, alias.parameters);
8325 // List<TypeParameterElement> typeParameters = alias.typeParameters;
8326 // EngineTestCase.assertLength(1, typeParameters);
8327 // TypeParameterElement typeParameter = typeParameters[0];
8328 // JUnitTestCase.assertNotNull(typeParameter);
8329 // JUnitTestCase.assertEquals(parameterName, typeParameter.name);
8330 // }
8331 // void test_visitFunctionTypedFormalParameter() {
8332 // ElementHolder holder = new ElementHolder();
8333 // ElementBuilder builder = new ElementBuilder(holder);
8334 // String parameterName = "p";
8335 // FunctionTypedFormalParameter formalParameter = AstFactory.functionTypedFo rmalParameter(null, parameterName, []);
8336 // _useParameterInMethod(formalParameter, 100, 110);
8337 // formalParameter.accept(builder);
8338 // List<ParameterElement> parameters = holder.parameters;
8339 // EngineTestCase.assertLength(1, parameters);
8340 // ParameterElement parameter = parameters[0];
8341 // JUnitTestCase.assertNotNull(parameter);
8342 // JUnitTestCase.assertEquals(parameterName, parameter.name);
8343 // JUnitTestCase.assertNull(parameter.initializer);
8344 // JUnitTestCase.assertFalse(parameter.isConst);
8345 // JUnitTestCase.assertFalse(parameter.isFinal);
8346 // JUnitTestCase.assertFalse(parameter.isSynthetic);
8347 // JUnitTestCase.assertEquals(ParameterKind.REQUIRED, parameter.parameterKin d);
8348 // JUnitTestCase.assertEquals(SourceRangeFactory.rangeStartEnd(100, 110), pa rameter.visibleRange);
8349 // }
8350 // void test_visitLabeledStatement() {
8351 // ElementHolder holder = new ElementHolder();
8352 // ElementBuilder builder = new ElementBuilder(holder);
8353 // String labelName = "l";
8354 // LabeledStatement statement = AstFactory.labeledStatement(AstFactory.list( [AstFactory.label2(labelName)]), AstFactory.breakStatement());
8355 // statement.accept(builder);
8356 // List<LabelElement> labels = holder.labels;
8357 // EngineTestCase.assertLength(1, labels);
8358 // LabelElement label = labels[0];
8359 // JUnitTestCase.assertNotNull(label);
8360 // JUnitTestCase.assertEquals(labelName, label.name);
8361 // JUnitTestCase.assertFalse(label.isSynthetic);
8362 // }
8363 // void test_visitMethodDeclaration_abstract() {
8364 // ElementHolder holder = new ElementHolder();
8365 // ElementBuilder builder = new ElementBuilder(holder);
8366 // String methodName = "m";
8367 // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, null, null, AstFactory.identifier3(methodName), AstFactory.formalParamete rList([]), AstFactory.emptyFunctionBody());
8368 // methodDeclaration.accept(builder);
8369 // List<MethodElement> methods = holder.methods;
8370 // EngineTestCase.assertLength(1, methods);
8371 // MethodElement method = methods[0];
8372 // JUnitTestCase.assertNotNull(method);
8373 // JUnitTestCase.assertEquals(methodName, method.name);
8374 // EngineTestCase.assertLength(0, method.functions);
8375 // EngineTestCase.assertLength(0, method.labels);
8376 // EngineTestCase.assertLength(0, method.localVariables);
8377 // EngineTestCase.assertLength(0, method.parameters);
8378 // JUnitTestCase.assertTrue(method.isAbstract);
8379 // JUnitTestCase.assertFalse(method.isStatic);
8380 // JUnitTestCase.assertFalse(method.isSynthetic);
8381 // }
8382 // void test_visitMethodDeclaration_getter() {
8383 // ElementHolder holder = new ElementHolder();
8384 // ElementBuilder builder = new ElementBuilder(holder);
8385 // String methodName = "m";
8386 // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, Keyword.GET, null, AstFactory.identifier3(methodName), AstFactory.formalP arameterList([]), AstFactory.blockFunctionBody2([]));
8387 // methodDeclaration.accept(builder);
8388 // List<FieldElement> fields = holder.fields;
8389 // EngineTestCase.assertLength(1, fields);
8390 // FieldElement field = fields[0];
8391 // JUnitTestCase.assertNotNull(field);
8392 // JUnitTestCase.assertEquals(methodName, field.name);
8393 // JUnitTestCase.assertTrue(field.isSynthetic);
8394 // JUnitTestCase.assertNull(field.setter);
8395 // PropertyAccessorElement getter = field.getter;
8396 // JUnitTestCase.assertNotNull(getter);
8397 // JUnitTestCase.assertFalse(getter.isAbstract);
8398 // JUnitTestCase.assertTrue(getter.isGetter);
8399 // JUnitTestCase.assertFalse(getter.isSynthetic);
8400 // JUnitTestCase.assertEquals(methodName, getter.name);
8401 // JUnitTestCase.assertEquals(field, getter.variable);
8402 // EngineTestCase.assertLength(0, getter.functions);
8403 // EngineTestCase.assertLength(0, getter.labels);
8404 // EngineTestCase.assertLength(0, getter.localVariables);
8405 // EngineTestCase.assertLength(0, getter.parameters);
8406 // }
8407 // void test_visitMethodDeclaration_getter_abstract() {
8408 // ElementHolder holder = new ElementHolder();
8409 // ElementBuilder builder = new ElementBuilder(holder);
8410 // String methodName = "m";
8411 // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, Keyword.GET, null, AstFactory.identifier3(methodName), AstFactory.formalP arameterList([]), AstFactory.emptyFunctionBody());
8412 // methodDeclaration.accept(builder);
8413 // List<FieldElement> fields = holder.fields;
8414 // EngineTestCase.assertLength(1, fields);
8415 // FieldElement field = fields[0];
8416 // JUnitTestCase.assertNotNull(field);
8417 // JUnitTestCase.assertEquals(methodName, field.name);
8418 // JUnitTestCase.assertTrue(field.isSynthetic);
8419 // JUnitTestCase.assertNull(field.setter);
8420 // PropertyAccessorElement getter = field.getter;
8421 // JUnitTestCase.assertNotNull(getter);
8422 // JUnitTestCase.assertTrue(getter.isAbstract);
8423 // JUnitTestCase.assertTrue(getter.isGetter);
8424 // JUnitTestCase.assertFalse(getter.isSynthetic);
8425 // JUnitTestCase.assertEquals(methodName, getter.name);
8426 // JUnitTestCase.assertEquals(field, getter.variable);
8427 // EngineTestCase.assertLength(0, getter.functions);
8428 // EngineTestCase.assertLength(0, getter.labels);
8429 // EngineTestCase.assertLength(0, getter.localVariables);
8430 // EngineTestCase.assertLength(0, getter.parameters);
8431 // }
8432 // void test_visitMethodDeclaration_getter_external() {
8433 // ElementHolder holder = new ElementHolder();
8434 // ElementBuilder builder = new ElementBuilder(holder);
8435 // String methodName = "m";
8436 // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration(null, null, Keyword.GET, null, AstFactory.identifier3(methodName), AstFactory.formalPa rameterList([]));
8437 // methodDeclaration.accept(builder);
8438 // List<FieldElement> fields = holder.fields;
8439 // EngineTestCase.assertLength(1, fields);
8440 // FieldElement field = fields[0];
8441 // JUnitTestCase.assertNotNull(field);
8442 // JUnitTestCase.assertEquals(methodName, field.name);
8443 // JUnitTestCase.assertTrue(field.isSynthetic);
8444 // JUnitTestCase.assertNull(field.setter);
8445 // PropertyAccessorElement getter = field.getter;
8446 // JUnitTestCase.assertNotNull(getter);
8447 // JUnitTestCase.assertFalse(getter.isAbstract);
8448 // JUnitTestCase.assertTrue(getter.isGetter);
8449 // JUnitTestCase.assertFalse(getter.isSynthetic);
8450 // JUnitTestCase.assertEquals(methodName, getter.name);
8451 // JUnitTestCase.assertEquals(field, getter.variable);
8452 // EngineTestCase.assertLength(0, getter.functions);
8453 // EngineTestCase.assertLength(0, getter.labels);
8454 // EngineTestCase.assertLength(0, getter.localVariables);
8455 // EngineTestCase.assertLength(0, getter.parameters);
8456 // }
8457 // void test_visitMethodDeclaration_minimal() {
8458 // ElementHolder holder = new ElementHolder();
8459 // ElementBuilder builder = new ElementBuilder(holder);
8460 // String methodName = "m";
8461 // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, null, null, AstFactory.identifier3(methodName), AstFactory.formalParamete rList([]), AstFactory.blockFunctionBody2([]));
8462 // methodDeclaration.accept(builder);
8463 // List<MethodElement> methods = holder.methods;
8464 // EngineTestCase.assertLength(1, methods);
8465 // MethodElement method = methods[0];
8466 // JUnitTestCase.assertNotNull(method);
8467 // JUnitTestCase.assertEquals(methodName, method.name);
8468 // EngineTestCase.assertLength(0, method.functions);
8469 // EngineTestCase.assertLength(0, method.labels);
8470 // EngineTestCase.assertLength(0, method.localVariables);
8471 // EngineTestCase.assertLength(0, method.parameters);
8472 // JUnitTestCase.assertFalse(method.isAbstract);
8473 // JUnitTestCase.assertFalse(method.isStatic);
8474 // JUnitTestCase.assertFalse(method.isSynthetic);
8475 // }
8476 // void test_visitMethodDeclaration_operator() {
8477 // ElementHolder holder = new ElementHolder();
8478 // ElementBuilder builder = new ElementBuilder(holder);
8479 // String methodName = "+";
8480 // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, null, Keyword.OPERATOR, AstFactory.identifier3(methodName), AstFactory.fo rmalParameterList([AstFactory.simpleFormalParameter3("addend")]), AstFactory.blo ckFunctionBody2([]));
8481 // methodDeclaration.accept(builder);
8482 // List<MethodElement> methods = holder.methods;
8483 // EngineTestCase.assertLength(1, methods);
8484 // MethodElement method = methods[0];
8485 // JUnitTestCase.assertNotNull(method);
8486 // JUnitTestCase.assertEquals(methodName, method.name);
8487 // EngineTestCase.assertLength(0, method.functions);
8488 // EngineTestCase.assertLength(0, method.labels);
8489 // EngineTestCase.assertLength(0, method.localVariables);
8490 // EngineTestCase.assertLength(1, method.parameters);
8491 // JUnitTestCase.assertFalse(method.isAbstract);
8492 // JUnitTestCase.assertFalse(method.isStatic);
8493 // JUnitTestCase.assertFalse(method.isSynthetic);
8494 // }
8495 // void test_visitMethodDeclaration_setter() {
8496 // ElementHolder holder = new ElementHolder();
8497 // ElementBuilder builder = new ElementBuilder(holder);
8498 // String methodName = "m";
8499 // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, Keyword.SET, null, AstFactory.identifier3(methodName), AstFactory.formalP arameterList([]), AstFactory.blockFunctionBody2([]));
8500 // methodDeclaration.accept(builder);
8501 // List<FieldElement> fields = holder.fields;
8502 // EngineTestCase.assertLength(1, fields);
8503 // FieldElement field = fields[0];
8504 // JUnitTestCase.assertNotNull(field);
8505 // JUnitTestCase.assertEquals(methodName, field.name);
8506 // JUnitTestCase.assertTrue(field.isSynthetic);
8507 // JUnitTestCase.assertNull(field.getter);
8508 // PropertyAccessorElement setter = field.setter;
8509 // JUnitTestCase.assertNotNull(setter);
8510 // JUnitTestCase.assertFalse(setter.isAbstract);
8511 // JUnitTestCase.assertTrue(setter.isSetter);
8512 // JUnitTestCase.assertFalse(setter.isSynthetic);
8513 // JUnitTestCase.assertEquals("${methodName}=", setter.name);
8514 // JUnitTestCase.assertEquals(methodName, setter.displayName);
8515 // JUnitTestCase.assertEquals(field, setter.variable);
8516 // EngineTestCase.assertLength(0, setter.functions);
8517 // EngineTestCase.assertLength(0, setter.labels);
8518 // EngineTestCase.assertLength(0, setter.localVariables);
8519 // EngineTestCase.assertLength(0, setter.parameters);
8520 // }
8521 // void test_visitMethodDeclaration_setter_abstract() {
8522 // ElementHolder holder = new ElementHolder();
8523 // ElementBuilder builder = new ElementBuilder(holder);
8524 // String methodName = "m";
8525 // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, Keyword.SET, null, AstFactory.identifier3(methodName), AstFactory.formalP arameterList([]), AstFactory.emptyFunctionBody());
8526 // methodDeclaration.accept(builder);
8527 // List<FieldElement> fields = holder.fields;
8528 // EngineTestCase.assertLength(1, fields);
8529 // FieldElement field = fields[0];
8530 // JUnitTestCase.assertNotNull(field);
8531 // JUnitTestCase.assertEquals(methodName, field.name);
8532 // JUnitTestCase.assertTrue(field.isSynthetic);
8533 // JUnitTestCase.assertNull(field.getter);
8534 // PropertyAccessorElement setter = field.setter;
8535 // JUnitTestCase.assertNotNull(setter);
8536 // JUnitTestCase.assertTrue(setter.isAbstract);
8537 // JUnitTestCase.assertTrue(setter.isSetter);
8538 // JUnitTestCase.assertFalse(setter.isSynthetic);
8539 // JUnitTestCase.assertEquals("${methodName}=", setter.name);
8540 // JUnitTestCase.assertEquals(methodName, setter.displayName);
8541 // JUnitTestCase.assertEquals(field, setter.variable);
8542 // EngineTestCase.assertLength(0, setter.functions);
8543 // EngineTestCase.assertLength(0, setter.labels);
8544 // EngineTestCase.assertLength(0, setter.localVariables);
8545 // EngineTestCase.assertLength(0, setter.parameters);
8546 // }
8547 // void test_visitMethodDeclaration_setter_external() {
8548 // ElementHolder holder = new ElementHolder();
8549 // ElementBuilder builder = new ElementBuilder(holder);
8550 // String methodName = "m";
8551 // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration(null, null, Keyword.SET, null, AstFactory.identifier3(methodName), AstFactory.formalPa rameterList([]));
8552 // methodDeclaration.accept(builder);
8553 // List<FieldElement> fields = holder.fields;
8554 // EngineTestCase.assertLength(1, fields);
8555 // FieldElement field = fields[0];
8556 // JUnitTestCase.assertNotNull(field);
8557 // JUnitTestCase.assertEquals(methodName, field.name);
8558 // JUnitTestCase.assertTrue(field.isSynthetic);
8559 // JUnitTestCase.assertNull(field.getter);
8560 // PropertyAccessorElement setter = field.setter;
8561 // JUnitTestCase.assertNotNull(setter);
8562 // JUnitTestCase.assertFalse(setter.isAbstract);
8563 // JUnitTestCase.assertTrue(setter.isSetter);
8564 // JUnitTestCase.assertFalse(setter.isSynthetic);
8565 // JUnitTestCase.assertEquals("${methodName}=", setter.name);
8566 // JUnitTestCase.assertEquals(methodName, setter.displayName);
8567 // JUnitTestCase.assertEquals(field, setter.variable);
8568 // EngineTestCase.assertLength(0, setter.functions);
8569 // EngineTestCase.assertLength(0, setter.labels);
8570 // EngineTestCase.assertLength(0, setter.localVariables);
8571 // EngineTestCase.assertLength(0, setter.parameters);
8572 // }
8573 // void test_visitMethodDeclaration_static() {
8574 // ElementHolder holder = new ElementHolder();
8575 // ElementBuilder builder = new ElementBuilder(holder);
8576 // String methodName = "m";
8577 // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(Keywo rd.STATIC, null, null, null, AstFactory.identifier3(methodName), AstFactory.form alParameterList([]), AstFactory.blockFunctionBody2([]));
8578 // methodDeclaration.accept(builder);
8579 // List<MethodElement> methods = holder.methods;
8580 // EngineTestCase.assertLength(1, methods);
8581 // MethodElement method = methods[0];
8582 // JUnitTestCase.assertNotNull(method);
8583 // JUnitTestCase.assertEquals(methodName, method.name);
8584 // EngineTestCase.assertLength(0, method.functions);
8585 // EngineTestCase.assertLength(0, method.labels);
8586 // EngineTestCase.assertLength(0, method.localVariables);
8587 // EngineTestCase.assertLength(0, method.parameters);
8588 // JUnitTestCase.assertFalse(method.isAbstract);
8589 // JUnitTestCase.assertTrue(method.isStatic);
8590 // JUnitTestCase.assertFalse(method.isSynthetic);
8591 // }
8592 // void test_visitMethodDeclaration_withMembers() {
8593 // ElementHolder holder = new ElementHolder();
8594 // ElementBuilder builder = new ElementBuilder(holder);
8595 // String methodName = "m";
8596 // String parameterName = "p";
8597 // String localVariableName = "v";
8598 // String labelName = "l";
8599 // String exceptionParameterName = "e";
8600 // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, null, null, AstFactory.identifier3(methodName), AstFactory.formalParamete rList([AstFactory.simpleFormalParameter3(parameterName)]), AstFactory.blockFunct ionBody2([
8601 // AstFactory.variableDeclarationStatement2(Keyword.VAR, [AstFactory.var iableDeclaration(localVariableName)]),
8602 // AstFactory.tryStatement2(AstFactory.block([AstFactory.labeledStatemen t(AstFactory.list([AstFactory.label2(labelName)]), AstFactory.returnStatement()) ]), [AstFactory.catchClause(exceptionParameterName, [])])]));
8603 // methodDeclaration.accept(builder);
8604 // List<MethodElement> methods = holder.methods;
8605 // EngineTestCase.assertLength(1, methods);
8606 // MethodElement method = methods[0];
8607 // JUnitTestCase.assertNotNull(method);
8608 // JUnitTestCase.assertEquals(methodName, method.name);
8609 // JUnitTestCase.assertFalse(method.isAbstract);
8610 // JUnitTestCase.assertFalse(method.isStatic);
8611 // JUnitTestCase.assertFalse(method.isSynthetic);
8612 // List<VariableElement> parameters = method.parameters;
8613 // EngineTestCase.assertLength(1, parameters);
8614 // VariableElement parameter = parameters[0];
8615 // JUnitTestCase.assertNotNull(parameter);
8616 // JUnitTestCase.assertEquals(parameterName, parameter.name);
8617 // List<VariableElement> localVariables = method.localVariables;
8618 // EngineTestCase.assertLength(2, localVariables);
8619 // VariableElement firstVariable = localVariables[0];
8620 // VariableElement secondVariable = localVariables[1];
8621 // JUnitTestCase.assertNotNull(firstVariable);
8622 // JUnitTestCase.assertNotNull(secondVariable);
8623 // JUnitTestCase.assertTrue((firstVariable.name == localVariableName && seco ndVariable.name == exceptionParameterName) || (firstVariable.name == exceptionPa rameterName && secondVariable.name == localVariableName));
8624 // List<LabelElement> labels = method.labels;
8625 // EngineTestCase.assertLength(1, labels);
8626 // LabelElement label = labels[0];
8627 // JUnitTestCase.assertNotNull(label);
8628 // JUnitTestCase.assertEquals(labelName, label.name);
8629 // }
8630 // void test_visitNamedFormalParameter() {
8631 // ElementHolder holder = new ElementHolder();
8632 // ElementBuilder builder = new ElementBuilder(holder);
8633 // String parameterName = "p";
8634 // DefaultFormalParameter formalParameter = AstFactory.namedFormalParameter( AstFactory.simpleFormalParameter3(parameterName), AstFactory.identifier3("b"));
8635 // _useParameterInMethod(formalParameter, 100, 110);
8636 // formalParameter.accept(builder);
8637 // List<ParameterElement> parameters = holder.parameters;
8638 // EngineTestCase.assertLength(1, parameters);
8639 // ParameterElement parameter = parameters[0];
8640 // JUnitTestCase.assertNotNull(parameter);
8641 // JUnitTestCase.assertEquals(parameterName, parameter.name);
8642 // JUnitTestCase.assertFalse(parameter.isConst);
8643 // JUnitTestCase.assertFalse(parameter.isFinal);
8644 // JUnitTestCase.assertFalse(parameter.isSynthetic);
8645 // JUnitTestCase.assertEquals(ParameterKind.NAMED, parameter.parameterKind);
8646 // JUnitTestCase.assertEquals(SourceRangeFactory.rangeStartEnd(100, 110), pa rameter.visibleRange);
8647 // FunctionElement initializer = parameter.initializer;
8648 // JUnitTestCase.assertNotNull(initializer);
8649 // JUnitTestCase.assertTrue(initializer.isSynthetic);
8650 // }
8651 // void test_visitSimpleFormalParameter() {
8652 // ElementHolder holder = new ElementHolder();
8653 // ElementBuilder builder = new ElementBuilder(holder);
8654 // String parameterName = "p";
8655 // SimpleFormalParameter formalParameter = AstFactory.simpleFormalParameter3 (parameterName);
8656 // _useParameterInMethod(formalParameter, 100, 110);
8657 // formalParameter.accept(builder);
8658 // List<ParameterElement> parameters = holder.parameters;
8659 // EngineTestCase.assertLength(1, parameters);
8660 // ParameterElement parameter = parameters[0];
8661 // JUnitTestCase.assertNotNull(parameter);
8662 // JUnitTestCase.assertEquals(parameterName, parameter.name);
8663 // JUnitTestCase.assertNull(parameter.initializer);
8664 // JUnitTestCase.assertFalse(parameter.isConst);
8665 // JUnitTestCase.assertFalse(parameter.isFinal);
8666 // JUnitTestCase.assertFalse(parameter.isSynthetic);
8667 // JUnitTestCase.assertEquals(ParameterKind.REQUIRED, parameter.parameterKin d);
8668 // JUnitTestCase.assertEquals(SourceRangeFactory.rangeStartEnd(100, 110), pa rameter.visibleRange);
8669 // }
8670 // void test_visitTypeAlias_minimal() {
8671 // ElementHolder holder = new ElementHolder();
8672 // ElementBuilder builder = new ElementBuilder(holder);
8673 // String aliasName = "F";
8674 // TypeAlias typeAlias = AstFactory.typeAlias(null, aliasName, null, null);
8675 // typeAlias.accept(builder);
8676 // List<FunctionTypeAliasElement> aliases = holder.typeAliases;
8677 // EngineTestCase.assertLength(1, aliases);
8678 // FunctionTypeAliasElement alias = aliases[0];
8679 // JUnitTestCase.assertNotNull(alias);
8680 // JUnitTestCase.assertEquals(aliasName, alias.name);
8681 // JUnitTestCase.assertNotNull(alias.type);
8682 // JUnitTestCase.assertFalse(alias.isSynthetic);
8683 // }
8684 // void test_visitTypeAlias_withFormalParameters() {
8685 // ElementHolder holder = new ElementHolder();
8686 // ElementBuilder builder = new ElementBuilder(holder);
8687 // String aliasName = "F";
8688 // String firstParameterName = "x";
8689 // String secondParameterName = "y";
8690 // TypeAlias typeAlias = AstFactory.typeAlias(null, aliasName, AstFactory.ty peParameterList([]), AstFactory.formalParameterList([
8691 // AstFactory.simpleFormalParameter3(firstParameterName),
8692 // AstFactory.simpleFormalParameter3(secondParameterName)]));
8693 // typeAlias.accept(builder);
8694 // List<FunctionTypeAliasElement> aliases = holder.typeAliases;
8695 // EngineTestCase.assertLength(1, aliases);
8696 // FunctionTypeAliasElement alias = aliases[0];
8697 // JUnitTestCase.assertNotNull(alias);
8698 // JUnitTestCase.assertEquals(aliasName, alias.name);
8699 // JUnitTestCase.assertNotNull(alias.type);
8700 // JUnitTestCase.assertFalse(alias.isSynthetic);
8701 // List<VariableElement> parameters = alias.parameters;
8702 // EngineTestCase.assertLength(2, parameters);
8703 // JUnitTestCase.assertEquals(firstParameterName, parameters[0].name);
8704 // JUnitTestCase.assertEquals(secondParameterName, parameters[1].name);
8705 // List<TypeParameterElement> typeParameters = alias.typeParameters;
8706 // JUnitTestCase.assertNotNull(typeParameters);
8707 // EngineTestCase.assertLength(0, typeParameters);
8708 // }
8709 // void test_visitTypeAlias_withTypeParameters() {
8710 // ElementHolder holder = new ElementHolder();
8711 // ElementBuilder builder = new ElementBuilder(holder);
8712 // String aliasName = "F";
8713 // String firstTypeParameterName = "A";
8714 // String secondTypeParameterName = "B";
8715 // TypeAlias typeAlias = AstFactory.typeAlias(null, aliasName, AstFactory.ty peParameterList([firstTypeParameterName, secondTypeParameterName]), AstFactory.f ormalParameterList([]));
8716 // typeAlias.accept(builder);
8717 // List<FunctionTypeAliasElement> aliases = holder.typeAliases;
8718 // EngineTestCase.assertLength(1, aliases);
8719 // FunctionTypeAliasElement alias = aliases[0];
8720 // JUnitTestCase.assertNotNull(alias);
8721 // JUnitTestCase.assertEquals(aliasName, alias.name);
8722 // JUnitTestCase.assertNotNull(alias.type);
8723 // JUnitTestCase.assertFalse(alias.isSynthetic);
8724 // List<VariableElement> parameters = alias.parameters;
8725 // JUnitTestCase.assertNotNull(parameters);
8726 // EngineTestCase.assertLength(0, parameters);
8727 // List<TypeParameterElement> typeParameters = alias.typeParameters;
8728 // EngineTestCase.assertLength(2, typeParameters);
8729 // JUnitTestCase.assertEquals(firstTypeParameterName, typeParameters[0].name );
8730 // JUnitTestCase.assertEquals(secondTypeParameterName, typeParameters[1].nam e);
8731 // }
8732 // void test_visitTypeParameter() {
8733 // ElementHolder holder = new ElementHolder();
8734 // ElementBuilder builder = new ElementBuilder(holder);
8735 // String parameterName = "E";
8736 // TypeParameter typeParameter = AstFactory.typeParameter(parameterName);
8737 // typeParameter.accept(builder);
8738 // List<TypeParameterElement> typeParameters = holder.typeParameters;
8739 // EngineTestCase.assertLength(1, typeParameters);
8740 // TypeParameterElement typeParameterElement = typeParameters[0];
8741 // JUnitTestCase.assertNotNull(typeParameterElement);
8742 // JUnitTestCase.assertEquals(parameterName, typeParameterElement.name);
8743 // JUnitTestCase.assertNull(typeParameterElement.bound);
8744 // JUnitTestCase.assertFalse(typeParameterElement.isSynthetic);
8745 // }
8746 // void test_visitVariableDeclaration_inConstructor() {
8747 // ElementHolder holder = new ElementHolder();
8748 // ElementBuilder builder = new ElementBuilder(holder);
8749 // //
8750 // // C() {var v;}
8751 // //
8752 // String variableName = "v";
8753 // VariableDeclaration variable = AstFactory.variableDeclaration2(variableNa me, null);
8754 // Statement statement = AstFactory.variableDeclarationStatement2(null, [var iable]);
8755 // ConstructorDeclaration constructor = AstFactory.constructorDeclaration2(n ull, null, AstFactory.identifier3("C"), "C", AstFactory.formalParameterList([]), null, AstFactory.blockFunctionBody2([statement]));
8756 // constructor.accept(builder);
8757 // List<ConstructorElement> constructors = holder.constructors;
8758 // EngineTestCase.assertLength(1, constructors);
8759 // List<LocalVariableElement> variableElements = constructors[0].localVariab les;
8760 // EngineTestCase.assertLength(1, variableElements);
8761 // LocalVariableElement variableElement = variableElements[0];
8762 // JUnitTestCase.assertEquals(variableName, variableElement.name);
8763 // }
8764 // void test_visitVariableDeclaration_inMethod() {
8765 // ElementHolder holder = new ElementHolder();
8766 // ElementBuilder builder = new ElementBuilder(holder);
8767 // //
8768 // // m() {var v;}
8769 // //
8770 // String variableName = "v";
8771 // VariableDeclaration variable = AstFactory.variableDeclaration2(variableNa me, null);
8772 // Statement statement = AstFactory.variableDeclarationStatement2(null, [var iable]);
8773 // MethodDeclaration constructor = AstFactory.methodDeclaration2(null, null, null, null, AstFactory.identifier3("m"), AstFactory.formalParameterList([]), As tFactory.blockFunctionBody2([statement]));
8774 // constructor.accept(builder);
8775 // List<MethodElement> methods = holder.methods;
8776 // EngineTestCase.assertLength(1, methods);
8777 // List<LocalVariableElement> variableElements = methods[0].localVariables;
8778 // EngineTestCase.assertLength(1, variableElements);
8779 // LocalVariableElement variableElement = variableElements[0];
8780 // JUnitTestCase.assertEquals(variableName, variableElement.name);
8781 // }
8782 // void test_visitVariableDeclaration_localNestedInField() {
8783 // ElementHolder holder = new ElementHolder();
8784 // ElementBuilder builder = new ElementBuilder(holder);
8785 // //
8786 // // var f = () {var v;}
8787 // //
8788 // String variableName = "v";
8789 // VariableDeclaration variable = AstFactory.variableDeclaration2(variableNa me, null);
8790 // Statement statement = AstFactory.variableDeclarationStatement2(null, [var iable]);
8791 // Expression initializer = AstFactory.functionExpression2(AstFactory.formal ParameterList([]), AstFactory.blockFunctionBody2([statement]));
8792 // String fieldName = "f";
8793 // VariableDeclaration field = AstFactory.variableDeclaration2(fieldName, in itializer);
8794 // FieldDeclaration fieldDeclaration = AstFactory.fieldDeclaration2(false, n ull, [field]);
8795 // fieldDeclaration.accept(builder);
8796 // List<FieldElement> variables = holder.fields;
8797 // EngineTestCase.assertLength(1, variables);
8798 // FieldElement fieldElement = variables[0];
8799 // JUnitTestCase.assertNotNull(fieldElement);
8800 // FunctionElement initializerElement = fieldElement.initializer;
8801 // JUnitTestCase.assertNotNull(initializerElement);
8802 // List<FunctionElement> functionElements = initializerElement.functions;
8803 // EngineTestCase.assertLength(1, functionElements);
8804 // List<LocalVariableElement> variableElements = functionElements[0].localVa riables;
8805 // EngineTestCase.assertLength(1, variableElements);
8806 // LocalVariableElement variableElement = variableElements[0];
8807 // JUnitTestCase.assertEquals(variableName, variableElement.name);
8808 // JUnitTestCase.assertFalse(variableElement.isConst);
8809 // JUnitTestCase.assertFalse(variableElement.isFinal);
8810 // JUnitTestCase.assertFalse(variableElement.isSynthetic);
8811 // }
8812 // void test_visitVariableDeclaration_noInitializer() {
8813 // ElementHolder holder = new ElementHolder();
8814 // ElementBuilder builder = new ElementBuilder(holder);
8815 // String variableName = "v";
8816 // VariableDeclaration variableDeclaration = AstFactory.variableDeclaration2 (variableName, null);
8817 // AstFactory.variableDeclarationList2(null, [variableDeclaration]);
8818 // variableDeclaration.accept(builder);
8819 // List<TopLevelVariableElement> variables = holder.topLevelVariables;
8820 // EngineTestCase.assertLength(1, variables);
8821 // TopLevelVariableElement variable = variables[0];
8822 // JUnitTestCase.assertNotNull(variable);
8823 // JUnitTestCase.assertNull(variable.initializer);
8824 // JUnitTestCase.assertEquals(variableName, variable.name);
8825 // JUnitTestCase.assertFalse(variable.isConst);
8826 // JUnitTestCase.assertFalse(variable.isFinal);
8827 // JUnitTestCase.assertFalse(variable.isSynthetic);
8828 // JUnitTestCase.assertNotNull(variable.getter);
8829 // JUnitTestCase.assertNotNull(variable.setter);
8830 // }
8831 // void _useParameterInMethod(FormalParameter formalParameter, int blockOffset , int blockEnd) {
8832 // Block block = AstFactory.block([]);
8833 // block.leftBracket.offset = blockOffset;
8834 // block.rightBracket.offset = blockEnd - 1;
8835 // BlockFunctionBody body = AstFactory.blockFunctionBody(block);
8836 // AstFactory.methodDeclaration2(null, null, null, null, AstFactory.identifi er3("main"), AstFactory.formalParameterList([formalParameter]), body);
8837 // }
8838 // static dartSuite() {
8839 // _ut.group('ElementBuilderTest', () {
8840 // _ut.test('test_visitCatchClause', () {
8841 // final __test = new ElementBuilderTest();
8842 // runJUnitTest(__test, __test.test_visitCatchClause);
8843 // });
8844 // _ut.test('test_visitClassDeclaration_abstract', () {
8845 // final __test = new ElementBuilderTest();
8846 // runJUnitTest(__test, __test.test_visitClassDeclaration_abstract);
8847 // });
8848 // _ut.test('test_visitClassDeclaration_minimal', () {
8849 // final __test = new ElementBuilderTest();
8850 // runJUnitTest(__test, __test.test_visitClassDeclaration_minimal);
8851 // });
8852 // _ut.test('test_visitClassDeclaration_parameterized', () {
8853 // final __test = new ElementBuilderTest();
8854 // runJUnitTest(__test, __test.test_visitClassDeclaration_parameterized) ;
8855 // });
8856 // _ut.test('test_visitClassDeclaration_withMembers', () {
8857 // final __test = new ElementBuilderTest();
8858 // runJUnitTest(__test, __test.test_visitClassDeclaration_withMembers);
8859 // });
8860 // _ut.test('test_visitConstructorDeclaration_factory', () {
8861 // final __test = new ElementBuilderTest();
8862 // runJUnitTest(__test, __test.test_visitConstructorDeclaration_factory) ;
8863 // });
8864 // _ut.test('test_visitConstructorDeclaration_minimal', () {
8865 // final __test = new ElementBuilderTest();
8866 // runJUnitTest(__test, __test.test_visitConstructorDeclaration_minimal) ;
8867 // });
8868 // _ut.test('test_visitConstructorDeclaration_named', () {
8869 // final __test = new ElementBuilderTest();
8870 // runJUnitTest(__test, __test.test_visitConstructorDeclaration_named);
8871 // });
8872 // _ut.test('test_visitConstructorDeclaration_unnamed', () {
8873 // final __test = new ElementBuilderTest();
8874 // runJUnitTest(__test, __test.test_visitConstructorDeclaration_unnamed) ;
8875 // });
8876 // _ut.test('test_visitEnumDeclaration', () {
8877 // final __test = new ElementBuilderTest();
8878 // runJUnitTest(__test, __test.test_visitEnumDeclaration);
8879 // });
8880 // _ut.test('test_visitFieldDeclaration', () {
8881 // final __test = new ElementBuilderTest();
8882 // runJUnitTest(__test, __test.test_visitFieldDeclaration);
8883 // });
8884 // _ut.test('test_visitFieldFormalParameter', () {
8885 // final __test = new ElementBuilderTest();
8886 // runJUnitTest(__test, __test.test_visitFieldFormalParameter);
8887 // });
8888 // _ut.test('test_visitFieldFormalParameter_funtionTyped', () {
8889 // final __test = new ElementBuilderTest();
8890 // runJUnitTest(__test, __test.test_visitFieldFormalParameter_funtionTyp ed);
8891 // });
8892 // _ut.test('test_visitFormalParameterList', () {
8893 // final __test = new ElementBuilderTest();
8894 // runJUnitTest(__test, __test.test_visitFormalParameterList);
8895 // });
8896 // _ut.test('test_visitFunctionDeclaration_getter', () {
8897 // final __test = new ElementBuilderTest();
8898 // runJUnitTest(__test, __test.test_visitFunctionDeclaration_getter);
8899 // });
8900 // _ut.test('test_visitFunctionDeclaration_plain', () {
8901 // final __test = new ElementBuilderTest();
8902 // runJUnitTest(__test, __test.test_visitFunctionDeclaration_plain);
8903 // });
8904 // _ut.test('test_visitFunctionDeclaration_setter', () {
8905 // final __test = new ElementBuilderTest();
8906 // runJUnitTest(__test, __test.test_visitFunctionDeclaration_setter);
8907 // });
8908 // _ut.test('test_visitFunctionExpression', () {
8909 // final __test = new ElementBuilderTest();
8910 // runJUnitTest(__test, __test.test_visitFunctionExpression);
8911 // });
8912 // _ut.test('test_visitFunctionTypeAlias', () {
8913 // final __test = new ElementBuilderTest();
8914 // runJUnitTest(__test, __test.test_visitFunctionTypeAlias);
8915 // });
8916 // _ut.test('test_visitFunctionTypedFormalParameter', () {
8917 // final __test = new ElementBuilderTest();
8918 // runJUnitTest(__test, __test.test_visitFunctionTypedFormalParameter);
8919 // });
8920 // _ut.test('test_visitLabeledStatement', () {
8921 // final __test = new ElementBuilderTest();
8922 // runJUnitTest(__test, __test.test_visitLabeledStatement);
8923 // });
8924 // _ut.test('test_visitMethodDeclaration_abstract', () {
8925 // final __test = new ElementBuilderTest();
8926 // runJUnitTest(__test, __test.test_visitMethodDeclaration_abstract);
8927 // });
8928 // _ut.test('test_visitMethodDeclaration_getter', () {
8929 // final __test = new ElementBuilderTest();
8930 // runJUnitTest(__test, __test.test_visitMethodDeclaration_getter);
8931 // });
8932 // _ut.test('test_visitMethodDeclaration_getter_abstract', () {
8933 // final __test = new ElementBuilderTest();
8934 // runJUnitTest(__test, __test.test_visitMethodDeclaration_getter_abstra ct);
8935 // });
8936 // _ut.test('test_visitMethodDeclaration_getter_external', () {
8937 // final __test = new ElementBuilderTest();
8938 // runJUnitTest(__test, __test.test_visitMethodDeclaration_getter_extern al);
8939 // });
8940 // _ut.test('test_visitMethodDeclaration_minimal', () {
8941 // final __test = new ElementBuilderTest();
8942 // runJUnitTest(__test, __test.test_visitMethodDeclaration_minimal);
8943 // });
8944 // _ut.test('test_visitMethodDeclaration_operator', () {
8945 // final __test = new ElementBuilderTest();
8946 // runJUnitTest(__test, __test.test_visitMethodDeclaration_operator);
8947 // });
8948 // _ut.test('test_visitMethodDeclaration_setter', () {
8949 // final __test = new ElementBuilderTest();
8950 // runJUnitTest(__test, __test.test_visitMethodDeclaration_setter);
8951 // });
8952 // _ut.test('test_visitMethodDeclaration_setter_abstract', () {
8953 // final __test = new ElementBuilderTest();
8954 // runJUnitTest(__test, __test.test_visitMethodDeclaration_setter_abstra ct);
8955 // });
8956 // _ut.test('test_visitMethodDeclaration_setter_external', () {
8957 // final __test = new ElementBuilderTest();
8958 // runJUnitTest(__test, __test.test_visitMethodDeclaration_setter_extern al);
8959 // });
8960 // _ut.test('test_visitMethodDeclaration_static', () {
8961 // final __test = new ElementBuilderTest();
8962 // runJUnitTest(__test, __test.test_visitMethodDeclaration_static);
8963 // });
8964 // _ut.test('test_visitMethodDeclaration_withMembers', () {
8965 // final __test = new ElementBuilderTest();
8966 // runJUnitTest(__test, __test.test_visitMethodDeclaration_withMembers);
8967 // });
8968 // _ut.test('test_visitNamedFormalParameter', () {
8969 // final __test = new ElementBuilderTest();
8970 // runJUnitTest(__test, __test.test_visitNamedFormalParameter);
8971 // });
8972 // _ut.test('test_visitSimpleFormalParameter', () {
8973 // final __test = new ElementBuilderTest();
8974 // runJUnitTest(__test, __test.test_visitSimpleFormalParameter);
8975 // });
8976 // _ut.test('test_visitTypeAlias_minimal', () {
8977 // final __test = new ElementBuilderTest();
8978 // runJUnitTest(__test, __test.test_visitTypeAlias_minimal);
8979 // });
8980 // _ut.test('test_visitTypeAlias_withFormalParameters', () {
8981 // final __test = new ElementBuilderTest();
8982 // runJUnitTest(__test, __test.test_visitTypeAlias_withFormalParameters) ;
8983 // });
8984 // _ut.test('test_visitTypeAlias_withTypeParameters', () {
8985 // final __test = new ElementBuilderTest();
8986 // runJUnitTest(__test, __test.test_visitTypeAlias_withTypeParameters);
8987 // });
8988 // _ut.test('test_visitTypeParameter', () {
8989 // final __test = new ElementBuilderTest();
8990 // runJUnitTest(__test, __test.test_visitTypeParameter);
8991 // });
8992 // _ut.test('test_visitVariableDeclaration_inConstructor', () {
8993 // final __test = new ElementBuilderTest();
8994 // runJUnitTest(__test, __test.test_visitVariableDeclaration_inConstruct or);
8995 // });
8996 // _ut.test('test_visitVariableDeclaration_inMethod', () {
8997 // final __test = new ElementBuilderTest();
8998 // runJUnitTest(__test, __test.test_visitVariableDeclaration_inMethod);
8999 // });
9000 // _ut.test('test_visitVariableDeclaration_localNestedInField', () {
9001 // final __test = new ElementBuilderTest();
9002 // runJUnitTest(__test, __test.test_visitVariableDeclaration_localNested InField);
9003 // });
9004 // _ut.test('test_visitVariableDeclaration_noInitializer', () {
9005 // final __test = new ElementBuilderTest();
9006 // runJUnitTest(__test, __test.test_visitVariableDeclaration_noInitializ er);
9007 // });
9008 // });
9009 // }
9010 // }
9011 // class ElementLocatorTest extends ResolverTestCase {
9012 // void fail_locate_ExportDirective() {
9013 // AstNode id = _findNodeIn("export", ["export 'dart:core';"]);
9014 // Element element = ElementLocator.locate(id);
9015 // EngineTestCase.assertInstanceOf((obj) => obj is ImportElement, ImportElem ent, element);
9016 // }
9017 // void fail_locate_Identifier_libraryDirective() {
9018 // AstNode id = _findNodeIn("foo", ["library foo.bar;"]);
9019 // Element element = ElementLocator.locate(id);
9020 // EngineTestCase.assertInstanceOf((obj) => obj is LibraryElement, LibraryEl ement, element);
9021 // }
9022 // void fail_locate_Identifier_partOfDirective() {
9023 // // Can't resolve the library element without the library declaration.
9024 // // AstNode id = findNodeIn("foo", "part of foo.bar;");
9025 // // Element element = ElementLocator.locate(id);
9026 // // assertInstanceOf(LibraryElement.class, element);
9027 // JUnitTestCase.fail("Test this case");
9028 // }
9029 // void test_locate_AssignmentExpression() {
9030 // AstNode id = _findNodeIn("+=", ["int x = 0;", "void main() {", " x += 1; ", "}"]);
9031 // Element element = ElementLocator.locate(id);
9032 // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElem ent, element);
9033 // }
9034 // void test_locate_BinaryExpression() {
9035 // AstNode id = _findNodeIn("+", ["var x = 3 + 4;"]);
9036 // Element element = ElementLocator.locate(id);
9037 // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElem ent, element);
9038 // }
9039 // void test_locate_ClassDeclaration() {
9040 // AstNode id = _findNodeIn("class", ["class A { }"]);
9041 // Element element = ElementLocator.locate(id);
9042 // EngineTestCase.assertInstanceOf((obj) => obj is ClassElement, ClassElemen t, element);
9043 // }
9044 // void test_locate_CompilationUnit() {
9045 // CompilationUnit cu = _resolveContents(["// only comment"]);
9046 // JUnitTestCase.assertNotNull(cu.element);
9047 // Element element = ElementLocator.locate(cu);
9048 // JUnitTestCase.assertSame(cu.element, element);
9049 // }
9050 // void test_locate_ConstructorDeclaration() {
9051 // AstNode id = _findNodeIndexedIn("bar", 0, ["class A {", " A.bar() {}", " }"]);
9052 // ConstructorDeclaration declaration = id.getAncestor((node) => node is Con structorDeclaration);
9053 // Element element = ElementLocator.locate(declaration);
9054 // EngineTestCase.assertInstanceOf((obj) => obj is ConstructorElement, Const ructorElement, element);
9055 // }
9056 // void test_locate_FunctionDeclaration() {
9057 // AstNode id = _findNodeIn("f", ["int f() => 3;"]);
9058 // FunctionDeclaration declaration = id.getAncestor((node) => node is Functi onDeclaration);
9059 // Element element = ElementLocator.locate(declaration);
9060 // EngineTestCase.assertInstanceOf((obj) => obj is FunctionElement, Function Element, element);
9061 // }
9062 // void test_locate_Identifier_annotationClass_namedConstructor_forSimpleForma lParameter() {
9063 // AstNode id = _findNodeIndexedIn("Class", 2, [
9064 // "class Class {",
9065 // " const Class.name();",
9066 // "}",
9067 // "void main(@Class.name() parameter) {",
9068 // "}"]);
9069 // Element element = ElementLocator.locate(id);
9070 // EngineTestCase.assertInstanceOf((obj) => obj is ClassElement, ClassElemen t, element);
9071 // }
9072 // void test_locate_Identifier_annotationClass_unnamedConstructor_forSimpleFor malParameter() {
9073 // AstNode id = _findNodeIndexedIn("Class", 2, [
9074 // "class Class {",
9075 // " const Class();",
9076 // "}",
9077 // "void main(@Class() parameter) {",
9078 // "}"]);
9079 // Element element = ElementLocator.locate(id);
9080 // EngineTestCase.assertInstanceOf((obj) => obj is ConstructorElement, Const ructorElement, element);
9081 // }
9082 // void test_locate_Identifier_className() {
9083 // AstNode id = _findNodeIn("A", ["class A { }"]);
9084 // Element element = ElementLocator.locate(id);
9085 // EngineTestCase.assertInstanceOf((obj) => obj is ClassElement, ClassElemen t, element);
9086 // }
9087 // void test_locate_Identifier_constructor_named() {
9088 // AstNode id = _findNodeIndexedIn("bar", 0, ["class A {", " A.bar() {}", " }"]);
9089 // Element element = ElementLocator.locate(id);
9090 // EngineTestCase.assertInstanceOf((obj) => obj is ConstructorElement, Const ructorElement, element);
9091 // }
9092 // void test_locate_Identifier_constructor_unnamed() {
9093 // AstNode id = _findNodeIndexedIn("A", 1, ["class A {", " A() {}", "}"]);
9094 // Element element = ElementLocator.locate(id);
9095 // EngineTestCase.assertInstanceOf((obj) => obj is ConstructorElement, Const ructorElement, element);
9096 // }
9097 // void test_locate_Identifier_fieldName() {
9098 // AstNode id = _findNodeIn("x", ["class A { var x; }"]);
9099 // Element element = ElementLocator.locate(id);
9100 // EngineTestCase.assertInstanceOf((obj) => obj is FieldElement, FieldElemen t, element);
9101 // }
9102 // void test_locate_Identifier_propertAccess() {
9103 // AstNode id = _findNodeIn("length", ["void main() {", " int x = 'foo'.leng th;", "}"]);
9104 // Element element = ElementLocator.locate(id);
9105 // EngineTestCase.assertInstanceOf((obj) => obj is PropertyAccessorElement, PropertyAccessorElement, element);
9106 // }
9107 // void test_locate_ImportDirective() {
9108 // AstNode id = _findNodeIn("import", ["import 'dart:core';"]);
9109 // Element element = ElementLocator.locate(id);
9110 // EngineTestCase.assertInstanceOf((obj) => obj is ImportElement, ImportElem ent, element);
9111 // }
9112 // void test_locate_IndexExpression() {
9113 // AstNode id = _findNodeIndexedIn("\\[", 1, [
9114 // "void main() {",
9115 // " List x = [1, 2];",
9116 // " var y = x[0];",
9117 // "}"]);
9118 // Element element = ElementLocator.locate(id);
9119 // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElem ent, element);
9120 // }
9121 // void test_locate_InstanceCreationExpression() {
9122 // AstNode node = _findNodeIndexedIn("A(", 0, ["class A {}", "void main() {" , " new A();", "}"]);
9123 // Element element = ElementLocator.locate(node);
9124 // EngineTestCase.assertInstanceOf((obj) => obj is ConstructorElement, Const ructorElement, element);
9125 // }
9126 // void test_locate_InstanceCreationExpression_type_prefixedIdentifier() {
9127 // // prepare: new pref.A()
9128 // SimpleIdentifier identifier = AstFactory.identifier3("A");
9129 // PrefixedIdentifier prefixedIdentifier = AstFactory.identifier4("pref", id entifier);
9130 // InstanceCreationExpression creation = AstFactory.instanceCreationExpressi on2(Keyword.NEW, AstFactory.typeName3(prefixedIdentifier, []), []);
9131 // // set ConstructorElement
9132 // ClassElement classElement = ElementFactory.classElement2("A", []);
9133 // ConstructorElement constructorElement = ElementFactory.constructorElement 2(classElement, null, []);
9134 // creation.constructorName.staticElement = constructorElement;
9135 // // verify that "A" is resolved to ConstructorElement
9136 // Element element = ElementLocator.locate(identifier);
9137 // JUnitTestCase.assertSame(constructorElement, element);
9138 // }
9139 // void test_locate_InstanceCreationExpression_type_simpleIdentifier() {
9140 // // prepare: new A()
9141 // SimpleIdentifier identifier = AstFactory.identifier3("A");
9142 // InstanceCreationExpression creation = AstFactory.instanceCreationExpressi on2(Keyword.NEW, AstFactory.typeName3(identifier, []), []);
9143 // // set ConstructorElement
9144 // ClassElement classElement = ElementFactory.classElement2("A", []);
9145 // ConstructorElement constructorElement = ElementFactory.constructorElement 2(classElement, null, []);
9146 // creation.constructorName.staticElement = constructorElement;
9147 // // verify that "A" is resolved to ConstructorElement
9148 // Element element = ElementLocator.locate(identifier);
9149 // JUnitTestCase.assertSame(constructorElement, element);
9150 // }
9151 // void test_locate_LibraryDirective() {
9152 // AstNode id = _findNodeIn("library", ["library foo;"]);
9153 // Element element = ElementLocator.locate(id);
9154 // EngineTestCase.assertInstanceOf((obj) => obj is LibraryElement, LibraryEl ement, element);
9155 // }
9156 // void test_locate_MethodDeclaration() {
9157 // AstNode id = _findNodeIn("m", ["class A {", " void m() {}", "}"]);
9158 // MethodDeclaration declaration = id.getAncestor((node) => node is MethodDe claration);
9159 // Element element = ElementLocator.locate(declaration);
9160 // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElem ent, element);
9161 // }
9162 // void test_locate_MethodInvocation_method() {
9163 // AstNode id = _findNodeIndexedIn("bar", 1, [
9164 // "class A {",
9165 // " int bar() => 42;",
9166 // "}",
9167 // "void main() {",
9168 // " var f = new A().bar();",
9169 // "}"]);
9170 // Element element = ElementLocator.locate(id);
9171 // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElem ent, element);
9172 // }
9173 // void test_locate_MethodInvocation_topLevel() {
9174 // String contents = EngineTestCase.createSource(["foo(x) {}", "void main() {", " foo(0);", "}"]);
9175 // CompilationUnit cu = _resolveContents([contents]);
9176 // MethodInvocation node = AbstractDartTest.findNode(cu, contents.indexOf("f oo(0)"), MethodInvocation);
9177 // Element element = ElementLocator.locate(node);
9178 // EngineTestCase.assertInstanceOf((obj) => obj is FunctionElement, Function Element, element);
9179 // }
9180 // void test_locate_PostfixExpression() {
9181 // AstNode id = _findNodeIn("++", ["int addOne(int x) => x++;"]);
9182 // Element element = ElementLocator.locate(id);
9183 // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElem ent, element);
9184 // }
9185 // void test_locate_PrefixedIdentifier() {
9186 // AstNode id = _findNodeIn("int", ["import 'dart:core' as core;", "core.int value;"]);
9187 // PrefixedIdentifier identifier = id.getAncestor((node) => node is Prefixed Identifier);
9188 // Element element = ElementLocator.locate(identifier);
9189 // EngineTestCase.assertInstanceOf((obj) => obj is ClassElement, ClassElemen t, element);
9190 // }
9191 // void test_locate_PrefixExpression() {
9192 // AstNode id = _findNodeIn("++", ["int addOne(int x) => ++x;"]);
9193 // Element element = ElementLocator.locate(id);
9194 // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElem ent, element);
9195 // }
9196 // void test_locate_StringLiteral_exportUri() {
9197 // addNamedSource("/foo.dart", "library foo;");
9198 // AstNode id = _findNodeIn("'foo.dart'", ["export 'foo.dart';"]);
9199 // Element element = ElementLocator.locate(id);
9200 // EngineTestCase.assertInstanceOf((obj) => obj is LibraryElement, LibraryEl ement, element);
9201 // }
9202 // void test_locate_StringLiteral_expression() {
9203 // AstNode id = _findNodeIn("abc", ["var x = 'abc';"]);
9204 // Element element = ElementLocator.locate(id);
9205 // JUnitTestCase.assertNull(element);
9206 // }
9207 // void test_locate_StringLiteral_importUri() {
9208 // addNamedSource("/foo.dart", "library foo; class A {}");
9209 // AstNode id = _findNodeIn("'foo.dart'", ["import 'foo.dart'; class B exten ds A {}"]);
9210 // Element element = ElementLocator.locate(id);
9211 // EngineTestCase.assertInstanceOf((obj) => obj is LibraryElement, LibraryEl ement, element);
9212 // }
9213 // void test_locate_StringLiteral_partUri() {
9214 // addNamedSource("/foo.dart", "part of app;");
9215 // AstNode id = _findNodeIn("'foo.dart'", ["library app; part 'foo.dart';"]) ;
9216 // Element element = ElementLocator.locate(id);
9217 // EngineTestCase.assertInstanceOf((obj) => obj is CompilationUnitElement, C ompilationUnitElement, element);
9218 // }
9219 // void test_locate_VariableDeclaration() {
9220 // AstNode id = _findNodeIn("x", ["var x = 'abc';"]);
9221 // VariableDeclaration declaration = id.getAncestor((node) => node is Variab leDeclaration);
9222 // Element element = ElementLocator.locate(declaration);
9223 // EngineTestCase.assertInstanceOf((obj) => obj is TopLevelVariableElement, TopLevelVariableElement, element);
9224 // }
9225 // void test_locateWithOffset_BinaryExpression() {
9226 // AstNode id = _findNodeIn("+", ["var x = 3 + 4;"]);
9227 // Element element = ElementLocator.locateWithOffset(id, 0);
9228 // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElem ent, element);
9229 // }
9230 // void test_locateWithOffset_StringLiteral() {
9231 // AstNode id = _findNodeIn("abc", ["var x = 'abc';"]);
9232 // Element element = ElementLocator.locateWithOffset(id, 1);
9233 // JUnitTestCase.assertNull(element);
9234 // }
9235 // @override
9236 // void reset() {
9237 // AnalysisOptionsImpl analysisOptions = new AnalysisOptionsImpl();
9238 // analysisOptions.hint = false;
9239 // resetWithOptions(analysisOptions);
9240 // }
9241 // /**
9242 // * Find the first AST node matching a pattern in the resolved AST for the g iven source.
9243 // *
9244 // * @param nodePattern the (unique) pattern used to identify the node of int erest
9245 // * @param lines the lines to be merged into a single source string
9246 // * @return the matched node in the resolved AST for the given source lines
9247 // * @throws Exception if source cannot be verified
9248 // */
9249 // AstNode _findNodeIn(String nodePattern, List<String> lines) => _findNodeInd exedIn(nodePattern, 0, lines);
9250 // /**
9251 // * Find the AST node matching the given indexed occurrence of a pattern in the resolved AST for
9252 // * the given source.
9253 // *
9254 // * @param nodePattern the pattern used to identify the node of interest
9255 // * @param index the index of the pattern match of interest
9256 // * @param lines the lines to be merged into a single source string
9257 // * @return the matched node in the resolved AST for the given source lines
9258 // * @throws Exception if source cannot be verified
9259 // */
9260 // AstNode _findNodeIndexedIn(String nodePattern, int index, List<String> line s) {
9261 // String contents = EngineTestCase.createSource(lines);
9262 // CompilationUnit cu = _resolveContents([contents]);
9263 // int start = _getOffsetOfMatch(contents, nodePattern, index);
9264 // int end = start + nodePattern.length;
9265 // return new NodeLocator.con2(start, end).searchWithin(cu);
9266 // }
9267 // int _getOffsetOfMatch(String contents, String pattern, int matchIndex) {
9268 // if (matchIndex == 0) {
9269 // return contents.indexOf(pattern);
9270 // }
9271 // JavaPatternMatcher matcher = new JavaPatternMatcher(new RegExp(pattern), contents);
9272 // int count = 0;
9273 // while (matcher.find()) {
9274 // if (count == matchIndex) {
9275 // return matcher.start();
9276 // }
9277 // ++count;
9278 // }
9279 // return -1;
9280 // }
9281 // /**
9282 // * Parse, resolve and verify the given source lines to produce a fully reso lved AST.
9283 // *
9284 // * @param lines the lines to be merged into a single source string
9285 // * @return the result of resolving the AST structure representing the conte nt of the source
9286 // * @throws Exception if source cannot be verified
9287 // */
9288 // CompilationUnit _resolveContents(List<String> lines) {
9289 // Source source = addSource(EngineTestCase.createSource(lines));
9290 // LibraryElement library = resolve(source);
9291 // assertNoErrors(source);
9292 // verify([source]);
9293 // return analysisContext.resolveCompilationUnit(source, library);
9294 // }
9295 // static dartSuite() {
9296 // _ut.group('ElementLocatorTest', () {
9297 // _ut.test('test_locateWithOffset_BinaryExpression', () {
9298 // final __test = new ElementLocatorTest();
9299 // runJUnitTest(__test, __test.test_locateWithOffset_BinaryExpression);
9300 // });
9301 // _ut.test('test_locateWithOffset_StringLiteral', () {
9302 // final __test = new ElementLocatorTest();
9303 // runJUnitTest(__test, __test.test_locateWithOffset_StringLiteral);
9304 // });
9305 // _ut.test('test_locate_AssignmentExpression', () {
9306 // final __test = new ElementLocatorTest();
9307 // runJUnitTest(__test, __test.test_locate_AssignmentExpression);
9308 // });
9309 // _ut.test('test_locate_BinaryExpression', () {
9310 // final __test = new ElementLocatorTest();
9311 // runJUnitTest(__test, __test.test_locate_BinaryExpression);
9312 // });
9313 // _ut.test('test_locate_ClassDeclaration', () {
9314 // final __test = new ElementLocatorTest();
9315 // runJUnitTest(__test, __test.test_locate_ClassDeclaration);
9316 // });
9317 // _ut.test('test_locate_CompilationUnit', () {
9318 // final __test = new ElementLocatorTest();
9319 // runJUnitTest(__test, __test.test_locate_CompilationUnit);
9320 // });
9321 // _ut.test('test_locate_ConstructorDeclaration', () {
9322 // final __test = new ElementLocatorTest();
9323 // runJUnitTest(__test, __test.test_locate_ConstructorDeclaration);
9324 // });
9325 // _ut.test('test_locate_FunctionDeclaration', () {
9326 // final __test = new ElementLocatorTest();
9327 // runJUnitTest(__test, __test.test_locate_FunctionDeclaration);
9328 // });
9329 // _ut.test('test_locate_Identifier_annotationClass_namedConstructor_forSi mpleFormalParameter', () {
9330 // final __test = new ElementLocatorTest();
9331 // runJUnitTest(__test, __test.test_locate_Identifier_annotationClass_na medConstructor_forSimpleFormalParameter);
9332 // });
9333 // _ut.test('test_locate_Identifier_annotationClass_unnamedConstructor_for SimpleFormalParameter', () {
9334 // final __test = new ElementLocatorTest();
9335 // runJUnitTest(__test, __test.test_locate_Identifier_annotationClass_un namedConstructor_forSimpleFormalParameter);
9336 // });
9337 // _ut.test('test_locate_Identifier_className', () {
9338 // final __test = new ElementLocatorTest();
9339 // runJUnitTest(__test, __test.test_locate_Identifier_className);
9340 // });
9341 // _ut.test('test_locate_Identifier_constructor_named', () {
9342 // final __test = new ElementLocatorTest();
9343 // runJUnitTest(__test, __test.test_locate_Identifier_constructor_named) ;
9344 // });
9345 // _ut.test('test_locate_Identifier_constructor_unnamed', () {
9346 // final __test = new ElementLocatorTest();
9347 // runJUnitTest(__test, __test.test_locate_Identifier_constructor_unname d);
9348 // });
9349 // _ut.test('test_locate_Identifier_fieldName', () {
9350 // final __test = new ElementLocatorTest();
9351 // runJUnitTest(__test, __test.test_locate_Identifier_fieldName);
9352 // });
9353 // _ut.test('test_locate_Identifier_propertAccess', () {
9354 // final __test = new ElementLocatorTest();
9355 // runJUnitTest(__test, __test.test_locate_Identifier_propertAccess);
9356 // });
9357 // _ut.test('test_locate_ImportDirective', () {
9358 // final __test = new ElementLocatorTest();
9359 // runJUnitTest(__test, __test.test_locate_ImportDirective);
9360 // });
9361 // _ut.test('test_locate_IndexExpression', () {
9362 // final __test = new ElementLocatorTest();
9363 // runJUnitTest(__test, __test.test_locate_IndexExpression);
9364 // });
9365 // _ut.test('test_locate_InstanceCreationExpression', () {
9366 // final __test = new ElementLocatorTest();
9367 // runJUnitTest(__test, __test.test_locate_InstanceCreationExpression);
9368 // });
9369 // _ut.test('test_locate_InstanceCreationExpression_type_prefixedIdentifie r', () {
9370 // final __test = new ElementLocatorTest();
9371 // runJUnitTest(__test, __test.test_locate_InstanceCreationExpression_ty pe_prefixedIdentifier);
9372 // });
9373 // _ut.test('test_locate_InstanceCreationExpression_type_simpleIdentifier' , () {
9374 // final __test = new ElementLocatorTest();
9375 // runJUnitTest(__test, __test.test_locate_InstanceCreationExpression_ty pe_simpleIdentifier);
9376 // });
9377 // _ut.test('test_locate_LibraryDirective', () {
9378 // final __test = new ElementLocatorTest();
9379 // runJUnitTest(__test, __test.test_locate_LibraryDirective);
9380 // });
9381 // _ut.test('test_locate_MethodDeclaration', () {
9382 // final __test = new ElementLocatorTest();
9383 // runJUnitTest(__test, __test.test_locate_MethodDeclaration);
9384 // });
9385 // _ut.test('test_locate_MethodInvocation_method', () {
9386 // final __test = new ElementLocatorTest();
9387 // runJUnitTest(__test, __test.test_locate_MethodInvocation_method);
9388 // });
9389 // _ut.test('test_locate_MethodInvocation_topLevel', () {
9390 // final __test = new ElementLocatorTest();
9391 // runJUnitTest(__test, __test.test_locate_MethodInvocation_topLevel);
9392 // });
9393 // _ut.test('test_locate_PostfixExpression', () {
9394 // final __test = new ElementLocatorTest();
9395 // runJUnitTest(__test, __test.test_locate_PostfixExpression);
9396 // });
9397 // _ut.test('test_locate_PrefixExpression', () {
9398 // final __test = new ElementLocatorTest();
9399 // runJUnitTest(__test, __test.test_locate_PrefixExpression);
9400 // });
9401 // _ut.test('test_locate_PrefixedIdentifier', () {
9402 // final __test = new ElementLocatorTest();
9403 // runJUnitTest(__test, __test.test_locate_PrefixedIdentifier);
9404 // });
9405 // _ut.test('test_locate_StringLiteral_exportUri', () {
9406 // final __test = new ElementLocatorTest();
9407 // runJUnitTest(__test, __test.test_locate_StringLiteral_exportUri);
9408 // });
9409 // _ut.test('test_locate_StringLiteral_expression', () {
9410 // final __test = new ElementLocatorTest();
9411 // runJUnitTest(__test, __test.test_locate_StringLiteral_expression);
9412 // });
9413 // _ut.test('test_locate_StringLiteral_importUri', () {
9414 // final __test = new ElementLocatorTest();
9415 // runJUnitTest(__test, __test.test_locate_StringLiteral_importUri);
9416 // });
9417 // _ut.test('test_locate_StringLiteral_partUri', () {
9418 // final __test = new ElementLocatorTest();
9419 // runJUnitTest(__test, __test.test_locate_StringLiteral_partUri);
9420 // });
9421 // _ut.test('test_locate_VariableDeclaration', () {
9422 // final __test = new ElementLocatorTest();
9423 // runJUnitTest(__test, __test.test_locate_VariableDeclaration);
9424 // });
9425 // });
9426 // }
9427 // }
9428 // class EnumMemberBuilderTest extends EngineTestCase {
9429 // void test_visitEnumDeclaration_multiple() {
9430 // String firstName = "ONE";
9431 // String secondName = "TWO";
9432 // String thirdName = "THREE";
9433 // EnumDeclaration enumDeclaration = AstFactory.enumDeclaration2("E", [first Name, secondName, thirdName]);
9434 // ClassElement enumElement = _buildElement(enumDeclaration);
9435 // List<FieldElement> fields = enumElement.fields;
9436 // EngineTestCase.assertLength(6, fields);
9437 // FieldElement constant = fields[3];
9438 // JUnitTestCase.assertNotNull(constant);
9439 // JUnitTestCase.assertEquals(firstName, constant.name);
9440 // constant = fields[4];
9441 // JUnitTestCase.assertNotNull(constant);
9442 // JUnitTestCase.assertEquals(secondName, constant.name);
9443 // constant = fields[5];
9444 // JUnitTestCase.assertNotNull(constant);
9445 // JUnitTestCase.assertEquals(thirdName, constant.name);
9446 // }
9447 // void test_visitEnumDeclaration_single() {
9448 // String firstName = "ONE";
9449 // EnumDeclaration enumDeclaration = AstFactory.enumDeclaration2("E", [first Name]);
9450 // ClassElement enumElement = _buildElement(enumDeclaration);
9451 // List<FieldElement> fields = enumElement.fields;
9452 // EngineTestCase.assertLength(4, fields);
9453 // FieldElement field = fields[0];
9454 // JUnitTestCase.assertNotNull(field);
9455 // JUnitTestCase.assertEquals("index", field.name);
9456 // JUnitTestCase.assertFalse(field.isStatic);
9457 // field = fields[1];
9458 // JUnitTestCase.assertNotNull(field);
9459 // JUnitTestCase.assertEquals("_name", field.name);
9460 // JUnitTestCase.assertFalse(field.isStatic);
9461 // field = fields[2];
9462 // JUnitTestCase.assertNotNull(field);
9463 // JUnitTestCase.assertEquals("values", field.name);
9464 // JUnitTestCase.assertTrue(field.isStatic);
9465 // FieldElement constant = fields[3];
9466 // JUnitTestCase.assertNotNull(constant);
9467 // JUnitTestCase.assertEquals(firstName, constant.name);
9468 // }
9469 // ClassElement _buildElement(EnumDeclaration enumDeclaration) {
9470 // ElementHolder holder = new ElementHolder();
9471 // ElementBuilder elementBuilder = new ElementBuilder(holder);
9472 // enumDeclaration.accept(elementBuilder);
9473 // EnumMemberBuilder memberBuilder = new EnumMemberBuilder(new TestTypeProvi der());
9474 // enumDeclaration.accept(memberBuilder);
9475 // List<ClassElement> enums = holder.enums;
9476 // EngineTestCase.assertLength(1, enums);
9477 // return enums[0];
9478 // }
9479 // static dartSuite() {
9480 // _ut.group('EnumMemberBuilderTest', () {
9481 // _ut.test('test_visitEnumDeclaration_multiple', () {
9482 // final __test = new EnumMemberBuilderTest();
9483 // runJUnitTest(__test, __test.test_visitEnumDeclaration_multiple);
9484 // });
9485 // _ut.test('test_visitEnumDeclaration_single', () {
9486 // final __test = new EnumMemberBuilderTest();
9487 // runJUnitTest(__test, __test.test_visitEnumDeclaration_single);
9488 // });
9489 // });
9490 // }
9491 // }
9492 // class ErrorReporterTest extends EngineTestCase {
9493 // /**
9494 // * Create a type with the given name in a compilation unit with the given n ame.
9495 // *
9496 // * @param fileName the name of the compilation unit containing the class
9497 // * @param typeName the name of the type to be created
9498 // * @return the type that was created
9499 // */
9500 // InterfaceType createType(String fileName, String typeName) {
9501 // CompilationUnitElementImpl unit = ElementFactory.compilationUnit(fileName );
9502 // ClassElementImpl element = ElementFactory.classElement2(typeName, []);
9503 // unit.types = <ClassElement> [element];
9504 // return element.type;
9505 // }
9506 // void test_creation() {
9507 // GatheringErrorListener listener = new GatheringErrorListener();
9508 // TestSource source = new TestSource();
9509 // JUnitTestCase.assertNotNull(new ErrorReporter(listener, source));
9510 // }
9511 // void test_reportTypeErrorForNode_differentNames() {
9512 // DartType firstType = createType("/test1.dart", "A");
9513 // DartType secondType = createType("/test2.dart", "B");
9514 // GatheringErrorListener listener = new GatheringErrorListener();
9515 // ErrorReporter reporter = new ErrorReporter(listener, firstType.element.so urce);
9516 // reporter.reportTypeErrorForNode(StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIG NABLE, AstFactory.identifier3("x"), [firstType, secondType]);
9517 // AnalysisError error = listener.errors[0];
9518 // JUnitTestCase.assertTrue(error.message.indexOf("(") < 0);
9519 // }
9520 // void test_reportTypeErrorForNode_sameName() {
9521 // String typeName = "A";
9522 // DartType firstType = createType("/test1.dart", typeName);
9523 // DartType secondType = createType("/test2.dart", typeName);
9524 // GatheringErrorListener listener = new GatheringErrorListener();
9525 // ErrorReporter reporter = new ErrorReporter(listener, firstType.element.so urce);
9526 // reporter.reportTypeErrorForNode(StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIG NABLE, AstFactory.identifier3("x"), [firstType, secondType]);
9527 // AnalysisError error = listener.errors[0];
9528 // JUnitTestCase.assertTrue(error.message.indexOf("(") >= 0);
9529 // }
9530 // static dartSuite() {
9531 // _ut.group('ErrorReporterTest', () {
9532 // _ut.test('test_creation', () {
9533 // final __test = new ErrorReporterTest();
9534 // runJUnitTest(__test, __test.test_creation);
9535 // });
9536 // _ut.test('test_reportTypeErrorForNode_differentNames', () {
9537 // final __test = new ErrorReporterTest();
9538 // runJUnitTest(__test, __test.test_reportTypeErrorForNode_differentName s);
9539 // });
9540 // _ut.test('test_reportTypeErrorForNode_sameName', () {
9541 // final __test = new ErrorReporterTest();
9542 // runJUnitTest(__test, __test.test_reportTypeErrorForNode_sameName);
9543 // });
9544 // });
9545 // }
9546 // }
9547 // class ErrorSeverityTest extends EngineTestCase {
9548 // void test_max_error_error() {
9549 // JUnitTestCase.assertSame(ErrorSeverity.ERROR, ERROR.max(ErrorSeverity.ERR OR));
9550 // }
9551 // void test_max_error_none() {
9552 // JUnitTestCase.assertSame(ErrorSeverity.ERROR, ERROR.max(ErrorSeverity.NON E));
9553 // }
9554 // void test_max_error_warning() {
9555 // JUnitTestCase.assertSame(ErrorSeverity.ERROR, ERROR.max(ErrorSeverity.WAR NING));
9556 // }
9557 // void test_max_none_error() {
9558 // JUnitTestCase.assertSame(ErrorSeverity.ERROR, NONE.max(ErrorSeverity.ERRO R));
9559 // }
9560 // void test_max_none_none() {
9561 // JUnitTestCase.assertSame(ErrorSeverity.NONE, NONE.max(ErrorSeverity.NONE) );
9562 // }
9563 // void test_max_none_warning() {
9564 // JUnitTestCase.assertSame(ErrorSeverity.WARNING, NONE.max(ErrorSeverity.WA RNING));
9565 // }
9566 // void test_max_warning_error() {
9567 // JUnitTestCase.assertSame(ErrorSeverity.ERROR, WARNING.max(ErrorSeverity.E RROR));
9568 // }
9569 // void test_max_warning_none() {
9570 // JUnitTestCase.assertSame(ErrorSeverity.WARNING, WARNING.max(ErrorSeverity .NONE));
9571 // }
9572 // void test_max_warning_warning() {
9573 // JUnitTestCase.assertSame(ErrorSeverity.WARNING, WARNING.max(ErrorSeverity .WARNING));
9574 // }
9575 // static dartSuite() {
9576 // _ut.group('ErrorSeverityTest', () {
9577 // _ut.test('test_max_error_error', () {
9578 // final __test = new ErrorSeverityTest();
9579 // runJUnitTest(__test, __test.test_max_error_error);
9580 // });
9581 // _ut.test('test_max_error_none', () {
9582 // final __test = new ErrorSeverityTest();
9583 // runJUnitTest(__test, __test.test_max_error_none);
9584 // });
9585 // _ut.test('test_max_error_warning', () {
9586 // final __test = new ErrorSeverityTest();
9587 // runJUnitTest(__test, __test.test_max_error_warning);
9588 // });
9589 // _ut.test('test_max_none_error', () {
9590 // final __test = new ErrorSeverityTest();
9591 // runJUnitTest(__test, __test.test_max_none_error);
9592 // });
9593 // _ut.test('test_max_none_none', () {
9594 // final __test = new ErrorSeverityTest();
9595 // runJUnitTest(__test, __test.test_max_none_none);
9596 // });
9597 // _ut.test('test_max_none_warning', () {
9598 // final __test = new ErrorSeverityTest();
9599 // runJUnitTest(__test, __test.test_max_none_warning);
9600 // });
9601 // _ut.test('test_max_warning_error', () {
9602 // final __test = new ErrorSeverityTest();
9603 // runJUnitTest(__test, __test.test_max_warning_error);
9604 // });
9605 // _ut.test('test_max_warning_none', () {
9606 // final __test = new ErrorSeverityTest();
9607 // runJUnitTest(__test, __test.test_max_warning_none);
9608 // });
9609 // _ut.test('test_max_warning_warning', () {
9610 // final __test = new ErrorSeverityTest();
9611 // runJUnitTest(__test, __test.test_max_warning_warning);
9612 // });
9613 // });
9614 // }
9615 // }
9616 // class ExitDetectorTest extends ParserTestCase {
9617 // void fail_doStatement_continue_with_label() {
9618 // _assertFalse("{ x: do { continue x; } while(true); }");
9619 // }
9620 // void fail_whileStatement_continue_with_label() {
9621 // _assertFalse("{ x: while (true) { continue x; } }");
9622 // }
9623 // void fail_whileStatement_doStatement_scopeRequired() {
9624 // _assertTrue("{ while (true) { x: do { continue x; } while(true); }");
9625 // }
9626 // void test_asExpression() {
9627 // _assertFalse("a as Object;");
9628 // }
9629 // void test_asExpression_throw() {
9630 // _assertTrue("throw '' as Object;");
9631 // }
9632 // void test_assertStatement() {
9633 // _assertFalse("assert(a);");
9634 // }
9635 // void test_assertStatement_throw() {
9636 // _assertTrue("assert((throw 0));");
9637 // }
9638 // void test_assignmentExpression() {
9639 // _assertFalse("v = 1;");
9640 // }
9641 // void test_assignmentExpression_lhs_throw() {
9642 // _assertTrue("a[throw ''] = 0;");
9643 // }
9644 // void test_assignmentExpression_rhs_throw() {
9645 // _assertTrue("v = throw '';");
9646 // }
9647 // void test_binaryExpression_and() {
9648 // _assertFalse("a && b;");
9649 // }
9650 // void test_binaryExpression_and_lhs() {
9651 // _assertTrue("throw '' && b;");
9652 // }
9653 // void test_binaryExpression_and_rhs() {
9654 // _assertTrue("a && (throw '');");
9655 // }
9656 // void test_binaryExpression_and_rhs2() {
9657 // _assertTrue("false && (throw '');");
9658 // }
9659 // void test_binaryExpression_and_rhs3() {
9660 // _assertFalse("true && (throw '');");
9661 // }
9662 // void test_binaryExpression_or() {
9663 // _assertFalse("a || b;");
9664 // }
9665 // void test_binaryExpression_or_lhs() {
9666 // _assertTrue("throw '' || b;");
9667 // }
9668 // void test_binaryExpression_or_rhs() {
9669 // _assertTrue("a || (throw '');");
9670 // }
9671 // void test_binaryExpression_or_rhs2() {
9672 // _assertTrue("true || (throw '');");
9673 // }
9674 // void test_binaryExpression_or_rhs3() {
9675 // _assertFalse("false || (throw '');");
9676 // }
9677 // void test_block_empty() {
9678 // _assertFalse("{}");
9679 // }
9680 // void test_block_noReturn() {
9681 // _assertFalse("{ int i = 0; }");
9682 // }
9683 // void test_block_return() {
9684 // _assertTrue("{ return 0; }");
9685 // }
9686 // void test_block_returnNotLast() {
9687 // _assertTrue("{ return 0; throw 'a'; }");
9688 // }
9689 // void test_block_throwNotLast() {
9690 // _assertTrue("{ throw 0; x = null; }");
9691 // }
9692 // void test_cascadeExpression_argument() {
9693 // _assertTrue("a..b(throw '');");
9694 // }
9695 // void test_cascadeExpression_index() {
9696 // _assertTrue("a..[throw ''];");
9697 // }
9698 // void test_cascadeExpression_target() {
9699 // _assertTrue("throw ''..b();");
9700 // }
9701 // void test_conditional_ifElse_bothThrows() {
9702 // _assertTrue("c ? throw '' : throw '';");
9703 // }
9704 // void test_conditional_ifElse_elseThrows() {
9705 // _assertFalse("c ? i : throw '';");
9706 // }
9707 // void test_conditional_ifElse_noThrow() {
9708 // _assertFalse("c ? i : j;");
9709 // }
9710 // void test_conditional_ifElse_thenThrow() {
9711 // _assertFalse("c ? throw '' : j;");
9712 // }
9713 // void test_creation() {
9714 // JUnitTestCase.assertNotNull(new ExitDetector());
9715 // }
9716 // void test_doStatement_throwCondition() {
9717 // _assertTrue("{ do {} while (throw ''); }");
9718 // }
9719 // void test_doStatement_true_break() {
9720 // _assertFalse("{ do { break; } while (true); }");
9721 // }
9722 // void test_doStatement_true_continue() {
9723 // _assertTrue("{ do { continue; } while (true); }");
9724 // }
9725 // void test_doStatement_true_if_return() {
9726 // _assertTrue("{ do { if (true) {return null;} } while (true); }");
9727 // }
9728 // void test_doStatement_true_noBreak() {
9729 // _assertTrue("{ do {} while (true); }");
9730 // }
9731 // void test_doStatement_true_return() {
9732 // _assertTrue("{ do { return null; } while (true); }");
9733 // }
9734 // void test_emptyStatement() {
9735 // _assertFalse(";");
9736 // }
9737 // void test_forEachStatement() {
9738 // _assertFalse("for (element in list) {}");
9739 // }
9740 // void test_forEachStatement_throw() {
9741 // _assertTrue("for (element in throw '') {}");
9742 // }
9743 // void test_forStatement_condition() {
9744 // _assertTrue("for (; throw 0;) {}");
9745 // }
9746 // void test_forStatement_implicitTrue() {
9747 // _assertTrue("for (;;) {}");
9748 // }
9749 // void test_forStatement_implicitTrue_break() {
9750 // _assertFalse("for (;;) { break; }");
9751 // }
9752 // void test_forStatement_initialization() {
9753 // _assertTrue("for (i = throw 0;;) {}");
9754 // }
9755 // void test_forStatement_true() {
9756 // _assertTrue("for (; true; ) {}");
9757 // }
9758 // void test_forStatement_true_break() {
9759 // _assertFalse("{ for (; true; ) { break; } }");
9760 // }
9761 // void test_forStatement_true_continue() {
9762 // _assertTrue("{ for (; true; ) { continue; } }");
9763 // }
9764 // void test_forStatement_true_if_return() {
9765 // _assertTrue("{ for (; true; ) { if (true) {return null;} } }");
9766 // }
9767 // void test_forStatement_true_noBreak() {
9768 // _assertTrue("{ for (; true; ) {} }");
9769 // }
9770 // void test_forStatement_updaters() {
9771 // _assertTrue("for (;; i++, throw 0) {}");
9772 // }
9773 // void test_forStatement_variableDeclaration() {
9774 // _assertTrue("for (int i = throw 0;;) {}");
9775 // }
9776 // void test_functionExpression() {
9777 // _assertFalse("(){};");
9778 // }
9779 // void test_functionExpression_bodyThrows() {
9780 // _assertFalse("(int i) => throw '';");
9781 // }
9782 // void test_functionExpressionInvocation() {
9783 // _assertFalse("f(g);");
9784 // }
9785 // void test_functionExpressionInvocation_argumentThrows() {
9786 // _assertTrue("f(throw '');");
9787 // }
9788 // void test_functionExpressionInvocation_targetThrows() {
9789 // _assertTrue("throw ''(g);");
9790 // }
9791 // void test_identifier_prefixedIdentifier() {
9792 // _assertFalse("a.b;");
9793 // }
9794 // void test_identifier_simpleIdentifier() {
9795 // _assertFalse("a;");
9796 // }
9797 // void test_if_false_else_return() {
9798 // _assertTrue("if (false) {} else { return 0; }");
9799 // }
9800 // void test_if_false_noReturn() {
9801 // _assertFalse("if (false) {}");
9802 // }
9803 // void test_if_false_return() {
9804 // _assertFalse("if (false) { return 0; }");
9805 // }
9806 // void test_if_noReturn() {
9807 // _assertFalse("if (c) i++;");
9808 // }
9809 // void test_if_return() {
9810 // _assertFalse("if (c) return 0;");
9811 // }
9812 // void test_if_true_noReturn() {
9813 // _assertFalse("if (true) {}");
9814 // }
9815 // void test_if_true_return() {
9816 // _assertTrue("if (true) { return 0; }");
9817 // }
9818 // void test_ifElse_bothReturn() {
9819 // _assertTrue("if (c) return 0; else return 1;");
9820 // }
9821 // void test_ifElse_elseReturn() {
9822 // _assertFalse("if (c) i++; else return 1;");
9823 // }
9824 // void test_ifElse_noReturn() {
9825 // _assertFalse("if (c) i++; else j++;");
9826 // }
9827 // void test_ifElse_thenReturn() {
9828 // _assertFalse("if (c) return 0; else j++;");
9829 // }
9830 // void test_indexExpression() {
9831 // _assertFalse("a[b];");
9832 // }
9833 // void test_indexExpression_index() {
9834 // _assertTrue("a[throw ''];");
9835 // }
9836 // void test_indexExpression_target() {
9837 // _assertTrue("throw ''[b];");
9838 // }
9839 // void test_instanceCreationExpression() {
9840 // _assertFalse("new A(b);");
9841 // }
9842 // void test_instanceCreationExpression_argumentThrows() {
9843 // _assertTrue("new A(throw '');");
9844 // }
9845 // void test_isExpression() {
9846 // _assertFalse("A is B;");
9847 // }
9848 // void test_isExpression_throws() {
9849 // _assertTrue("throw '' is B;");
9850 // }
9851 // void test_labeledStatement() {
9852 // _assertFalse("label: a;");
9853 // }
9854 // void test_labeledStatement_throws() {
9855 // _assertTrue("label: throw '';");
9856 // }
9857 // void test_literal_boolean() {
9858 // _assertFalse("true;");
9859 // }
9860 // void test_literal_double() {
9861 // _assertFalse("1.1;");
9862 // }
9863 // void test_literal_integer() {
9864 // _assertFalse("1;");
9865 // }
9866 // void test_literal_null() {
9867 // _assertFalse("null;");
9868 // }
9869 // void test_literal_String() {
9870 // _assertFalse("'str';");
9871 // }
9872 // void test_methodInvocation() {
9873 // _assertFalse("a.b(c);");
9874 // }
9875 // void test_methodInvocation_argument() {
9876 // _assertTrue("a.b(throw '');");
9877 // }
9878 // void test_methodInvocation_target() {
9879 // _assertTrue("throw ''.b(c);");
9880 // }
9881 // void test_parenthesizedExpression() {
9882 // _assertFalse("(a);");
9883 // }
9884 // void test_parenthesizedExpression_throw() {
9885 // _assertTrue("(throw '');");
9886 // }
9887 // void test_propertyAccess() {
9888 // _assertFalse("new Object().a;");
9889 // }
9890 // void test_propertyAccess_throws() {
9891 // _assertTrue("(throw '').a;");
9892 // }
9893 // void test_rethrow() {
9894 // _assertTrue("rethrow;");
9895 // }
9896 // void test_return() {
9897 // _assertTrue("return 0;");
9898 // }
9899 // void test_superExpression() {
9900 // _assertFalse("super.a;");
9901 // }
9902 // void test_switch_allReturn() {
9903 // _assertTrue("switch (i) { case 0: return 0; default: return 1; }");
9904 // }
9905 // void test_switch_defaultWithNoStatements() {
9906 // _assertFalse("switch (i) { case 0: return 0; default: }");
9907 // }
9908 // void test_switch_fallThroughToNotReturn() {
9909 // _assertFalse("switch (i) { case 0: case 1: break; default: return 1; }");
9910 // }
9911 // void test_switch_fallThroughToReturn() {
9912 // _assertTrue("switch (i) { case 0: case 1: return 0; default: return 1; }" );
9913 // }
9914 // void test_switch_noDefault() {
9915 // _assertFalse("switch (i) { case 0: return 0; }");
9916 // }
9917 // void test_switch_nonReturn() {
9918 // _assertFalse("switch (i) { case 0: i++; default: return 1; }");
9919 // }
9920 // void test_thisExpression() {
9921 // _assertFalse("this.a;");
9922 // }
9923 // void test_throwExpression() {
9924 // _assertTrue("throw new Object();");
9925 // }
9926 // void test_tryStatement_noReturn() {
9927 // _assertFalse("try {} catch (e, s) {} finally {}");
9928 // }
9929 // void test_tryStatement_return_catch() {
9930 // _assertFalse("try {} catch (e, s) { return 1; } finally {}");
9931 // }
9932 // void test_tryStatement_return_finally() {
9933 // _assertTrue("try {} catch (e, s) {} finally { return 1; }");
9934 // }
9935 // void test_tryStatement_return_try() {
9936 // _assertTrue("try { return 1; } catch (e, s) {} finally {}");
9937 // }
9938 // void test_variableDeclarationStatement_noInitializer() {
9939 // _assertFalse("int i;");
9940 // }
9941 // void test_variableDeclarationStatement_noThrow() {
9942 // _assertFalse("int i = 0;");
9943 // }
9944 // void test_variableDeclarationStatement_throw() {
9945 // _assertTrue("int i = throw new Object();");
9946 // }
9947 // void test_whileStatement_false_nonReturn() {
9948 // _assertFalse("{ while (false) {} }");
9949 // }
9950 // void test_whileStatement_throwCondition() {
9951 // _assertTrue("{ while (throw '') {} }");
9952 // }
9953 // void test_whileStatement_true_break() {
9954 // _assertFalse("{ while (true) { break; } }");
9955 // }
9956 // void test_whileStatement_true_continue() {
9957 // _assertTrue("{ while (true) { continue; } }");
9958 // }
9959 // void test_whileStatement_true_if_return() {
9960 // _assertTrue("{ while (true) { if (true) {return null;} } }");
9961 // }
9962 // void test_whileStatement_true_noBreak() {
9963 // _assertTrue("{ while (true) {} }");
9964 // }
9965 // void test_whileStatement_true_return() {
9966 // _assertTrue("{ while (true) { return null; } }");
9967 // }
9968 // void test_whileStatement_true_throw() {
9969 // _assertTrue("{ while (true) { throw ''; } }");
9970 // }
9971 // void _assertFalse(String source) {
9972 // _assertHasReturn(false, source);
9973 // }
9974 // void _assertHasReturn(bool expectedResult, String source) {
9975 // ExitDetector detector = new ExitDetector();
9976 // Statement statement = ParserTestCase.parseStatement(source, []);
9977 // JUnitTestCase.assertSame(expectedResult, statement.accept(detector));
9978 // }
9979 // void _assertTrue(String source) {
9980 // _assertHasReturn(true, source);
9981 // }
9982 // static dartSuite() {
9983 // _ut.group('ExitDetectorTest', () {
9984 // _ut.test('test_asExpression', () {
9985 // final __test = new ExitDetectorTest();
9986 // runJUnitTest(__test, __test.test_asExpression);
9987 // });
9988 // _ut.test('test_asExpression_throw', () {
9989 // final __test = new ExitDetectorTest();
9990 // runJUnitTest(__test, __test.test_asExpression_throw);
9991 // });
9992 // _ut.test('test_assertStatement', () {
9993 // final __test = new ExitDetectorTest();
9994 // runJUnitTest(__test, __test.test_assertStatement);
9995 // });
9996 // _ut.test('test_assertStatement_throw', () {
9997 // final __test = new ExitDetectorTest();
9998 // runJUnitTest(__test, __test.test_assertStatement_throw);
9999 // });
10000 // _ut.test('test_assignmentExpression', () {
10001 // final __test = new ExitDetectorTest();
10002 // runJUnitTest(__test, __test.test_assignmentExpression);
10003 // });
10004 // _ut.test('test_assignmentExpression_lhs_throw', () {
10005 // final __test = new ExitDetectorTest();
10006 // runJUnitTest(__test, __test.test_assignmentExpression_lhs_throw);
10007 // });
10008 // _ut.test('test_assignmentExpression_rhs_throw', () {
10009 // final __test = new ExitDetectorTest();
10010 // runJUnitTest(__test, __test.test_assignmentExpression_rhs_throw);
10011 // });
10012 // _ut.test('test_binaryExpression_and', () {
10013 // final __test = new ExitDetectorTest();
10014 // runJUnitTest(__test, __test.test_binaryExpression_and);
10015 // });
10016 // _ut.test('test_binaryExpression_and_lhs', () {
10017 // final __test = new ExitDetectorTest();
10018 // runJUnitTest(__test, __test.test_binaryExpression_and_lhs);
10019 // });
10020 // _ut.test('test_binaryExpression_and_rhs', () {
10021 // final __test = new ExitDetectorTest();
10022 // runJUnitTest(__test, __test.test_binaryExpression_and_rhs);
10023 // });
10024 // _ut.test('test_binaryExpression_and_rhs2', () {
10025 // final __test = new ExitDetectorTest();
10026 // runJUnitTest(__test, __test.test_binaryExpression_and_rhs2);
10027 // });
10028 // _ut.test('test_binaryExpression_and_rhs3', () {
10029 // final __test = new ExitDetectorTest();
10030 // runJUnitTest(__test, __test.test_binaryExpression_and_rhs3);
10031 // });
10032 // _ut.test('test_binaryExpression_or', () {
10033 // final __test = new ExitDetectorTest();
10034 // runJUnitTest(__test, __test.test_binaryExpression_or);
10035 // });
10036 // _ut.test('test_binaryExpression_or_lhs', () {
10037 // final __test = new ExitDetectorTest();
10038 // runJUnitTest(__test, __test.test_binaryExpression_or_lhs);
10039 // });
10040 // _ut.test('test_binaryExpression_or_rhs', () {
10041 // final __test = new ExitDetectorTest();
10042 // runJUnitTest(__test, __test.test_binaryExpression_or_rhs);
10043 // });
10044 // _ut.test('test_binaryExpression_or_rhs2', () {
10045 // final __test = new ExitDetectorTest();
10046 // runJUnitTest(__test, __test.test_binaryExpression_or_rhs2);
10047 // });
10048 // _ut.test('test_binaryExpression_or_rhs3', () {
10049 // final __test = new ExitDetectorTest();
10050 // runJUnitTest(__test, __test.test_binaryExpression_or_rhs3);
10051 // });
10052 // _ut.test('test_block_empty', () {
10053 // final __test = new ExitDetectorTest();
10054 // runJUnitTest(__test, __test.test_block_empty);
10055 // });
10056 // _ut.test('test_block_noReturn', () {
10057 // final __test = new ExitDetectorTest();
10058 // runJUnitTest(__test, __test.test_block_noReturn);
10059 // });
10060 // _ut.test('test_block_return', () {
10061 // final __test = new ExitDetectorTest();
10062 // runJUnitTest(__test, __test.test_block_return);
10063 // });
10064 // _ut.test('test_block_returnNotLast', () {
10065 // final __test = new ExitDetectorTest();
10066 // runJUnitTest(__test, __test.test_block_returnNotLast);
10067 // });
10068 // _ut.test('test_block_throwNotLast', () {
10069 // final __test = new ExitDetectorTest();
10070 // runJUnitTest(__test, __test.test_block_throwNotLast);
10071 // });
10072 // _ut.test('test_cascadeExpression_argument', () {
10073 // final __test = new ExitDetectorTest();
10074 // runJUnitTest(__test, __test.test_cascadeExpression_argument);
10075 // });
10076 // _ut.test('test_cascadeExpression_index', () {
10077 // final __test = new ExitDetectorTest();
10078 // runJUnitTest(__test, __test.test_cascadeExpression_index);
10079 // });
10080 // _ut.test('test_cascadeExpression_target', () {
10081 // final __test = new ExitDetectorTest();
10082 // runJUnitTest(__test, __test.test_cascadeExpression_target);
10083 // });
10084 // _ut.test('test_conditional_ifElse_bothThrows', () {
10085 // final __test = new ExitDetectorTest();
10086 // runJUnitTest(__test, __test.test_conditional_ifElse_bothThrows);
10087 // });
10088 // _ut.test('test_conditional_ifElse_elseThrows', () {
10089 // final __test = new ExitDetectorTest();
10090 // runJUnitTest(__test, __test.test_conditional_ifElse_elseThrows);
10091 // });
10092 // _ut.test('test_conditional_ifElse_noThrow', () {
10093 // final __test = new ExitDetectorTest();
10094 // runJUnitTest(__test, __test.test_conditional_ifElse_noThrow);
10095 // });
10096 // _ut.test('test_conditional_ifElse_thenThrow', () {
10097 // final __test = new ExitDetectorTest();
10098 // runJUnitTest(__test, __test.test_conditional_ifElse_thenThrow);
10099 // });
10100 // _ut.test('test_creation', () {
10101 // final __test = new ExitDetectorTest();
10102 // runJUnitTest(__test, __test.test_creation);
10103 // });
10104 // _ut.test('test_doStatement_throwCondition', () {
10105 // final __test = new ExitDetectorTest();
10106 // runJUnitTest(__test, __test.test_doStatement_throwCondition);
10107 // });
10108 // _ut.test('test_doStatement_true_break', () {
10109 // final __test = new ExitDetectorTest();
10110 // runJUnitTest(__test, __test.test_doStatement_true_break);
10111 // });
10112 // _ut.test('test_doStatement_true_continue', () {
10113 // final __test = new ExitDetectorTest();
10114 // runJUnitTest(__test, __test.test_doStatement_true_continue);
10115 // });
10116 // _ut.test('test_doStatement_true_if_return', () {
10117 // final __test = new ExitDetectorTest();
10118 // runJUnitTest(__test, __test.test_doStatement_true_if_return);
10119 // });
10120 // _ut.test('test_doStatement_true_noBreak', () {
10121 // final __test = new ExitDetectorTest();
10122 // runJUnitTest(__test, __test.test_doStatement_true_noBreak);
10123 // });
10124 // _ut.test('test_doStatement_true_return', () {
10125 // final __test = new ExitDetectorTest();
10126 // runJUnitTest(__test, __test.test_doStatement_true_return);
10127 // });
10128 // _ut.test('test_emptyStatement', () {
10129 // final __test = new ExitDetectorTest();
10130 // runJUnitTest(__test, __test.test_emptyStatement);
10131 // });
10132 // _ut.test('test_forEachStatement', () {
10133 // final __test = new ExitDetectorTest();
10134 // runJUnitTest(__test, __test.test_forEachStatement);
10135 // });
10136 // _ut.test('test_forEachStatement_throw', () {
10137 // final __test = new ExitDetectorTest();
10138 // runJUnitTest(__test, __test.test_forEachStatement_throw);
10139 // });
10140 // _ut.test('test_forStatement_condition', () {
10141 // final __test = new ExitDetectorTest();
10142 // runJUnitTest(__test, __test.test_forStatement_condition);
10143 // });
10144 // _ut.test('test_forStatement_implicitTrue', () {
10145 // final __test = new ExitDetectorTest();
10146 // runJUnitTest(__test, __test.test_forStatement_implicitTrue);
10147 // });
10148 // _ut.test('test_forStatement_implicitTrue_break', () {
10149 // final __test = new ExitDetectorTest();
10150 // runJUnitTest(__test, __test.test_forStatement_implicitTrue_break);
10151 // });
10152 // _ut.test('test_forStatement_initialization', () {
10153 // final __test = new ExitDetectorTest();
10154 // runJUnitTest(__test, __test.test_forStatement_initialization);
10155 // });
10156 // _ut.test('test_forStatement_true', () {
10157 // final __test = new ExitDetectorTest();
10158 // runJUnitTest(__test, __test.test_forStatement_true);
10159 // });
10160 // _ut.test('test_forStatement_true_break', () {
10161 // final __test = new ExitDetectorTest();
10162 // runJUnitTest(__test, __test.test_forStatement_true_break);
10163 // });
10164 // _ut.test('test_forStatement_true_continue', () {
10165 // final __test = new ExitDetectorTest();
10166 // runJUnitTest(__test, __test.test_forStatement_true_continue);
10167 // });
10168 // _ut.test('test_forStatement_true_if_return', () {
10169 // final __test = new ExitDetectorTest();
10170 // runJUnitTest(__test, __test.test_forStatement_true_if_return);
10171 // });
10172 // _ut.test('test_forStatement_true_noBreak', () {
10173 // final __test = new ExitDetectorTest();
10174 // runJUnitTest(__test, __test.test_forStatement_true_noBreak);
10175 // });
10176 // _ut.test('test_forStatement_updaters', () {
10177 // final __test = new ExitDetectorTest();
10178 // runJUnitTest(__test, __test.test_forStatement_updaters);
10179 // });
10180 // _ut.test('test_forStatement_variableDeclaration', () {
10181 // final __test = new ExitDetectorTest();
10182 // runJUnitTest(__test, __test.test_forStatement_variableDeclaration);
10183 // });
10184 // _ut.test('test_functionExpression', () {
10185 // final __test = new ExitDetectorTest();
10186 // runJUnitTest(__test, __test.test_functionExpression);
10187 // });
10188 // _ut.test('test_functionExpressionInvocation', () {
10189 // final __test = new ExitDetectorTest();
10190 // runJUnitTest(__test, __test.test_functionExpressionInvocation);
10191 // });
10192 // _ut.test('test_functionExpressionInvocation_argumentThrows', () {
10193 // final __test = new ExitDetectorTest();
10194 // runJUnitTest(__test, __test.test_functionExpressionInvocation_argumen tThrows);
10195 // });
10196 // _ut.test('test_functionExpressionInvocation_targetThrows', () {
10197 // final __test = new ExitDetectorTest();
10198 // runJUnitTest(__test, __test.test_functionExpressionInvocation_targetT hrows);
10199 // });
10200 // _ut.test('test_functionExpression_bodyThrows', () {
10201 // final __test = new ExitDetectorTest();
10202 // runJUnitTest(__test, __test.test_functionExpression_bodyThrows);
10203 // });
10204 // _ut.test('test_identifier_prefixedIdentifier', () {
10205 // final __test = new ExitDetectorTest();
10206 // runJUnitTest(__test, __test.test_identifier_prefixedIdentifier);
10207 // });
10208 // _ut.test('test_identifier_simpleIdentifier', () {
10209 // final __test = new ExitDetectorTest();
10210 // runJUnitTest(__test, __test.test_identifier_simpleIdentifier);
10211 // });
10212 // _ut.test('test_ifElse_bothReturn', () {
10213 // final __test = new ExitDetectorTest();
10214 // runJUnitTest(__test, __test.test_ifElse_bothReturn);
10215 // });
10216 // _ut.test('test_ifElse_elseReturn', () {
10217 // final __test = new ExitDetectorTest();
10218 // runJUnitTest(__test, __test.test_ifElse_elseReturn);
10219 // });
10220 // _ut.test('test_ifElse_noReturn', () {
10221 // final __test = new ExitDetectorTest();
10222 // runJUnitTest(__test, __test.test_ifElse_noReturn);
10223 // });
10224 // _ut.test('test_ifElse_thenReturn', () {
10225 // final __test = new ExitDetectorTest();
10226 // runJUnitTest(__test, __test.test_ifElse_thenReturn);
10227 // });
10228 // _ut.test('test_if_false_else_return', () {
10229 // final __test = new ExitDetectorTest();
10230 // runJUnitTest(__test, __test.test_if_false_else_return);
10231 // });
10232 // _ut.test('test_if_false_noReturn', () {
10233 // final __test = new ExitDetectorTest();
10234 // runJUnitTest(__test, __test.test_if_false_noReturn);
10235 // });
10236 // _ut.test('test_if_false_return', () {
10237 // final __test = new ExitDetectorTest();
10238 // runJUnitTest(__test, __test.test_if_false_return);
10239 // });
10240 // _ut.test('test_if_noReturn', () {
10241 // final __test = new ExitDetectorTest();
10242 // runJUnitTest(__test, __test.test_if_noReturn);
10243 // });
10244 // _ut.test('test_if_return', () {
10245 // final __test = new ExitDetectorTest();
10246 // runJUnitTest(__test, __test.test_if_return);
10247 // });
10248 // _ut.test('test_if_true_noReturn', () {
10249 // final __test = new ExitDetectorTest();
10250 // runJUnitTest(__test, __test.test_if_true_noReturn);
10251 // });
10252 // _ut.test('test_if_true_return', () {
10253 // final __test = new ExitDetectorTest();
10254 // runJUnitTest(__test, __test.test_if_true_return);
10255 // });
10256 // _ut.test('test_indexExpression', () {
10257 // final __test = new ExitDetectorTest();
10258 // runJUnitTest(__test, __test.test_indexExpression);
10259 // });
10260 // _ut.test('test_indexExpression_index', () {
10261 // final __test = new ExitDetectorTest();
10262 // runJUnitTest(__test, __test.test_indexExpression_index);
10263 // });
10264 // _ut.test('test_indexExpression_target', () {
10265 // final __test = new ExitDetectorTest();
10266 // runJUnitTest(__test, __test.test_indexExpression_target);
10267 // });
10268 // _ut.test('test_instanceCreationExpression', () {
10269 // final __test = new ExitDetectorTest();
10270 // runJUnitTest(__test, __test.test_instanceCreationExpression);
10271 // });
10272 // _ut.test('test_instanceCreationExpression_argumentThrows', () {
10273 // final __test = new ExitDetectorTest();
10274 // runJUnitTest(__test, __test.test_instanceCreationExpression_argumentT hrows);
10275 // });
10276 // _ut.test('test_isExpression', () {
10277 // final __test = new ExitDetectorTest();
10278 // runJUnitTest(__test, __test.test_isExpression);
10279 // });
10280 // _ut.test('test_isExpression_throws', () {
10281 // final __test = new ExitDetectorTest();
10282 // runJUnitTest(__test, __test.test_isExpression_throws);
10283 // });
10284 // _ut.test('test_labeledStatement', () {
10285 // final __test = new ExitDetectorTest();
10286 // runJUnitTest(__test, __test.test_labeledStatement);
10287 // });
10288 // _ut.test('test_labeledStatement_throws', () {
10289 // final __test = new ExitDetectorTest();
10290 // runJUnitTest(__test, __test.test_labeledStatement_throws);
10291 // });
10292 // _ut.test('test_literal_String', () {
10293 // final __test = new ExitDetectorTest();
10294 // runJUnitTest(__test, __test.test_literal_String);
10295 // });
10296 // _ut.test('test_literal_boolean', () {
10297 // final __test = new ExitDetectorTest();
10298 // runJUnitTest(__test, __test.test_literal_boolean);
10299 // });
10300 // _ut.test('test_literal_double', () {
10301 // final __test = new ExitDetectorTest();
10302 // runJUnitTest(__test, __test.test_literal_double);
10303 // });
10304 // _ut.test('test_literal_integer', () {
10305 // final __test = new ExitDetectorTest();
10306 // runJUnitTest(__test, __test.test_literal_integer);
10307 // });
10308 // _ut.test('test_literal_null', () {
10309 // final __test = new ExitDetectorTest();
10310 // runJUnitTest(__test, __test.test_literal_null);
10311 // });
10312 // _ut.test('test_methodInvocation', () {
10313 // final __test = new ExitDetectorTest();
10314 // runJUnitTest(__test, __test.test_methodInvocation);
10315 // });
10316 // _ut.test('test_methodInvocation_argument', () {
10317 // final __test = new ExitDetectorTest();
10318 // runJUnitTest(__test, __test.test_methodInvocation_argument);
10319 // });
10320 // _ut.test('test_methodInvocation_target', () {
10321 // final __test = new ExitDetectorTest();
10322 // runJUnitTest(__test, __test.test_methodInvocation_target);
10323 // });
10324 // _ut.test('test_parenthesizedExpression', () {
10325 // final __test = new ExitDetectorTest();
10326 // runJUnitTest(__test, __test.test_parenthesizedExpression);
10327 // });
10328 // _ut.test('test_parenthesizedExpression_throw', () {
10329 // final __test = new ExitDetectorTest();
10330 // runJUnitTest(__test, __test.test_parenthesizedExpression_throw);
10331 // });
10332 // _ut.test('test_propertyAccess', () {
10333 // final __test = new ExitDetectorTest();
10334 // runJUnitTest(__test, __test.test_propertyAccess);
10335 // });
10336 // _ut.test('test_propertyAccess_throws', () {
10337 // final __test = new ExitDetectorTest();
10338 // runJUnitTest(__test, __test.test_propertyAccess_throws);
10339 // });
10340 // _ut.test('test_rethrow', () {
10341 // final __test = new ExitDetectorTest();
10342 // runJUnitTest(__test, __test.test_rethrow);
10343 // });
10344 // _ut.test('test_return', () {
10345 // final __test = new ExitDetectorTest();
10346 // runJUnitTest(__test, __test.test_return);
10347 // });
10348 // _ut.test('test_superExpression', () {
10349 // final __test = new ExitDetectorTest();
10350 // runJUnitTest(__test, __test.test_superExpression);
10351 // });
10352 // _ut.test('test_switch_allReturn', () {
10353 // final __test = new ExitDetectorTest();
10354 // runJUnitTest(__test, __test.test_switch_allReturn);
10355 // });
10356 // _ut.test('test_switch_defaultWithNoStatements', () {
10357 // final __test = new ExitDetectorTest();
10358 // runJUnitTest(__test, __test.test_switch_defaultWithNoStatements);
10359 // });
10360 // _ut.test('test_switch_fallThroughToNotReturn', () {
10361 // final __test = new ExitDetectorTest();
10362 // runJUnitTest(__test, __test.test_switch_fallThroughToNotReturn);
10363 // });
10364 // _ut.test('test_switch_fallThroughToReturn', () {
10365 // final __test = new ExitDetectorTest();
10366 // runJUnitTest(__test, __test.test_switch_fallThroughToReturn);
10367 // });
10368 // _ut.test('test_switch_noDefault', () {
10369 // final __test = new ExitDetectorTest();
10370 // runJUnitTest(__test, __test.test_switch_noDefault);
10371 // });
10372 // _ut.test('test_switch_nonReturn', () {
10373 // final __test = new ExitDetectorTest();
10374 // runJUnitTest(__test, __test.test_switch_nonReturn);
10375 // });
10376 // _ut.test('test_thisExpression', () {
10377 // final __test = new ExitDetectorTest();
10378 // runJUnitTest(__test, __test.test_thisExpression);
10379 // });
10380 // _ut.test('test_throwExpression', () {
10381 // final __test = new ExitDetectorTest();
10382 // runJUnitTest(__test, __test.test_throwExpression);
10383 // });
10384 // _ut.test('test_tryStatement_noReturn', () {
10385 // final __test = new ExitDetectorTest();
10386 // runJUnitTest(__test, __test.test_tryStatement_noReturn);
10387 // });
10388 // _ut.test('test_tryStatement_return_catch', () {
10389 // final __test = new ExitDetectorTest();
10390 // runJUnitTest(__test, __test.test_tryStatement_return_catch);
10391 // });
10392 // _ut.test('test_tryStatement_return_finally', () {
10393 // final __test = new ExitDetectorTest();
10394 // runJUnitTest(__test, __test.test_tryStatement_return_finally);
10395 // });
10396 // _ut.test('test_tryStatement_return_try', () {
10397 // final __test = new ExitDetectorTest();
10398 // runJUnitTest(__test, __test.test_tryStatement_return_try);
10399 // });
10400 // _ut.test('test_variableDeclarationStatement_noInitializer', () {
10401 // final __test = new ExitDetectorTest();
10402 // runJUnitTest(__test, __test.test_variableDeclarationStatement_noIniti alizer);
10403 // });
10404 // _ut.test('test_variableDeclarationStatement_noThrow', () {
10405 // final __test = new ExitDetectorTest();
10406 // runJUnitTest(__test, __test.test_variableDeclarationStatement_noThrow );
10407 // });
10408 // _ut.test('test_variableDeclarationStatement_throw', () {
10409 // final __test = new ExitDetectorTest();
10410 // runJUnitTest(__test, __test.test_variableDeclarationStatement_throw);
10411 // });
10412 // _ut.test('test_whileStatement_false_nonReturn', () {
10413 // final __test = new ExitDetectorTest();
10414 // runJUnitTest(__test, __test.test_whileStatement_false_nonReturn);
10415 // });
10416 // _ut.test('test_whileStatement_throwCondition', () {
10417 // final __test = new ExitDetectorTest();
10418 // runJUnitTest(__test, __test.test_whileStatement_throwCondition);
10419 // });
10420 // _ut.test('test_whileStatement_true_break', () {
10421 // final __test = new ExitDetectorTest();
10422 // runJUnitTest(__test, __test.test_whileStatement_true_break);
10423 // });
10424 // _ut.test('test_whileStatement_true_continue', () {
10425 // final __test = new ExitDetectorTest();
10426 // runJUnitTest(__test, __test.test_whileStatement_true_continue);
10427 // });
10428 // _ut.test('test_whileStatement_true_if_return', () {
10429 // final __test = new ExitDetectorTest();
10430 // runJUnitTest(__test, __test.test_whileStatement_true_if_return);
10431 // });
10432 // _ut.test('test_whileStatement_true_noBreak', () {
10433 // final __test = new ExitDetectorTest();
10434 // runJUnitTest(__test, __test.test_whileStatement_true_noBreak);
10435 // });
10436 // _ut.test('test_whileStatement_true_return', () {
10437 // final __test = new ExitDetectorTest();
10438 // runJUnitTest(__test, __test.test_whileStatement_true_return);
10439 // });
10440 // _ut.test('test_whileStatement_true_throw', () {
10441 // final __test = new ExitDetectorTest();
10442 // runJUnitTest(__test, __test.test_whileStatement_true_throw);
10443 // });
10444 // });
10445 // }
10446 // }
10447 // /**
10448 // * An explicit package: resolver. This UriResolver shells out to pub, calling it's list-package-dirs
10449 // * command. It parses the resulting json map, which maps symbolic package ref erences to their
10450 // * concrete locations on disk.
10451 // *
10452 // * <pre>
10453 // *{
10454 // *"packages": {
10455 // *"foo": "path/to/foo",
10456 // *"bar": "path/to/bar"
10457 // *},
10458 // *"input_files": [
10459 // *...
10460 // *]
10461 // *},
10462 // *</pre>
10463 // */
10464 // class ExplicitPackageUriResolver extends UriResolver {
10465 // /**
10466 // * The name of the `package` scheme.
10467 // */
10468 // static String PACKAGE_SCHEME = "package";
10469 // static String PUB_LIST_COMMAND = "list-package-dirs";
10470 // /**
10471 // * Return `true` if the given URI is a `package` URI.
10472 // *
10473 // * @param uri the URI being tested
10474 // * @return `true` if the given URI is a `package` URI
10475 // */
10476 // static bool isPackageUri(Uri uri) => PACKAGE_SCHEME == uri.scheme;
10477 // final JavaFile rootDir;
10478 // final DirectoryBasedDartSdk _sdk;
10479 // Map<String, List<JavaFile>> packageMap;
10480 // /**
10481 // * Create a new ExplicitPackageUriResolver.
10482 // *
10483 // * @param sdk the sdk; this is used to locate the pub command to run
10484 // * @param rootDir the directory for which we'll be resolving package inform ation
10485 // */
10486 // ExplicitPackageUriResolver(this._sdk, this.rootDir) {
10487 // if (rootDir == null) {
10488 // throw new IllegalArgumentException("the root dir must not be null");
10489 // }
10490 // }
10491 // List<String> get command => <String> [_sdk.pubExecutable.getAbsolutePath(), PUB_LIST_COMMAND];
10492 // @override
10493 // Source resolveAbsolute(Uri uri) {
10494 // if (!isPackageUri(uri)) {
10495 // return null;
10496 // }
10497 // String path = uri.path;
10498 // if (path == null) {
10499 // path = uri.path;
10500 // if (path == null) {
10501 // return null;
10502 // }
10503 // }
10504 // String pkgName;
10505 // String relPath;
10506 // int index = path.indexOf('/');
10507 // if (index == -1) {
10508 // // No slash
10509 // pkgName = path;
10510 // relPath = "";
10511 // } else if (index == 0) {
10512 // // Leading slash is invalid
10513 // return null;
10514 // } else {
10515 // // <pkgName>/<relPath>
10516 // pkgName = path.substring(0, index);
10517 // relPath = path.substring(index + 1);
10518 // }
10519 // if (packageMap == null) {
10520 // packageMap = calculatePackageMap();
10521 // }
10522 // List<JavaFile> dirs = packageMap[pkgName];
10523 // if (dirs != null) {
10524 // for (JavaFile packageDir in dirs) {
10525 // if (packageDir.exists()) {
10526 // JavaFile resolvedFile = new JavaFile.relative(packageDir, relPath.r eplaceAll('/', new String.fromCharCode(JavaFile.separatorChar)));
10527 // if (resolvedFile.exists()) {
10528 // return new FileBasedSource.con2(uri, resolvedFile);
10529 // }
10530 // }
10531 // }
10532 // }
10533 // //
10534 // // Return a FileBasedSource that doesn't exist. This helps provide more m eaningful error
10535 // // messages to users (a missing file error, as opposed to an invalid uri error).
10536 // //
10537 // String fullPackagePath = "${pkgName}/${relPath}";
10538 // return new FileBasedSource.con2(uri, new JavaFile.relative(rootDir, fullP ackagePath.replaceAll('/', new String.fromCharCode(JavaFile.separatorChar))));
10539 // }
10540 // String resolvePathToPackage(String path) {
10541 // if (packageMap == null) {
10542 // return null;
10543 // }
10544 // for (String key in packageMap.keys.toSet()) {
10545 // List<JavaFile> files = packageMap[key];
10546 // for (JavaFile file in files) {
10547 // try {
10548 // if (file.getCanonicalPath().endsWith(path)) {
10549 // return key;
10550 // }
10551 // } on JavaIOException catch (e) {
10552 // }
10553 // }
10554 // }
10555 // return null;
10556 // }
10557 // @override
10558 // Uri restoreAbsolute(Source source) {
10559 // if (packageMap == null) {
10560 // return null;
10561 // }
10562 // if (source is FileBasedSource) {
10563 // String sourcePath = (source as FileBasedSource).file.getPath();
10564 // for (MapEntry<String, List<JavaFile>> entry in getMapEntrySet(packageMa p)) {
10565 // for (JavaFile pkgFolder in entry.getValue()) {
10566 // String pkgCanonicalPath = pkgFolder.getAbsolutePath();
10567 // if (sourcePath.startsWith(pkgCanonicalPath)) {
10568 // String packageName = entry.getKey();
10569 // String relPath = sourcePath.substring(pkgCanonicalPath.length);
10570 // return parseUriWithException("${PACKAGE_SCHEME}:${packageName}${r elPath}");
10571 // }
10572 // }
10573 // }
10574 // }
10575 // return null;
10576 // }
10577 // Map<String, List<JavaFile>> calculatePackageMap() {
10578 // ProcessBuilder builder = new ProcessBuilder(command);
10579 // builder.directory(rootDir);
10580 // ProcessRunner runner = new ProcessRunner(builder);
10581 // try {
10582 // if (runProcess(runner) == 0) {
10583 // return parsePackageMap(runner.getStdOut());
10584 // } else {
10585 // AnalysisEngine.instance.logger.logInformation("pub ${PUB_LIST_COMMAND } failed: exit code ${runner.getExitCode()}");
10586 // }
10587 // } on JavaIOException catch (ioe) {
10588 // AnalysisEngine.instance.logger.logInformation2("error running pub ${PUB _LIST_COMMAND}", ioe);
10589 // } on JSONException catch (e) {
10590 // AnalysisEngine.instance.logger.logError2("malformed json from pub ${PUB _LIST_COMMAND}", e);
10591 // }
10592 // return new HashMap<String, List<JavaFile>>();
10593 // }
10594 // Map<String, List<JavaFile>> parsePackageMap(String jsonText) {
10595 // Map<String, List<JavaFile>> map = new HashMap<String, List<JavaFile>>();
10596 // JSONObject obj = new JSONObject(jsonText);
10597 // JSONObject packages = obj.optJSONObject("packages");
10598 // if (packages != null) {
10599 // JavaIterator keys = packages.keys();
10600 // while (keys.hasNext) {
10601 // Object key = keys.next();
10602 // if (key is String) {
10603 // String strKey = key as String;
10604 // List<JavaFile> files = new List<JavaFile>();
10605 // map[strKey] = files;
10606 // Object val = packages.get(strKey);
10607 // if (val is String) {
10608 // String path = val as String;
10609 // files.add(new JavaFile(path));
10610 // } else if (val is JSONArray) {
10611 // JSONArray arr = val as JSONArray;
10612 // for (int i = 0; i < arr.length(); i++) {
10613 // files.add(new JavaFile(arr.getString(i)));
10614 // }
10615 // }
10616 // }
10617 // }
10618 // }
10619 // return map;
10620 // }
10621 // /**
10622 // * Run the external process and return the exit value once the external pro cess has completed.
10623 // *
10624 // * @param runner the external process runner
10625 // * @return the external process exit code
10626 // */
10627 // int runProcess(ProcessRunner runner) => runner.runSync(0);
10628 // }
10629 // class ExplicitPackageUriResolverTest extends JUnitTestCase {
10630 // void test_creation() {
10631 // JavaFile directory = FileUtilities2.createFile("/does/not/exist/foo_proje ct");
10632 // JUnitTestCase.assertNotNull(new ExplicitPackageUriResolver(null, director y));
10633 // }
10634 // void test_resolve_invalid() {
10635 // JavaFile projectDir = new JavaFile("foo_project");
10636 // UriResolver resolver = new ExplicitPackageUriResolverTest_MockExplicitPac kageUriResolver.con1(projectDir);
10637 // // Invalid: URI
10638 // try {
10639 // parseUriWithException("package:");
10640 // JUnitTestCase.fail("Expected exception");
10641 // } on URISyntaxException catch (e) {
10642 // }
10643 // // Invalid: just slash
10644 // Source result = resolver.resolveAbsolute(parseUriWithException("package:/ "));
10645 // JUnitTestCase.assertNull(result);
10646 // // Invalid: leading slash... or should we gracefully degrade and ignore t he leading slash?
10647 // result = resolver.resolveAbsolute(parseUriWithException("package:/foo"));
10648 // JUnitTestCase.assertNull(result);
10649 // }
10650 // void test_resolve_nonPackage() {
10651 // JavaFile directory = FileUtilities2.createFile("/does/not/exist/foo_proje ct");
10652 // UriResolver resolver = new ExplicitPackageUriResolverTest_MockExplicitPac kageUriResolver.con1(directory);
10653 // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core "));
10654 // JUnitTestCase.assertNull(result);
10655 // }
10656 // void test_resolve_resolvePathToPackage() {
10657 // JavaFile directory = FileUtilities2.createFile("/src/foo/bar/baz/lib");
10658 // String packages = "{\"packages\":{\"unittest\": [\"/dart/unittest/lib\"], \"foo.bar.baz\": [\"/src/foo/bar/baz/lib\",\"/gen/foo/bar/baz\"]}}";
10659 // ExplicitPackageUriResolver resolver = new ExplicitPackageUriResolverTest_ MockExplicitPackageUriResolver.con2(directory, packages);
10660 // String resolvedPath = resolver.resolvePathToPackage("${JavaFile.separator }baz${JavaFile.separator}lib");
10661 // JUnitTestCase.assertNotNull(resolvedPath);
10662 // JUnitTestCase.assertEquals("foo.bar.baz", resolvedPath);
10663 // resolvedPath = resolver.resolvePathToPackage("${JavaFile.separator}dart${ JavaFile.separator}mypackage");
10664 // JUnitTestCase.assertNull(resolvedPath);
10665 // }
10666 // @override
10667 // void tearDown() {
10668 // FileUtilities2.deleteTempDir();
10669 // }
10670 // static dartSuite() {
10671 // _ut.group('ExplicitPackageUriResolverTest', () {
10672 // _ut.test('test_creation', () {
10673 // final __test = new ExplicitPackageUriResolverTest();
10674 // runJUnitTest(__test, __test.test_creation);
10675 // });
10676 // _ut.test('test_resolve_invalid', () {
10677 // final __test = new ExplicitPackageUriResolverTest();
10678 // runJUnitTest(__test, __test.test_resolve_invalid);
10679 // });
10680 // _ut.test('test_resolve_nonPackage', () {
10681 // final __test = new ExplicitPackageUriResolverTest();
10682 // runJUnitTest(__test, __test.test_resolve_nonPackage);
10683 // });
10684 // _ut.test('test_resolve_resolvePathToPackage', () {
10685 // final __test = new ExplicitPackageUriResolverTest();
10686 // runJUnitTest(__test, __test.test_resolve_resolvePathToPackage);
10687 // });
10688 // });
10689 // }
10690 // }
10691 // class ExplicitPackageUriResolverTest_MockExplicitPackageUriResolver extends E xplicitPackageUriResolver {
10692 // String _jsonText = "{\"foo\":\"bar\"}";
10693 // ExplicitPackageUriResolverTest_MockExplicitPackageUriResolver.con1(JavaFile rootDir) : super(null, rootDir);
10694 // ExplicitPackageUriResolverTest_MockExplicitPackageUriResolver.con2(JavaFile rootDir, String jsonPackageList) : super(null, rootDir) {
10695 // if (!jsonPackageList.isEmpty) {
10696 // _jsonText = jsonPackageList;
10697 // packageMap = calculatePackageMap();
10698 // }
10699 // }
10700 // @override
10701 // Map<String, List<JavaFile>> calculatePackageMap() {
10702 // try {
10703 // return parsePackageMap(_jsonText);
10704 // } on JSONException catch (e) {
10705 // return new HashMap<String, List<JavaFile>>();
10706 // }
10707 // }
10708 // }
10709 // class ExpressionVisitor_AngularTest_verify extends ExpressionVisitor {
10710 // ResolutionVerifier verifier;
10711 // ExpressionVisitor_AngularTest_verify(this.verifier) : super();
10712 // @override
10713 // void visitExpression(Expression expression) {
10714 // expression.accept(verifier);
10715 // }
10716 // }
10717 // class FileBasedSourceTest extends JUnitTestCase {
10718 // void test_equals_false_differentFiles() {
10719 // JavaFile file1 = FileUtilities2.createFile("/does/not/exist1.dart");
10720 // JavaFile file2 = FileUtilities2.createFile("/does/not/exist2.dart");
10721 // FileBasedSource source1 = new FileBasedSource.con1(file1);
10722 // FileBasedSource source2 = new FileBasedSource.con1(file2);
10723 // JUnitTestCase.assertFalse(source1 == source2);
10724 // }
10725 // void test_equals_false_null() {
10726 // JavaFile file = FileUtilities2.createFile("/does/not/exist1.dart");
10727 // FileBasedSource source1 = new FileBasedSource.con1(file);
10728 // JUnitTestCase.assertFalse(source1 == null);
10729 // }
10730 // void test_equals_true() {
10731 // JavaFile file1 = FileUtilities2.createFile("/does/not/exist.dart");
10732 // JavaFile file2 = FileUtilities2.createFile("/does/not/exist.dart");
10733 // FileBasedSource source1 = new FileBasedSource.con1(file1);
10734 // FileBasedSource source2 = new FileBasedSource.con1(file2);
10735 // JUnitTestCase.assertTrue(source1 == source2);
10736 // }
10737 // void test_getEncoding() {
10738 // SourceFactory factory = new SourceFactory([new FileUriResolver()]);
10739 // String fullPath = "/does/not/exist.dart";
10740 // JavaFile file = FileUtilities2.createFile(fullPath);
10741 // FileBasedSource source = new FileBasedSource.con1(file);
10742 // JUnitTestCase.assertEquals(source, factory.fromEncoding(source.encoding)) ;
10743 // }
10744 // void test_getFullName() {
10745 // String fullPath = "/does/not/exist.dart";
10746 // JavaFile file = FileUtilities2.createFile(fullPath);
10747 // FileBasedSource source = new FileBasedSource.con1(file);
10748 // JUnitTestCase.assertEquals(file.getAbsolutePath(), source.fullName);
10749 // }
10750 // void test_getShortName() {
10751 // JavaFile file = FileUtilities2.createFile("/does/not/exist.dart");
10752 // FileBasedSource source = new FileBasedSource.con1(file);
10753 // JUnitTestCase.assertEquals("exist.dart", source.shortName);
10754 // }
10755 // void test_hashCode() {
10756 // JavaFile file1 = FileUtilities2.createFile("/does/not/exist.dart");
10757 // JavaFile file2 = FileUtilities2.createFile("/does/not/exist.dart");
10758 // FileBasedSource source1 = new FileBasedSource.con1(file1);
10759 // FileBasedSource source2 = new FileBasedSource.con1(file2);
10760 // JUnitTestCase.assertEquals(source1.hashCode, source2.hashCode);
10761 // }
10762 // void test_isInSystemLibrary_contagious() {
10763 // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory;
10764 // JUnitTestCase.assertNotNull(sdkDirectory);
10765 // DartSdk sdk = new DirectoryBasedDartSdk(sdkDirectory);
10766 // UriResolver resolver = new DartUriResolver(sdk);
10767 // SourceFactory factory = new SourceFactory([resolver]);
10768 // // resolve dart:core
10769 // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core "));
10770 // JUnitTestCase.assertNotNull(result);
10771 // JUnitTestCase.assertTrue(result.isInSystemLibrary);
10772 // // system libraries reference only other system libraries
10773 // Source partSource = factory.resolveUri(result, "num.dart");
10774 // JUnitTestCase.assertNotNull(partSource);
10775 // JUnitTestCase.assertTrue(partSource.isInSystemLibrary);
10776 // }
10777 // void test_isInSystemLibrary_false() {
10778 // JavaFile file = FileUtilities2.createFile("/does/not/exist.dart");
10779 // FileBasedSource source = new FileBasedSource.con1(file);
10780 // JUnitTestCase.assertNotNull(source);
10781 // JUnitTestCase.assertEquals(file.getAbsolutePath(), source.fullName);
10782 // JUnitTestCase.assertFalse(source.isInSystemLibrary);
10783 // }
10784 // void test_issue14500() {
10785 // // see https://code.google.com/p/dart/issues/detail?id=14500
10786 // FileBasedSource source = new FileBasedSource.con1(FileUtilities2.createFi le("/some/packages/foo:bar.dart"));
10787 // JUnitTestCase.assertNotNull(source);
10788 // JUnitTestCase.assertFalse(source.exists());
10789 // }
10790 // void test_resolveRelative_dart_fileName() {
10791 // JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
10792 // FileBasedSource source = new FileBasedSource.con2(parseUriWithException(" dart:test"), file);
10793 // JUnitTestCase.assertNotNull(source);
10794 // Uri relative = source.resolveRelativeUri(parseUriWithException("lib.dart" ));
10795 // JUnitTestCase.assertNotNull(relative);
10796 // JUnitTestCase.assertEquals("dart:test/lib.dart", relative.toString());
10797 // }
10798 // void test_resolveRelative_dart_filePath() {
10799 // JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
10800 // FileBasedSource source = new FileBasedSource.con2(parseUriWithException(" dart:test"), file);
10801 // JUnitTestCase.assertNotNull(source);
10802 // Uri relative = source.resolveRelativeUri(parseUriWithException("c/lib.dar t"));
10803 // JUnitTestCase.assertNotNull(relative);
10804 // JUnitTestCase.assertEquals("dart:test/c/lib.dart", relative.toString());
10805 // }
10806 // void test_resolveRelative_dart_filePathWithParent() {
10807 // JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
10808 // FileBasedSource source = new FileBasedSource.con2(parseUriWithException(" dart:test/b/test.dart"), file);
10809 // JUnitTestCase.assertNotNull(source);
10810 // Uri relative = source.resolveRelativeUri(parseUriWithException("../c/lib. dart"));
10811 // JUnitTestCase.assertNotNull(relative);
10812 // JUnitTestCase.assertEquals("dart:test/c/lib.dart", relative.toString());
10813 // }
10814 // void test_resolveRelative_file_fileName() {
10815 // if (OSUtilities.isWindows()) {
10816 // // On Windows, the URI that is produced includes a drive letter, which I believe is not
10817 // // consistent across all machines that might run this test.
10818 // return;
10819 // }
10820 // JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
10821 // FileBasedSource source = new FileBasedSource.con1(file);
10822 // JUnitTestCase.assertNotNull(source);
10823 // Uri relative = source.resolveRelativeUri(parseUriWithException("lib.dart" ));
10824 // JUnitTestCase.assertNotNull(relative);
10825 // JUnitTestCase.assertEquals("file:/a/b/lib.dart", relative.toString());
10826 // }
10827 // void test_resolveRelative_file_filePath() {
10828 // if (OSUtilities.isWindows()) {
10829 // // On Windows, the URI that is produced includes a drive letter, which I believe is not
10830 // // consistent across all machines that might run this test.
10831 // return;
10832 // }
10833 // JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
10834 // FileBasedSource source = new FileBasedSource.con1(file);
10835 // JUnitTestCase.assertNotNull(source);
10836 // Uri relative = source.resolveRelativeUri(parseUriWithException("c/lib.dar t"));
10837 // JUnitTestCase.assertNotNull(relative);
10838 // JUnitTestCase.assertEquals("file:/a/b/c/lib.dart", relative.toString());
10839 // }
10840 // void test_resolveRelative_file_filePathWithParent() {
10841 // if (OSUtilities.isWindows()) {
10842 // // On Windows, the URI that is produced includes a drive letter, which I believe is not
10843 // // consistent across all machines that might run this test.
10844 // return;
10845 // }
10846 // JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
10847 // FileBasedSource source = new FileBasedSource.con1(file);
10848 // JUnitTestCase.assertNotNull(source);
10849 // Uri relative = source.resolveRelativeUri(parseUriWithException("../c/lib. dart"));
10850 // JUnitTestCase.assertNotNull(relative);
10851 // JUnitTestCase.assertEquals("file:/a/c/lib.dart", relative.toString());
10852 // }
10853 // void test_resolveRelative_package_fileName() {
10854 // JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
10855 // FileBasedSource source = new FileBasedSource.con2(parseUriWithException(" package:b/test.dart"), file);
10856 // JUnitTestCase.assertNotNull(source);
10857 // Uri relative = source.resolveRelativeUri(parseUriWithException("lib.dart" ));
10858 // JUnitTestCase.assertNotNull(relative);
10859 // JUnitTestCase.assertEquals("package:b/lib.dart", relative.toString());
10860 // }
10861 // void test_resolveRelative_package_fileNameWithoutPackageName() {
10862 // JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
10863 // FileBasedSource source = new FileBasedSource.con2(parseUriWithException(" package:test.dart"), file);
10864 // JUnitTestCase.assertNotNull(source);
10865 // Uri relative = source.resolveRelativeUri(parseUriWithException("lib.dart" ));
10866 // JUnitTestCase.assertNotNull(relative);
10867 // JUnitTestCase.assertEquals("package:lib.dart", relative.toString());
10868 // }
10869 // void test_resolveRelative_package_filePath() {
10870 // JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
10871 // FileBasedSource source = new FileBasedSource.con2(parseUriWithException(" package:b/test.dart"), file);
10872 // JUnitTestCase.assertNotNull(source);
10873 // Uri relative = source.resolveRelativeUri(parseUriWithException("c/lib.dar t"));
10874 // JUnitTestCase.assertNotNull(relative);
10875 // JUnitTestCase.assertEquals("package:b/c/lib.dart", relative.toString());
10876 // }
10877 // void test_resolveRelative_package_filePathWithParent() {
10878 // JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
10879 // FileBasedSource source = new FileBasedSource.con2(parseUriWithException(" package:a/b/test.dart"), file);
10880 // JUnitTestCase.assertNotNull(source);
10881 // Uri relative = source.resolveRelativeUri(parseUriWithException("../c/lib. dart"));
10882 // JUnitTestCase.assertNotNull(relative);
10883 // JUnitTestCase.assertEquals("package:a/c/lib.dart", relative.toString());
10884 // }
10885 // void test_system() {
10886 // JavaFile file = FileUtilities2.createFile("/does/not/exist.dart");
10887 // FileBasedSource source = new FileBasedSource.con2(parseUriWithException(" dart:core"), file);
10888 // JUnitTestCase.assertNotNull(source);
10889 // JUnitTestCase.assertEquals(file.getAbsolutePath(), source.fullName);
10890 // JUnitTestCase.assertTrue(source.isInSystemLibrary);
10891 // }
10892 // static dartSuite() {
10893 // _ut.group('FileBasedSourceTest', () {
10894 // _ut.test('test_equals_false_differentFiles', () {
10895 // final __test = new FileBasedSourceTest();
10896 // runJUnitTest(__test, __test.test_equals_false_differentFiles);
10897 // });
10898 // _ut.test('test_equals_false_null', () {
10899 // final __test = new FileBasedSourceTest();
10900 // runJUnitTest(__test, __test.test_equals_false_null);
10901 // });
10902 // _ut.test('test_equals_true', () {
10903 // final __test = new FileBasedSourceTest();
10904 // runJUnitTest(__test, __test.test_equals_true);
10905 // });
10906 // _ut.test('test_getEncoding', () {
10907 // final __test = new FileBasedSourceTest();
10908 // runJUnitTest(__test, __test.test_getEncoding);
10909 // });
10910 // _ut.test('test_getFullName', () {
10911 // final __test = new FileBasedSourceTest();
10912 // runJUnitTest(__test, __test.test_getFullName);
10913 // });
10914 // _ut.test('test_getShortName', () {
10915 // final __test = new FileBasedSourceTest();
10916 // runJUnitTest(__test, __test.test_getShortName);
10917 // });
10918 // _ut.test('test_hashCode', () {
10919 // final __test = new FileBasedSourceTest();
10920 // runJUnitTest(__test, __test.test_hashCode);
10921 // });
10922 // _ut.test('test_isInSystemLibrary_contagious', () {
10923 // final __test = new FileBasedSourceTest();
10924 // runJUnitTest(__test, __test.test_isInSystemLibrary_contagious);
10925 // });
10926 // _ut.test('test_isInSystemLibrary_false', () {
10927 // final __test = new FileBasedSourceTest();
10928 // runJUnitTest(__test, __test.test_isInSystemLibrary_false);
10929 // });
10930 // _ut.test('test_issue14500', () {
10931 // final __test = new FileBasedSourceTest();
10932 // runJUnitTest(__test, __test.test_issue14500);
10933 // });
10934 // _ut.test('test_resolveRelative_dart_fileName', () {
10935 // final __test = new FileBasedSourceTest();
10936 // runJUnitTest(__test, __test.test_resolveRelative_dart_fileName);
10937 // });
10938 // _ut.test('test_resolveRelative_dart_filePath', () {
10939 // final __test = new FileBasedSourceTest();
10940 // runJUnitTest(__test, __test.test_resolveRelative_dart_filePath);
10941 // });
10942 // _ut.test('test_resolveRelative_dart_filePathWithParent', () {
10943 // final __test = new FileBasedSourceTest();
10944 // runJUnitTest(__test, __test.test_resolveRelative_dart_filePathWithPar ent);
10945 // });
10946 // _ut.test('test_resolveRelative_file_fileName', () {
10947 // final __test = new FileBasedSourceTest();
10948 // runJUnitTest(__test, __test.test_resolveRelative_file_fileName);
10949 // });
10950 // _ut.test('test_resolveRelative_file_filePath', () {
10951 // final __test = new FileBasedSourceTest();
10952 // runJUnitTest(__test, __test.test_resolveRelative_file_filePath);
10953 // });
10954 // _ut.test('test_resolveRelative_file_filePathWithParent', () {
10955 // final __test = new FileBasedSourceTest();
10956 // runJUnitTest(__test, __test.test_resolveRelative_file_filePathWithPar ent);
10957 // });
10958 // _ut.test('test_resolveRelative_package_fileName', () {
10959 // final __test = new FileBasedSourceTest();
10960 // runJUnitTest(__test, __test.test_resolveRelative_package_fileName);
10961 // });
10962 // _ut.test('test_resolveRelative_package_fileNameWithoutPackageName', () {
10963 // final __test = new FileBasedSourceTest();
10964 // runJUnitTest(__test, __test.test_resolveRelative_package_fileNameWith outPackageName);
10965 // });
10966 // _ut.test('test_resolveRelative_package_filePath', () {
10967 // final __test = new FileBasedSourceTest();
10968 // runJUnitTest(__test, __test.test_resolveRelative_package_filePath);
10969 // });
10970 // _ut.test('test_resolveRelative_package_filePathWithParent', () {
10971 // final __test = new FileBasedSourceTest();
10972 // runJUnitTest(__test, __test.test_resolveRelative_package_filePathWith Parent);
10973 // });
10974 // _ut.test('test_system', () {
10975 // final __test = new FileBasedSourceTest();
10976 // runJUnitTest(__test, __test.test_system);
10977 // });
10978 // });
10979 // }
10980 // }
10981 // class FileUriResolverTest extends JUnitTestCase {
10982 // void test_creation() {
10983 // JUnitTestCase.assertNotNull(new FileUriResolver());
10984 // }
10985 // void test_resolve_file() {
10986 // UriResolver resolver = new FileUriResolver();
10987 // Source result = resolver.resolveAbsolute(parseUriWithException("file:/doe s/not/exist.dart"));
10988 // JUnitTestCase.assertNotNull(result);
10989 // JUnitTestCase.assertEquals(FileUtilities2.createFile("/does/not/exist.dar t").getAbsolutePath(), result.fullName);
10990 // }
10991 // void test_resolve_nonFile() {
10992 // UriResolver resolver = new FileUriResolver();
10993 // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core "));
10994 // JUnitTestCase.assertNull(result);
10995 // }
10996 // static dartSuite() {
10997 // _ut.group('FileUriResolverTest', () {
10998 // _ut.test('test_creation', () {
10999 // final __test = new FileUriResolverTest();
11000 // runJUnitTest(__test, __test.test_creation);
11001 // });
11002 // _ut.test('test_resolve_file', () {
11003 // final __test = new FileUriResolverTest();
11004 // runJUnitTest(__test, __test.test_resolve_file);
11005 // });
11006 // _ut.test('test_resolve_nonFile', () {
11007 // final __test = new FileUriResolverTest();
11008 // runJUnitTest(__test, __test.test_resolve_nonFile);
11009 // });
11010 // });
11011 // }
11012 // }
11013 // /**
11014 // * The class `FileUtilities2` implements utility methods used to create and m anipulate files.
11015 // */
11016 // class FileUtilities2 {
11017 // /**
11018 // * A temporary directory used during testing and cleared via [deleteTempDir ].
11019 // */
11020 // static JavaFile _TEMP_DIR = new JavaFile(JavaSystemIO.getProperty("java.io. tmpdir"), "AnalysisEngineTestTmp");
11021 // /**
11022 // * Create a file with the given path after replacing any forward slashes (' /') in the path with
11023 // * the current file separator.
11024 // *
11025 // * @param path the path of the file to be created
11026 // * @return the file representing the path
11027 // */
11028 // static JavaFile createFile(String path) => new JavaFile(_convertPath(path)) .getAbsoluteFile();
11029 // /**
11030 // * Create a new symlink or throw an exception if creation of symlinks is no t supported. Use
11031 // * [isSymLinkSupported] to determine if this method will work on the curren t platform.
11032 // *
11033 // * @param existingFile the existing file to which the new symlink should po int (not `null`,
11034 // * and must exist)
11035 // * @param linkFile the symlink to be created (not `null`, but must not exis t)
11036 // */
11037 // static void createSymLink(JavaFile existingFile, JavaFile linkFile) {
11038 // JUnitTestCase.assertTrueMsg("Creation of symlinks is not supported", isSy mLinkSupported);
11039 // JUnitTestCase.assertTrueMsg("Target file does not exist", existingFile.ex ists());
11040 // JUnitTestCase.assertFalseMsg("Link already exists", linkFile.exists());
11041 // ProcessRunner runner = new ProcessRunner(<String> ["ln", "-s", existingFi le.getPath(), linkFile.getPath()]);
11042 // int exitCode = runner.runSync(10000);
11043 // if (exitCode != 0) {
11044 // JUnitTestCase.fail("Symlink creation failed [${exitCode}] ${linkFile}") ;
11045 // }
11046 // }
11047 // /**
11048 // * Create a temporary directory. Call [deleteTempDir] in the [TestCase] tea rDown
11049 // * method to delete all temporary files and directories.
11050 // *
11051 // * @param name the name of the temporary directory (not `null`, not empty)
11052 // * @return the directory created (not `null`)
11053 // */
11054 // static JavaFile createTempDir(String name) {
11055 // JavaFile dir = new JavaFile.relative(_TEMP_DIR, name);
11056 // if (dir.mkdirs()) {
11057 // return dir;
11058 // }
11059 // throw new JavaIOException("Failed to create directory ${dir}");
11060 // }
11061 // /**
11062 // * Create a temporary file. Call [deleteTempDir] in the [TestCase] tearDown method
11063 // * to delete all temporary files and directories.
11064 // *
11065 // * @param name the name of the temporary file (not `null`, not empty)
11066 // * @return the file (not `null`)
11067 // */
11068 // static JavaFile createTempFile(String name, String content) {
11069 // JavaFile file = new JavaFile.relative(_TEMP_DIR, name);
11070 // if (file.createNewFile()) {
11071 // return file;
11072 // }
11073 // throw new JavaIOException("Failed to create file ${file}");
11074 // }
11075 // /**
11076 // * Delete the contents of the given directory, given that we know it is a d irectory.
11077 // *
11078 // * @param dir the directory whose contents are to be deleted
11079 // */
11080 // static void deleteDirectory(JavaFile dir) {
11081 // for (JavaFile file in dir.listFiles()) {
11082 // if (file.isDirectory()) {
11083 // deleteDirectory(file);
11084 // } else {
11085 // if (!file.delete()) {
11086 // throw new JavaIOException("Failed to delete ${file}");
11087 // }
11088 // }
11089 // }
11090 // if (!dir.delete()) {
11091 // throw new JavaIOException("Failed to delete ${dir}");
11092 // }
11093 // }
11094 // /**
11095 // * Delete symlink or throw an exception if creation of symlinks is not supp orted. Use
11096 // * [isSymLinkSupported] to determine if this method will work on the curren t platform.
11097 // *
11098 // * @param linkFile the symlink to be deleted (not `null`, and must exist)
11099 // */
11100 // static void deleteSymLink(JavaFile linkFile) {
11101 // JUnitTestCase.assertTrueMsg("Creation of symlinks is not supported", isSy mLinkSupported);
11102 // JUnitTestCase.assertTrueMsg("Link does not exist", linkFile.exists());
11103 // ProcessRunner runner = new ProcessRunner(<String> ["rm", linkFile.getPath ()]);
11104 // int exitCode = runner.runSync(10000);
11105 // if (exitCode != 0) {
11106 // JUnitTestCase.fail("Symlink deletion failed [${exitCode}] ${linkFile}") ;
11107 // }
11108 // }
11109 // /**
11110 // * Delete the temporary directory. This should called from the [TestCase] t earDown method of
11111 // * any test case which calls [createTempDir] or [createTempFile].
11112 // */
11113 // static void deleteTempDir() {
11114 // if (_TEMP_DIR.exists()) {
11115 // deleteDirectory(_TEMP_DIR);
11116 // }
11117 // }
11118 // /**
11119 // * Determine if creation of symlinks via [createSymLink] is supported.
11120 // *
11121 // * @return `true` if symlinks can be created, else false
11122 // */
11123 // static bool get isSymLinkSupported => !OSUtilities.isWindows();
11124 // /**
11125 // * Convert all forward slashes in the given path to the current file separa tor.
11126 // *
11127 // * @param path the path to be converted
11128 // * @return the converted path
11129 // */
11130 // static String _convertPath(String path) {
11131 // if (JavaFile.separator == "/") {
11132 // // We're on a unix-ish OS.
11133 // return path;
11134 // } else {
11135 // // On windows, the path separator is '\'.
11136 // return path.replaceAll("/", "\\\\");
11137 // }
11138 // }
11139 // }
11140 // class GeneralizingElementVisitor_AngularTest_findElement extends Generalizing ElementVisitor<Object> {
11141 // ElementKind kind;
11142 // String name;
11143 // List<Element> result;
11144 // GeneralizingElementVisitor_AngularTest_findElement(this.kind, this.name, th is.result) : super();
11145 // @override
11146 // Object visitElement(Element element) {
11147 // if ((kind == null || element.kind == kind) && name == element.name) {
11148 // result[0] = element;
11149 // }
11150 // return super.visitElement(element);
11151 // }
11152 // }
11153 // /**
11154 // * Utility methods to create HTML nodes.
11155 // */
11156 // class HtmlFactory {
11157 // static XmlAttributeNode attribute(String name, String value) {
11158 // Token nameToken = _stringToken(name);
11159 // Token equalsToken = new Token.con1(TokenType.EQ, 0);
11160 // Token valueToken = _stringToken(value);
11161 // return new XmlAttributeNode(nameToken, equalsToken, valueToken);
11162 // }
11163 // static List list(List<Object> elements) {
11164 // List elementList = new List();
11165 // for (Object element in elements) {
11166 // elementList.add(element);
11167 // }
11168 // return elementList;
11169 // }
11170 // static HtmlScriptTagNode scriptTag(List<XmlAttributeNode> attributes) => ne w HtmlScriptTagNode(_ltToken(), _stringToken("script"), list(attributes), _sgtTo ken(), null, null, null, null);
11171 // static HtmlScriptTagNode scriptTagWithContent(String contents, List<XmlAttr ibuteNode> attributes) {
11172 // Token attributeEnd = _gtToken();
11173 // Token contentToken = _stringToken(contents);
11174 // attributeEnd.setNext(contentToken);
11175 // Token contentEnd = _ltsToken();
11176 // contentToken.setNext(contentEnd);
11177 // return new HtmlScriptTagNode(_ltToken(), _stringToken("script"), list(att ributes), attributeEnd, null, contentEnd, _stringToken("script"), _gtToken());
11178 // }
11179 // static XmlTagNode tagNode(String name, List<XmlAttributeNode> attributes) = > new XmlTagNode(_ltToken(), _stringToken(name), [], _sgtToken(), null, null, nu ll, null);
11180 // static Token _gtToken() => new Token.con1(TokenType.GT, 0);
11181 // static Token _ltsToken() => new Token.con1(TokenType.LT_SLASH, 0);
11182 // static Token _ltToken() => new Token.con1(TokenType.LT, 0);
11183 // static Token _sgtToken() => new Token.con1(TokenType.SLASH_GT, 0);
11184 // static Token _stringToken(String value) => new Token.con2(TokenType.STRING, 0, value);
11185 // }
11186 // class HtmlParserTest extends EngineTestCase {
11187 // /**
11188 // * The name of the 'script' tag in an HTML file.
11189 // */
11190 // static String _TAG_SCRIPT = "script";
11191 // void fail_parse_scriptWithComment() {
11192 // String scriptBody = EngineTestCase.createSource([
11193 // " /**",
11194 // " * <editable-label bind-value=\"dartAsignableValue\">",
11195 // " * </editable-label>",
11196 // " */",
11197 // " class Foo {}"]);
11198 // HtmlUnit htmlUnit = parse(EngineTestCase.createSource([
11199 // " <html>",
11200 // " <body>",
11201 // " <script type=\"application/dart\">",
11202 // scriptBody,
11203 // " </script>",
11204 // " </body>",
11205 // " </html>"]));
11206 // _validate(htmlUnit, [_t4("html", [_t4("body", [_t("script", _a(["type", " \"application/dart\""]), scriptBody, [])])])]);
11207 // }
11208 // void test_parse_attribute() {
11209 // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"></body></html>");
11210 // _validate(htmlUnit, [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), " ", [])])]);
11211 // XmlTagNode htmlNode = htmlUnit.tagNodes[0];
11212 // XmlTagNode bodyNode = htmlNode.tagNodes[0];
11213 // JUnitTestCase.assertEquals("sdfsdf", bodyNode.attributes[0].text);
11214 // }
11215 // void test_parse_attribute_EOF() {
11216 // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"");
11217 // _validate(htmlUnit, [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), " ", [])])]);
11218 // }
11219 // void test_parse_attribute_EOF_missing_quote() {
11220 // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsd");
11221 // _validate(htmlUnit, [_t4("html", [_t("body", _a(["foo", "\"sdfsd"]), "", [])])]);
11222 // XmlTagNode htmlNode = htmlUnit.tagNodes[0];
11223 // XmlTagNode bodyNode = htmlNode.tagNodes[0];
11224 // JUnitTestCase.assertEquals("sdfsd", bodyNode.attributes[0].text);
11225 // }
11226 // void test_parse_attribute_extra_quote() {
11227 // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"\"></body></html>");
11228 // _validate(htmlUnit, [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), " ", [])])]);
11229 // }
11230 // void test_parse_attribute_single_quote() {
11231 // HtmlUnit htmlUnit = parse("<html><body foo='sdfsdf'></body></html>");
11232 // _validate(htmlUnit, [_t4("html", [_t("body", _a(["foo", "'sdfsdf'"]), "", [])])]);
11233 // XmlTagNode htmlNode = htmlUnit.tagNodes[0];
11234 // XmlTagNode bodyNode = htmlNode.tagNodes[0];
11235 // JUnitTestCase.assertEquals("sdfsdf", bodyNode.attributes[0].text);
11236 // }
11237 // void test_parse_comment_embedded() {
11238 // HtmlUnit htmlUnit = parse("<html <!-- comment -->></html>");
11239 // _validate(htmlUnit, [_t3("html", "", [])]);
11240 // }
11241 // void test_parse_comment_first() {
11242 // HtmlUnit htmlUnit = parse("<!-- comment --><html></html>");
11243 // _validate(htmlUnit, [_t3("html", "", [])]);
11244 // }
11245 // void test_parse_comment_in_content() {
11246 // HtmlUnit htmlUnit = parse("<html><!-- comment --></html>");
11247 // _validate(htmlUnit, [_t3("html", "<!-- comment -->", [])]);
11248 // }
11249 // void test_parse_content() {
11250 // HtmlUnit htmlUnit = parse("<html>\n<p a=\"b\">blat \n </p>\n</html>");
11251 // // XmlTagNode.getContent() does not include whitespace between '<' and '> ' at this time
11252 // _validate(htmlUnit, [_t3("html", "\n<pa=\"b\">blat \n </p>\n", [_t("p", _ a(["a", "\"b\""]), "blat \n ", [])])]);
11253 // }
11254 // void test_parse_content_none() {
11255 // HtmlUnit htmlUnit = parse("<html><p/>blat<p/></html>");
11256 // _validate(htmlUnit, [_t3("html", "<p/>blat<p/>", [_t3("p", "", []), _t3(" p", "", [])])]);
11257 // }
11258 // void test_parse_declaration() {
11259 // HtmlUnit htmlUnit = parse("<!DOCTYPE html>\n\n<html><p></p></html>");
11260 // _validate(htmlUnit, [_t4("html", [_t3("p", "", [])])]);
11261 // }
11262 // void test_parse_directive() {
11263 // HtmlUnit htmlUnit = parse("<?xml ?>\n\n<html><p></p></html>");
11264 // _validate(htmlUnit, [_t4("html", [_t3("p", "", [])])]);
11265 // }
11266 // void test_parse_getAttribute() {
11267 // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"></body></html>");
11268 // XmlTagNode htmlNode = htmlUnit.tagNodes[0];
11269 // XmlTagNode bodyNode = htmlNode.tagNodes[0];
11270 // JUnitTestCase.assertEquals("sdfsdf", bodyNode.getAttribute("foo").text);
11271 // JUnitTestCase.assertEquals(null, bodyNode.getAttribute("bar"));
11272 // JUnitTestCase.assertEquals(null, bodyNode.getAttribute(null));
11273 // }
11274 // void test_parse_getAttributeText() {
11275 // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"></body></html>");
11276 // XmlTagNode htmlNode = htmlUnit.tagNodes[0];
11277 // XmlTagNode bodyNode = htmlNode.tagNodes[0];
11278 // JUnitTestCase.assertEquals("sdfsdf", bodyNode.getAttributeText("foo"));
11279 // JUnitTestCase.assertEquals(null, bodyNode.getAttributeText("bar"));
11280 // JUnitTestCase.assertEquals(null, bodyNode.getAttributeText(null));
11281 // }
11282 // void test_parse_headers() {
11283 // String code = EngineTestCase.createSource([
11284 // "<html>",
11285 // " <body>",
11286 // " <h2>000</h2>",
11287 // " <div>",
11288 // " 111",
11289 // " </div>",
11290 // " </body>",
11291 // "</html>"]);
11292 // HtmlUnit htmlUnit = parse(code);
11293 // _validate(htmlUnit, [_t4("html", [_t4("body", [_t3("h2", "000", []), _t4( "div", [])])])]);
11294 // }
11295 // void test_parse_script() {
11296 // HtmlUnit htmlUnit = parse("<html><script >here is <p> some</script></html >");
11297 // _validate(htmlUnit, [_t4("html", [_t3("script", "here is <p> some", [])]) ]);
11298 // }
11299 // void test_parse_self_closing() {
11300 // HtmlUnit htmlUnit = parse("<html>foo<br>bar</html>");
11301 // _validate(htmlUnit, [_t3("html", "foo<br>bar", [_t3("br", "", [])])]);
11302 // }
11303 // void test_parse_self_closing_declaration() {
11304 // HtmlUnit htmlUnit = parse("<!DOCTYPE html><html>foo</html>");
11305 // _validate(htmlUnit, [_t3("html", "foo", [])]);
11306 // }
11307 // HtmlUnit parse(String contents) {
11308 // TestSource source = new TestSource.con1(FileUtilities2.createFile("/test. dart"), contents);
11309 // AbstractScanner scanner = new StringScanner(source, contents);
11310 // scanner.passThroughElements = <String> [_TAG_SCRIPT];
11311 // Token token = scanner.tokenize();
11312 // LineInfo lineInfo = new LineInfo(scanner.lineStarts);
11313 // GatheringErrorListener errorListener = new GatheringErrorListener();
11314 // HtmlUnit unit = new HtmlParser(source, errorListener).parse(token, lineIn fo);
11315 // errorListener.assertNoErrors();
11316 // return unit;
11317 // }
11318 // XmlValidator_Attributes _a(List<String> keyValuePairs) => new XmlValidator_ Attributes(keyValuePairs);
11319 // XmlValidator_Tag _t(String tag, XmlValidator_Attributes attributes, String content, List<XmlValidator_Tag> children) => new XmlValidator_Tag(tag, attribute s, content, children);
11320 // XmlValidator_Tag _t2(String tag, XmlValidator_Attributes attributes, List<X mlValidator_Tag> children) => new XmlValidator_Tag(tag, attributes, null, childr en);
11321 // XmlValidator_Tag _t3(String tag, String content, List<XmlValidator_Tag> chi ldren) => new XmlValidator_Tag(tag, new XmlValidator_Attributes([]), content, ch ildren);
11322 // XmlValidator_Tag _t4(String tag, List<XmlValidator_Tag> children) => new Xm lValidator_Tag(tag, new XmlValidator_Attributes([]), null, children);
11323 // void _validate(HtmlUnit htmlUnit, List<XmlValidator_Tag> expectedTags) {
11324 // XmlValidator validator = new XmlValidator();
11325 // validator.expectTags(expectedTags);
11326 // htmlUnit.accept(validator);
11327 // validator.assertValid();
11328 // }
11329 // static dartSuite() {
11330 // _ut.group('HtmlParserTest', () {
11331 // _ut.test('test_parse_attribute', () {
11332 // final __test = new HtmlParserTest();
11333 // runJUnitTest(__test, __test.test_parse_attribute);
11334 // });
11335 // _ut.test('test_parse_attribute_EOF', () {
11336 // final __test = new HtmlParserTest();
11337 // runJUnitTest(__test, __test.test_parse_attribute_EOF);
11338 // });
11339 // _ut.test('test_parse_attribute_EOF_missing_quote', () {
11340 // final __test = new HtmlParserTest();
11341 // runJUnitTest(__test, __test.test_parse_attribute_EOF_missing_quote);
11342 // });
11343 // _ut.test('test_parse_attribute_extra_quote', () {
11344 // final __test = new HtmlParserTest();
11345 // runJUnitTest(__test, __test.test_parse_attribute_extra_quote);
11346 // });
11347 // _ut.test('test_parse_attribute_single_quote', () {
11348 // final __test = new HtmlParserTest();
11349 // runJUnitTest(__test, __test.test_parse_attribute_single_quote);
11350 // });
11351 // _ut.test('test_parse_comment_embedded', () {
11352 // final __test = new HtmlParserTest();
11353 // runJUnitTest(__test, __test.test_parse_comment_embedded);
11354 // });
11355 // _ut.test('test_parse_comment_first', () {
11356 // final __test = new HtmlParserTest();
11357 // runJUnitTest(__test, __test.test_parse_comment_first);
11358 // });
11359 // _ut.test('test_parse_comment_in_content', () {
11360 // final __test = new HtmlParserTest();
11361 // runJUnitTest(__test, __test.test_parse_comment_in_content);
11362 // });
11363 // _ut.test('test_parse_content', () {
11364 // final __test = new HtmlParserTest();
11365 // runJUnitTest(__test, __test.test_parse_content);
11366 // });
11367 // _ut.test('test_parse_content_none', () {
11368 // final __test = new HtmlParserTest();
11369 // runJUnitTest(__test, __test.test_parse_content_none);
11370 // });
11371 // _ut.test('test_parse_declaration', () {
11372 // final __test = new HtmlParserTest();
11373 // runJUnitTest(__test, __test.test_parse_declaration);
11374 // });
11375 // _ut.test('test_parse_directive', () {
11376 // final __test = new HtmlParserTest();
11377 // runJUnitTest(__test, __test.test_parse_directive);
11378 // });
11379 // _ut.test('test_parse_getAttribute', () {
11380 // final __test = new HtmlParserTest();
11381 // runJUnitTest(__test, __test.test_parse_getAttribute);
11382 // });
11383 // _ut.test('test_parse_getAttributeText', () {
11384 // final __test = new HtmlParserTest();
11385 // runJUnitTest(__test, __test.test_parse_getAttributeText);
11386 // });
11387 // _ut.test('test_parse_headers', () {
11388 // final __test = new HtmlParserTest();
11389 // runJUnitTest(__test, __test.test_parse_headers);
11390 // });
11391 // _ut.test('test_parse_script', () {
11392 // final __test = new HtmlParserTest();
11393 // runJUnitTest(__test, __test.test_parse_script);
11394 // });
11395 // _ut.test('test_parse_self_closing', () {
11396 // final __test = new HtmlParserTest();
11397 // runJUnitTest(__test, __test.test_parse_self_closing);
11398 // });
11399 // _ut.test('test_parse_self_closing_declaration', () {
11400 // final __test = new HtmlParserTest();
11401 // runJUnitTest(__test, __test.test_parse_self_closing_declaration);
11402 // });
11403 // });
11404 // }
11405 // }
11406 // class HtmlTagInfoBuilderTest extends HtmlParserTest {
11407 // void test_buider() {
11408 // HtmlTagInfoBuilder builder = new HtmlTagInfoBuilder();
11409 // HtmlUnit unit = parse(EngineTestCase.createSource([
11410 // "<html>",
11411 // " <body>",
11412 // " <div id=\"x\"></div>",
11413 // " <p class='c'></p>",
11414 // " <div class='c'></div>",
11415 // " </body>",
11416 // "</html>"]));
11417 // unit.accept(builder);
11418 // HtmlTagInfo info = builder.getTagInfo();
11419 // JUnitTestCase.assertNotNull(info);
11420 // List<String> allTags = info.getAllTags();
11421 // EngineTestCase.assertLength(4, allTags);
11422 // JUnitTestCase.assertEquals("div", info.getTagWithId("x"));
11423 // List<String> tagsWithClass = info.getTagsWithClass("c");
11424 // EngineTestCase.assertLength(2, tagsWithClass);
11425 // }
11426 // static dartSuite() {
11427 // _ut.group('HtmlTagInfoBuilderTest', () {
11428 // _ut.test('test_buider', () {
11429 // final __test = new HtmlTagInfoBuilderTest();
11430 // runJUnitTest(__test, __test.test_buider);
11431 // });
11432 // _ut.test('test_parse_attribute', () {
11433 // final __test = new HtmlTagInfoBuilderTest();
11434 // runJUnitTest(__test, __test.test_parse_attribute);
11435 // });
11436 // _ut.test('test_parse_attribute_EOF', () {
11437 // final __test = new HtmlTagInfoBuilderTest();
11438 // runJUnitTest(__test, __test.test_parse_attribute_EOF);
11439 // });
11440 // _ut.test('test_parse_attribute_EOF_missing_quote', () {
11441 // final __test = new HtmlTagInfoBuilderTest();
11442 // runJUnitTest(__test, __test.test_parse_attribute_EOF_missing_quote);
11443 // });
11444 // _ut.test('test_parse_attribute_extra_quote', () {
11445 // final __test = new HtmlTagInfoBuilderTest();
11446 // runJUnitTest(__test, __test.test_parse_attribute_extra_quote);
11447 // });
11448 // _ut.test('test_parse_attribute_single_quote', () {
11449 // final __test = new HtmlTagInfoBuilderTest();
11450 // runJUnitTest(__test, __test.test_parse_attribute_single_quote);
11451 // });
11452 // _ut.test('test_parse_comment_embedded', () {
11453 // final __test = new HtmlTagInfoBuilderTest();
11454 // runJUnitTest(__test, __test.test_parse_comment_embedded);
11455 // });
11456 // _ut.test('test_parse_comment_first', () {
11457 // final __test = new HtmlTagInfoBuilderTest();
11458 // runJUnitTest(__test, __test.test_parse_comment_first);
11459 // });
11460 // _ut.test('test_parse_comment_in_content', () {
11461 // final __test = new HtmlTagInfoBuilderTest();
11462 // runJUnitTest(__test, __test.test_parse_comment_in_content);
11463 // });
11464 // _ut.test('test_parse_content', () {
11465 // final __test = new HtmlTagInfoBuilderTest();
11466 // runJUnitTest(__test, __test.test_parse_content);
11467 // });
11468 // _ut.test('test_parse_content_none', () {
11469 // final __test = new HtmlTagInfoBuilderTest();
11470 // runJUnitTest(__test, __test.test_parse_content_none);
11471 // });
11472 // _ut.test('test_parse_declaration', () {
11473 // final __test = new HtmlTagInfoBuilderTest();
11474 // runJUnitTest(__test, __test.test_parse_declaration);
11475 // });
11476 // _ut.test('test_parse_directive', () {
11477 // final __test = new HtmlTagInfoBuilderTest();
11478 // runJUnitTest(__test, __test.test_parse_directive);
11479 // });
11480 // _ut.test('test_parse_getAttribute', () {
11481 // final __test = new HtmlTagInfoBuilderTest();
11482 // runJUnitTest(__test, __test.test_parse_getAttribute);
11483 // });
11484 // _ut.test('test_parse_getAttributeText', () {
11485 // final __test = new HtmlTagInfoBuilderTest();
11486 // runJUnitTest(__test, __test.test_parse_getAttributeText);
11487 // });
11488 // _ut.test('test_parse_headers', () {
11489 // final __test = new HtmlTagInfoBuilderTest();
11490 // runJUnitTest(__test, __test.test_parse_headers);
11491 // });
11492 // _ut.test('test_parse_script', () {
11493 // final __test = new HtmlTagInfoBuilderTest();
11494 // runJUnitTest(__test, __test.test_parse_script);
11495 // });
11496 // _ut.test('test_parse_self_closing', () {
11497 // final __test = new HtmlTagInfoBuilderTest();
11498 // runJUnitTest(__test, __test.test_parse_self_closing);
11499 // });
11500 // _ut.test('test_parse_self_closing_declaration', () {
11501 // final __test = new HtmlTagInfoBuilderTest();
11502 // runJUnitTest(__test, __test.test_parse_self_closing_declaration);
11503 // });
11504 // });
11505 // }
11506 // }
11507 // class HtmlUnitBuilderTest extends EngineTestCase {
11508 // AnalysisContextImpl _context;
11509 // void test_embedded_script() {
11510 // HtmlElementImpl element = _build(EngineTestCase.createSource([
11511 // "<html>",
11512 // "<script type=\"application/dart\">foo=2;</script>",
11513 // "</html>"]));
11514 // _validate(element, [_s(_l([_v("foo")]))]);
11515 // }
11516 // void test_embedded_script_no_content() {
11517 // HtmlElementImpl element = _build(EngineTestCase.createSource([
11518 // "<html>",
11519 // "<script type=\"application/dart\"></script>",
11520 // "</html>"]));
11521 // _validate(element, [_s(_l([]))]);
11522 // }
11523 // void test_external_script() {
11524 // HtmlElementImpl element = _build(EngineTestCase.createSource([
11525 // "<html>",
11526 // "<script type=\"application/dart\" src=\"other.dart\"/>",
11527 // "</html>"]));
11528 // _validate(element, [_s2("other.dart")]);
11529 // }
11530 // void test_external_script_no_source() {
11531 // HtmlElementImpl element = _build(EngineTestCase.createSource([
11532 // "<html>",
11533 // "<script type=\"application/dart\"/>",
11534 // "</html>"]));
11535 // _validate(element, [_s2(null as String)]);
11536 // }
11537 // void test_external_script_with_content() {
11538 // HtmlElementImpl element = _build(EngineTestCase.createSource([
11539 // "<html>",
11540 // "<script type=\"application/dart\" src=\"other.dart\">blat=2;</script >",
11541 // "</html>"]));
11542 // _validate(element, [_s2("other.dart")]);
11543 // }
11544 // void test_no_scripts() {
11545 // HtmlElementImpl element = _build(EngineTestCase.createSource(["<!DOCTYPE html>", "<html><p></p></html>"]));
11546 // _validate(element, []);
11547 // }
11548 // void test_two_dart_scripts() {
11549 // HtmlElementImpl element = _build(EngineTestCase.createSource([
11550 // "<html>",
11551 // "<script type=\"application/dart\">bar=2;</script>",
11552 // "<script type=\"application/dart\" src=\"other.dart\"/>",
11553 // "<script src=\"dart.js\"/>",
11554 // "</html>"]));
11555 // _validate(element, [_s(_l([_v("bar")])), _s2("other.dart")]);
11556 // }
11557 // @override
11558 // void setUp() {
11559 // _context = AnalysisContextFactory.contextWithCore();
11560 // }
11561 // HtmlUnitBuilderTest_ExpectedLibrary _l(List<HtmlUnitBuilderTest_ExpectedVar iable> expectedVariables) => new HtmlUnitBuilderTest_ExpectedLibrary(this, expec tedVariables);
11562 // HtmlElementImpl _build(String contents) {
11563 // TestSource source = new TestSource.con1(FileUtilities2.createFile("/test. html"), contents);
11564 // ChangeSet changeSet = new ChangeSet();
11565 // changeSet.addedSource(source);
11566 // _context.applyChanges(changeSet);
11567 // HtmlUnitBuilder builder = new HtmlUnitBuilder(_context);
11568 // return builder.buildHtmlElement(source, _context.getModificationStamp(sou rce), _context.parseHtmlUnit(source));
11569 // }
11570 // HtmlUnitBuilderTest_ExpectedScript _s(HtmlUnitBuilderTest_ExpectedLibrary e xpectedLibrary) => new HtmlUnitBuilderTest_ExpectedScript.con1(expectedLibrary);
11571 // HtmlUnitBuilderTest_ExpectedScript _s2(String scriptSourcePath) => new Html UnitBuilderTest_ExpectedScript.con2(scriptSourcePath);
11572 // HtmlUnitBuilderTest_ExpectedVariable _v(String varName) => new HtmlUnitBuil derTest_ExpectedVariable(varName);
11573 // void _validate(HtmlElementImpl element, List<HtmlUnitBuilderTest_ExpectedSc ript> expectedScripts) {
11574 // JUnitTestCase.assertSame(_context, element.context);
11575 // List<HtmlScriptElement> scripts = element.scripts;
11576 // JUnitTestCase.assertNotNull(scripts);
11577 // EngineTestCase.assertLength(expectedScripts.length, scripts);
11578 // for (int scriptIndex = 0; scriptIndex < scripts.length; scriptIndex++) {
11579 // expectedScripts[scriptIndex]._validate(scriptIndex, scripts[scriptIndex ]);
11580 // }
11581 // }
11582 // static dartSuite() {
11583 // _ut.group('HtmlUnitBuilderTest', () {
11584 // _ut.test('test_embedded_script', () {
11585 // final __test = new HtmlUnitBuilderTest();
11586 // runJUnitTest(__test, __test.test_embedded_script);
11587 // });
11588 // _ut.test('test_embedded_script_no_content', () {
11589 // final __test = new HtmlUnitBuilderTest();
11590 // runJUnitTest(__test, __test.test_embedded_script_no_content);
11591 // });
11592 // _ut.test('test_external_script', () {
11593 // final __test = new HtmlUnitBuilderTest();
11594 // runJUnitTest(__test, __test.test_external_script);
11595 // });
11596 // _ut.test('test_external_script_no_source', () {
11597 // final __test = new HtmlUnitBuilderTest();
11598 // runJUnitTest(__test, __test.test_external_script_no_source);
11599 // });
11600 // _ut.test('test_external_script_with_content', () {
11601 // final __test = new HtmlUnitBuilderTest();
11602 // runJUnitTest(__test, __test.test_external_script_with_content);
11603 // });
11604 // _ut.test('test_no_scripts', () {
11605 // final __test = new HtmlUnitBuilderTest();
11606 // runJUnitTest(__test, __test.test_no_scripts);
11607 // });
11608 // _ut.test('test_two_dart_scripts', () {
11609 // final __test = new HtmlUnitBuilderTest();
11610 // runJUnitTest(__test, __test.test_two_dart_scripts);
11611 // });
11612 // });
11613 // }
11614 // }
11615 // class HtmlUnitBuilderTest_ExpectedLibrary {
11616 // final HtmlUnitBuilderTest HtmlUnitBuilderTest_this;
11617 // final List<HtmlUnitBuilderTest_ExpectedVariable> _expectedVariables;
11618 // HtmlUnitBuilderTest_ExpectedLibrary(this.HtmlUnitBuilderTest_this, this._ex pectedVariables);
11619 // void _validate(int scriptIndex, EmbeddedHtmlScriptElementImpl script) {
11620 // LibraryElement library = script.scriptLibrary;
11621 // JUnitTestCase.assertNotNullMsg("script ${scriptIndex}", library);
11622 // JUnitTestCase.assertSameMsg("script ${scriptIndex}", HtmlUnitBuilderTest_ this._context, script.context);
11623 // CompilationUnitElement unit = library.definingCompilationUnit;
11624 // JUnitTestCase.assertNotNullMsg("script ${scriptIndex}", unit);
11625 // List<TopLevelVariableElement> variables = unit.topLevelVariables;
11626 // EngineTestCase.assertLength(_expectedVariables.length, variables);
11627 // for (int index = 0; index < variables.length; index++) {
11628 // _expectedVariables[index].validate(scriptIndex, variables[index]);
11629 // }
11630 // JUnitTestCase.assertSameMsg("script ${scriptIndex}", script, library.encl osingElement);
11631 // }
11632 // }
11633 // class HtmlUnitBuilderTest_ExpectedScript {
11634 // String _expectedExternalScriptName;
11635 // HtmlUnitBuilderTest_ExpectedLibrary _expectedLibrary;
11636 // HtmlUnitBuilderTest_ExpectedScript.con1(HtmlUnitBuilderTest_ExpectedLibrary expectedLibrary) {
11637 // this._expectedExternalScriptName = null;
11638 // this._expectedLibrary = expectedLibrary;
11639 // }
11640 // HtmlUnitBuilderTest_ExpectedScript.con2(String expectedExternalScriptPath) {
11641 // this._expectedExternalScriptName = expectedExternalScriptPath;
11642 // this._expectedLibrary = null;
11643 // }
11644 // void _validate(int scriptIndex, HtmlScriptElement script) {
11645 // if (_expectedLibrary != null) {
11646 // _validateEmbedded(scriptIndex, script);
11647 // } else {
11648 // _validateExternal(scriptIndex, script);
11649 // }
11650 // }
11651 // void _validateEmbedded(int scriptIndex, HtmlScriptElement script) {
11652 // if (script is! EmbeddedHtmlScriptElementImpl) {
11653 // JUnitTestCase.fail("Expected script ${scriptIndex} to be embedded, but found ${(script != null ? script.runtimeType : "null")}");
11654 // }
11655 // EmbeddedHtmlScriptElementImpl embeddedScript = script as EmbeddedHtmlScri ptElementImpl;
11656 // _expectedLibrary._validate(scriptIndex, embeddedScript);
11657 // }
11658 // void _validateExternal(int scriptIndex, HtmlScriptElement script) {
11659 // if (script is! ExternalHtmlScriptElementImpl) {
11660 // JUnitTestCase.fail("Expected script ${scriptIndex} to be external with src=${_expectedExternalScriptName} but found ${(script != null ? script.runtimeT ype : "null")}");
11661 // }
11662 // ExternalHtmlScriptElementImpl externalScript = script as ExternalHtmlScri ptElementImpl;
11663 // Source scriptSource = externalScript.scriptSource;
11664 // if (_expectedExternalScriptName == null) {
11665 // JUnitTestCase.assertNullMsg("script ${scriptIndex}", scriptSource);
11666 // } else {
11667 // JUnitTestCase.assertNotNullMsg("script ${scriptIndex}", scriptSource);
11668 // String actualExternalScriptName = scriptSource.shortName;
11669 // JUnitTestCase.assertEqualsMsg("script ${scriptIndex}", _expectedExterna lScriptName, actualExternalScriptName);
11670 // }
11671 // }
11672 // }
11673 // class HtmlUnitBuilderTest_ExpectedVariable {
11674 // final String _expectedName;
11675 // HtmlUnitBuilderTest_ExpectedVariable(this._expectedName);
11676 // void validate(int scriptIndex, TopLevelVariableElement variable) {
11677 // JUnitTestCase.assertNotNullMsg("script ${scriptIndex}", variable);
11678 // JUnitTestCase.assertEqualsMsg("script ${scriptIndex}", _expectedName, var iable.name);
11679 // }
11680 // }
11681 // /**
11682 // * Instances of the class `HtmlWarningCodeTest` test the generation of HTML w arning codes.
11683 // */
11684 // class HtmlWarningCodeTest extends EngineTestCase {
11685 // /**
11686 // * The source factory used to create the sources to be resolved.
11687 // */
11688 // SourceFactory _sourceFactory;
11689 // /**
11690 // * The analysis context used to resolve the HTML files.
11691 // */
11692 // AnalysisContextImpl _context;
11693 // /**
11694 // * The contents of the 'test.html' file.
11695 // */
11696 // String _contents;
11697 // /**
11698 // * The list of reported errors.
11699 // */
11700 // List<AnalysisError> _errors;
11701 // void test_invalidUri() {
11702 // _verify(EngineTestCase.createSource([
11703 // "<html>",
11704 // "<script type='application/dart' src='ht:'/>",
11705 // "</html>"]), [HtmlWarningCode.INVALID_URI]);
11706 // _assertErrorLocation2(_errors[0], "ht:");
11707 // }
11708 // void test_uriDoesNotExist() {
11709 // _verify(EngineTestCase.createSource([
11710 // "<html>",
11711 // "<script type='application/dart' src='other.dart'/>",
11712 // "</html>"]), [HtmlWarningCode.URI_DOES_NOT_EXIST]);
11713 // _assertErrorLocation2(_errors[0], "other.dart");
11714 // }
11715 // @override
11716 // void setUp() {
11717 // _sourceFactory = new SourceFactory([new FileUriResolver()]);
11718 // _context = new AnalysisContextImpl();
11719 // _context.sourceFactory = _sourceFactory;
11720 // }
11721 // void _assertErrorLocation(AnalysisError error, int expectedOffset, int expe ctedLength) {
11722 // JUnitTestCase.assertEqualsMsg(error.toString(), expectedOffset, error.off set);
11723 // JUnitTestCase.assertEqualsMsg(error.toString(), expectedLength, error.len gth);
11724 // }
11725 // void _assertErrorLocation2(AnalysisError error, String expectedString) {
11726 // _assertErrorLocation(error, _contents.indexOf(expectedString), expectedSt ring.length);
11727 // }
11728 // void _verify(String contents, List<ErrorCode> expectedErrorCodes) {
11729 // this._contents = contents;
11730 // TestSource source = new TestSource.con1(FileUtilities2.createFile("/test. html"), contents);
11731 // ChangeSet changeSet = new ChangeSet();
11732 // changeSet.addedSource(source);
11733 // _context.applyChanges(changeSet);
11734 // HtmlUnitBuilder builder = new HtmlUnitBuilder(_context);
11735 // builder.buildHtmlElement(source, _context.getModificationStamp(source), _ context.parseHtmlUnit(source));
11736 // GatheringErrorListener errorListener = new GatheringErrorListener();
11737 // errorListener.addAll2(builder.errorListener);
11738 // errorListener.assertErrorsWithCodes(expectedErrorCodes);
11739 // _errors = errorListener.errors;
11740 // }
11741 // static dartSuite() {
11742 // _ut.group('HtmlWarningCodeTest', () {
11743 // _ut.test('test_invalidUri', () {
11744 // final __test = new HtmlWarningCodeTest();
11745 // runJUnitTest(__test, __test.test_invalidUri);
11746 // });
11747 // _ut.test('test_uriDoesNotExist', () {
11748 // final __test = new HtmlWarningCodeTest();
11749 // runJUnitTest(__test, __test.test_uriDoesNotExist);
11750 // });
11751 // });
11752 // }
11753 // }
11754 // /**
11755 // * Instances of the class `MockDartSdk` implement a [DartSdk].
11756 // */
11757 // class MockDartSdk implements DartSdk {
11758 // @override
11759 // Source fromFileUri(Uri uri) => null;
11760 // @override
11761 // AnalysisContext get context => null;
11762 // @override
11763 // List<SdkLibrary> get sdkLibraries => null;
11764 // @override
11765 // SdkLibrary getSdkLibrary(String dartUri) => null;
11766 // @override
11767 // String get sdkVersion => null;
11768 // @override
11769 // List<String> get uris => null;
11770 // @override
11771 // Source mapDartUri(String dartUri) => null;
11772 // }
11773 // class NonExistingSourceTest extends JUnitTestCase {
11774 // Source _source = new NonExistingSource("/foo/bar/baz.dart", UriKind.PACKAGE _URI);
11775 // void test_access() {
11776 // JUnitTestCase.assertFalse(_source.exists());
11777 // JUnitTestCase.assertSame(UriKind.PACKAGE_URI, _source.uriKind);
11778 // JUnitTestCase.assertEquals("/foo/bar/baz.dart", _source.fullName);
11779 // JUnitTestCase.assertEquals("/foo/bar/baz.dart", _source.shortName);
11780 // JUnitTestCase.assertEquals(0, _source.modificationStamp);
11781 // JUnitTestCase.assertFalse(_source.isInSystemLibrary);
11782 // }
11783 // void test_getContents() {
11784 // try {
11785 // _source.contents;
11786 // JUnitTestCase.fail();
11787 // } on UnsupportedOperationException catch (e) {
11788 // }
11789 // }
11790 // void test_getContentsToReceiver() {
11791 // try {
11792 // _source.getContentsToReceiver(null);
11793 // JUnitTestCase.fail();
11794 // } on UnsupportedOperationException catch (e) {
11795 // }
11796 // }
11797 // void test_getEncoding() {
11798 // try {
11799 // _source.encoding;
11800 // JUnitTestCase.fail();
11801 // } on UnsupportedOperationException catch (e) {
11802 // }
11803 // }
11804 // void test_resolveRelative() {
11805 // try {
11806 // _source.resolveRelativeUri(parseUriWithException("qux.dart"));
11807 // JUnitTestCase.fail();
11808 // } on UnsupportedOperationException catch (e) {
11809 // }
11810 // }
11811 // static dartSuite() {
11812 // _ut.group('NonExistingSourceTest', () {
11813 // _ut.test('test_access', () {
11814 // final __test = new NonExistingSourceTest();
11815 // runJUnitTest(__test, __test.test_access);
11816 // });
11817 // _ut.test('test_getContents', () {
11818 // final __test = new NonExistingSourceTest();
11819 // runJUnitTest(__test, __test.test_getContents);
11820 // });
11821 // _ut.test('test_getContentsToReceiver', () {
11822 // final __test = new NonExistingSourceTest();
11823 // runJUnitTest(__test, __test.test_getContentsToReceiver);
11824 // });
11825 // _ut.test('test_getEncoding', () {
11826 // final __test = new NonExistingSourceTest();
11827 // runJUnitTest(__test, __test.test_getEncoding);
11828 // });
11829 // _ut.test('test_resolveRelative', () {
11830 // final __test = new NonExistingSourceTest();
11831 // runJUnitTest(__test, __test.test_resolveRelative);
11832 // });
11833 // });
11834 // }
11835 // }
11836 // class PackageUriResolverTest extends JUnitTestCase {
11837 // void test_absolute_vs_canonical() {
11838 // JavaFile directory = FileUtilities2.createFile("/does/not/exist/packages" );
11839 // // Cannot compare paths on Windows because this
11840 // // assertEquals(directory.getAbsolutePath(), directory.getCanonicalPat h());
11841 // // results in
11842 // // expected:<[e]:\does\not\exist\pac...> but was:<[E]:\does\not\exist\ pac...>
11843 // JUnitTestCase.assertEquals(directory.getAbsoluteFile(), directory.getCano nicalFile());
11844 // }
11845 // void test_creation() {
11846 // JavaFile directory = FileUtilities2.createFile("/does/not/exist/packages" );
11847 // JUnitTestCase.assertNotNull(new PackageUriResolver([directory]));
11848 // }
11849 // void test_isPackageUri_null_scheme() {
11850 // Uri uri = parseUriWithException("foo.dart");
11851 // JUnitTestCase.assertNull(uri.scheme);
11852 // JUnitTestCase.assertFalse(PackageUriResolver.isPackageUri(uri));
11853 // }
11854 // void test_resolve_canonical() {
11855 // if (!FileUtilities2.isSymLinkSupported) {
11856 // print("Skipping ${runtimeType.toString()} test_resolve_canonical");
11857 // return;
11858 // }
11859 // JavaFile lib1Dir = FileUtilities2.createTempDir("pkg1/lib").getCanonicalF ile();
11860 // JavaFile otherDir = FileUtilities2.createTempDir("pkg1/other").getCanonic alFile();
11861 // JavaFile packagesDir = FileUtilities2.createTempDir("pkg1/packages").getC anonicalFile();
11862 // JavaFile lib2Dir = FileUtilities2.createTempDir("pkg2/lib").getCanonicalF ile();
11863 // // Create symlink packages/pkg1 --> lib1
11864 // JavaFile pkg1Dir = new JavaFile.relative(packagesDir, "pkg1");
11865 // FileUtilities2.createSymLink(lib1Dir, pkg1Dir);
11866 // // Create symlink packages/pkg1/other --> other
11867 // FileUtilities2.createSymLink(otherDir, new JavaFile.relative(lib1Dir, "ot her"));
11868 // // Create symlink packages/pkg2 --> lib2
11869 // JavaFile pkg2Dir = new JavaFile.relative(packagesDir, "pkg2");
11870 // FileUtilities2.createSymLink(lib2Dir, pkg2Dir);
11871 // UriResolver resolver = new PackageUriResolver([packagesDir]);
11872 // // Assert that package:pkg1 resolves to lib1
11873 // Source result = resolver.resolveAbsolute(parseUriWithException("package:p kg1"));
11874 // JUnitTestCase.assertEquals(lib1Dir, new JavaFile(result.fullName));
11875 // JUnitTestCase.assertSame(UriKind.FILE_URI, result.uriKind);
11876 // // Assert that package:pkg1/ resolves to lib1
11877 // result = resolver.resolveAbsolute(parseUriWithException("package:pkg1/")) ;
11878 // JUnitTestCase.assertEquals(lib1Dir, new JavaFile(result.fullName));
11879 // JUnitTestCase.assertSame(UriKind.FILE_URI, result.uriKind);
11880 // // Assert that package:pkg1/other resolves to lib1/other not other
11881 // result = resolver.resolveAbsolute(parseUriWithException("package:pkg1/oth er"));
11882 // JUnitTestCase.assertEquals(new JavaFile.relative(lib1Dir, "other"), new J avaFile(result.fullName));
11883 // JUnitTestCase.assertSame(UriKind.FILE_URI, result.uriKind);
11884 // // Assert that package:pkg1/other/some.dart resolves to lib1/other/some.d art not other.dart
11885 // // when some.dart does NOT exist
11886 // JavaFile someDart = new JavaFile.relative(new JavaFile.relative(lib1Dir, "other"), "some.dart");
11887 // result = resolver.resolveAbsolute(parseUriWithException("package:pkg1/oth er/some.dart"));
11888 // JUnitTestCase.assertEquals(someDart, new JavaFile(result.fullName));
11889 // // Assert that package:pkg1/other/some.dart resolves to lib1/other/some.d art not other.dart
11890 // // when some.dart exists
11891 // JUnitTestCase.assertTrue(new JavaFile.relative(otherDir, someDart.getName ()).createNewFile());
11892 // JUnitTestCase.assertTrue(someDart.exists());
11893 // result = resolver.resolveAbsolute(parseUriWithException("package:pkg1/oth er/some.dart"));
11894 // JUnitTestCase.assertEquals(someDart, new JavaFile(result.fullName));
11895 // // Assert that package:pkg2/ resolves to lib2
11896 // result = resolver.resolveAbsolute(parseUriWithException("package:pkg2/")) ;
11897 // JUnitTestCase.assertEquals(lib2Dir, new JavaFile(result.fullName));
11898 // JUnitTestCase.assertSame(UriKind.PACKAGE_URI, result.uriKind);
11899 // }
11900 // void test_resolve_invalid() {
11901 // JavaFile packagesDir = new JavaFile("packages");
11902 // UriResolver resolver = new PackageUriResolver([packagesDir]);
11903 // // Invalid: URI
11904 // try {
11905 // parseUriWithException("package:");
11906 // JUnitTestCase.fail("Expected exception");
11907 // } on URISyntaxException catch (e) {
11908 // }
11909 // // Invalid: just slash
11910 // Source result = resolver.resolveAbsolute(parseUriWithException("package:/ "));
11911 // JUnitTestCase.assertNull(result);
11912 // // Invalid: leading slash... or should we gracefully degrade and ignore t he leading slash?
11913 // result = resolver.resolveAbsolute(parseUriWithException("package:/foo"));
11914 // JUnitTestCase.assertNull(result);
11915 // }
11916 // void test_resolve_nonPackage() {
11917 // JavaFile directory = FileUtilities2.createFile("/does/not/exist/packages" );
11918 // UriResolver resolver = new PackageUriResolver([directory]);
11919 // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core "));
11920 // JUnitTestCase.assertNull(result);
11921 // }
11922 // void test_resolve_package() {
11923 // JavaFile directory = FileUtilities2.createFile("/does/not/exist/packages" );
11924 // UriResolver resolver = new PackageUriResolver([directory]);
11925 // Source result = resolver.resolveAbsolute(parseUriWithException("package:t hird/party/library.dart"));
11926 // JUnitTestCase.assertNotNull(result);
11927 // JUnitTestCase.assertEquals(FileUtilities2.createFile("/does/not/exist/pac kages/third/party/library.dart").getAbsoluteFile(), new JavaFile(result.fullName ));
11928 // }
11929 // void test_restore() {
11930 // if (!FileUtilities2.isSymLinkSupported) {
11931 // print("Skipping ${runtimeType.toString()} test_restore");
11932 // return;
11933 // }
11934 // JavaFile argsCanonicalDir = FileUtilities2.createTempDir("args").getCanon icalFile();
11935 // JavaFile packagesDir = FileUtilities2.createTempDir("packages");
11936 // // Create symlink packages/args --> args-canonical
11937 // FileUtilities2.createSymLink(argsCanonicalDir, new JavaFile.relative(pack agesDir, "args"));
11938 // UriResolver resolver = new PackageUriResolver([packagesDir]);
11939 // // args-canonical/args.dart --> packages:args/args.dart
11940 // JavaFile someDart = new JavaFile.relative(argsCanonicalDir, "args.dart");
11941 // FileBasedSource source = new FileBasedSource.con1(someDart);
11942 // JUnitTestCase.assertEquals(parseUriWithException("package:args/args.dart" ), resolver.restoreAbsolute(source));
11943 // }
11944 // @override
11945 // void tearDown() {
11946 // FileUtilities2.deleteTempDir();
11947 // }
11948 // static dartSuite() {
11949 // _ut.group('PackageUriResolverTest', () {
11950 // _ut.test('test_absolute_vs_canonical', () {
11951 // final __test = new PackageUriResolverTest();
11952 // runJUnitTest(__test, __test.test_absolute_vs_canonical);
11953 // });
11954 // _ut.test('test_creation', () {
11955 // final __test = new PackageUriResolverTest();
11956 // runJUnitTest(__test, __test.test_creation);
11957 // });
11958 // _ut.test('test_isPackageUri_null_scheme', () {
11959 // final __test = new PackageUriResolverTest();
11960 // runJUnitTest(__test, __test.test_isPackageUri_null_scheme);
11961 // });
11962 // _ut.test('test_resolve_canonical', () {
11963 // final __test = new PackageUriResolverTest();
11964 // runJUnitTest(__test, __test.test_resolve_canonical);
11965 // });
11966 // _ut.test('test_resolve_invalid', () {
11967 // final __test = new PackageUriResolverTest();
11968 // runJUnitTest(__test, __test.test_resolve_invalid);
11969 // });
11970 // _ut.test('test_resolve_nonPackage', () {
11971 // final __test = new PackageUriResolverTest();
11972 // runJUnitTest(__test, __test.test_resolve_nonPackage);
11973 // });
11974 // _ut.test('test_resolve_package', () {
11975 // final __test = new PackageUriResolverTest();
11976 // runJUnitTest(__test, __test.test_resolve_package);
11977 // });
11978 // _ut.test('test_restore', () {
11979 // final __test = new PackageUriResolverTest();
11980 // runJUnitTest(__test, __test.test_restore);
11981 // });
11982 // });
11983 // }
11984 // }
11985 // class PolymerCompilationUnitBuilderTest extends PolymerTest {
11986 // void test_badAnnotation_noArguments() {
11987 // addTagDartSource(EngineTestCase.createSource([
11988 // "class MyAnnotation {}",
11989 // "@MyAnnotation",
11990 // "class MyElement {",
11991 // "}",
11992 // ""]));
11993 // resolveTagDart();
11994 // JUnitTestCase.assertNull(tagDartElement);
11995 // }
11996 // void test_badAnnotation_notConstructor() {
11997 // addTagDartSource(EngineTestCase.createSource(["@NoSuchAnnotation()", "cla ss MyElement {", "}", ""]));
11998 // resolveTagDart();
11999 // JUnitTestCase.assertNull(tagDartElement);
12000 // }
12001 // void test_customTag() {
12002 // addTagDartSource(EngineTestCase.createSource([
12003 // "import 'polymer.dart';",
12004 // "",
12005 // "@CustomTag('my-element') // marker",
12006 // "class MyElement {",
12007 // "}",
12008 // ""]));
12009 // resolveTagDart();
12010 // JUnitTestCase.assertNotNull(tagDartElement);
12011 // JUnitTestCase.assertEquals("my-element", tagDartElement.name);
12012 // JUnitTestCase.assertEquals(findTagDartOffset("my-element') // marker"), t agDartElement.nameOffset);
12013 // }
12014 // static dartSuite() {
12015 // _ut.group('PolymerCompilationUnitBuilderTest', () {
12016 // _ut.test('test_badAnnotation_noArguments', () {
12017 // final __test = new PolymerCompilationUnitBuilderTest();
12018 // runJUnitTest(__test, __test.test_badAnnotation_noArguments);
12019 // });
12020 // _ut.test('test_badAnnotation_notConstructor', () {
12021 // final __test = new PolymerCompilationUnitBuilderTest();
12022 // runJUnitTest(__test, __test.test_badAnnotation_notConstructor);
12023 // });
12024 // _ut.test('test_customTag', () {
12025 // final __test = new PolymerCompilationUnitBuilderTest();
12026 // runJUnitTest(__test, __test.test_customTag);
12027 // });
12028 // });
12029 // }
12030 // }
12031 // /**
12032 // * Test for [PolymerHtmlUnitBuilder].
12033 // */
12034 // class PolymerHtmlUnitBuilderTest extends PolymerTest {
12035 // void test_buildTagHtmlElement_bad_script_noSuchCustomTag() {
12036 // addTagDartSource(EngineTestCase.createSource([
12037 // "import 'polymer.dart';",
12038 // "",
12039 // "@CustomTag('other-name')",
12040 // "class MyElement {",
12041 // "}",
12042 // ""]));
12043 // addTagHtmlSource(EngineTestCase.createSource([
12044 // "<!DOCTYPE html>",
12045 // "",
12046 // "<polymer-element name='my-element'>",
12047 // " <template>",
12048 // " <div>Hello!</div>",
12049 // " </template>",
12050 // " <script type='application/dart' src='my-element.dart'></script>",
12051 // "</polymer-element>",
12052 // ""]));
12053 // resolveTagDart();
12054 // resolveTagHtml();
12055 // // HTML part is resolved
12056 // JUnitTestCase.assertNotNull(tagHtmlElement);
12057 // // ...but no Dart part found
12058 // JUnitTestCase.assertNull(tagHtmlElement.dartElement);
12059 // }
12060 // void test_buildTagHtmlElement_bad_script_notResolved() {
12061 // addTagHtmlSource(EngineTestCase.createSource([
12062 // "<!DOCTYPE html>",
12063 // "",
12064 // "<polymer-element name='my-element'>",
12065 // " <template>",
12066 // " <div>Hello!</div>",
12067 // " </template>",
12068 // " <script type='application/dart' src='no-such-file.dart'></script>" ,
12069 // "</polymer-element>",
12070 // ""]));
12071 // resolveTagHtml();
12072 // // HTML part is resolved
12073 // JUnitTestCase.assertNotNull(tagHtmlElement);
12074 // JUnitTestCase.assertNull(tagHtmlElement.dartElement);
12075 // }
12076 // void test_buildTagHtmlElement_error_AttributeFieldNotPublished() {
12077 // addTagDartSource(EngineTestCase.createSource([
12078 // "import 'polymer.dart';",
12079 // "",
12080 // "const otherAnnotation = null;",
12081 // "",
12082 // "@CustomTag('my-element') // marker",
12083 // "class MyElement {",
12084 // " @otherAnnotation",
12085 // " String attr;",
12086 // "}",
12087 // ""]));
12088 // addTagHtmlSource(EngineTestCase.createSource([
12089 // "<!DOCTYPE html>",
12090 // "",
12091 // "<polymer-element name='my-element' attributes='attr'>",
12092 // " <template>",
12093 // " <div>Hello!</div>",
12094 // " </template>",
12095 // " <script type='application/dart' src='my-element.dart'></script>",
12096 // "</polymer-element>",
12097 // ""]));
12098 // resolveTagDart();
12099 // resolveTagHtml();
12100 // assertNoErrorsTagDart();
12101 // assertErrors(tagHtmlSource, [PolymerCode.ATTRIBUTE_FIELD_NOT_PUBLISHED]);
12102 // // Dart and HTML parts are resolved
12103 // JUnitTestCase.assertNotNull(tagDartElement);
12104 // JUnitTestCase.assertNotNull(tagHtmlElement);
12105 // // attribute is still created
12106 // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes;
12107 // EngineTestCase.assertLength(1, attributes);
12108 // {
12109 // PolymerAttributeElement attribute = attributes[0];
12110 // JUnitTestCase.assertEquals("attr", attribute.name);
12111 // JUnitTestCase.assertNotNull(attribute.field);
12112 // }
12113 // }
12114 // void test_buildTagHtmlElement_error_DuplicateAttributeDefinition() {
12115 // addTagDartSource(EngineTestCase.createSource([
12116 // "import 'polymer.dart';",
12117 // "",
12118 // "@CustomTag('my-element') // marker",
12119 // "class MyElement {",
12120 // " @published String attr;",
12121 // "}",
12122 // ""]));
12123 // addTagHtmlSource(EngineTestCase.createSource([
12124 // "<!DOCTYPE html>",
12125 // "",
12126 // "<polymer-element name='my-element' attributes='attr attr'>",
12127 // " <template>",
12128 // " <div>Hello!</div>",
12129 // " </template>",
12130 // " <script type='application/dart' src='my-element.dart'></script>",
12131 // "</polymer-element>",
12132 // ""]));
12133 // resolveTagDart();
12134 // resolveTagHtml();
12135 // assertNoErrorsTagDart();
12136 // assertErrors(tagHtmlSource, [PolymerCode.DUPLICATE_ATTRIBUTE_DEFINITION]) ;
12137 // // Dart and HTML parts are resolved
12138 // JUnitTestCase.assertNotNull(tagDartElement);
12139 // JUnitTestCase.assertNotNull(tagHtmlElement);
12140 // // attribute is still created
12141 // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes;
12142 // EngineTestCase.assertLength(1, attributes);
12143 // {
12144 // PolymerAttributeElement attribute = attributes[0];
12145 // JUnitTestCase.assertEquals("attr", attribute.name);
12146 // JUnitTestCase.assertNotNull(attribute.field);
12147 // }
12148 // }
12149 // void test_buildTagHtmlElement_error_EmptyAttributes() {
12150 // addTagDartSource(EngineTestCase.createSource([
12151 // "import 'polymer.dart';",
12152 // "",
12153 // "@CustomTag('my-element') // marker",
12154 // "class MyElement {",
12155 // "}",
12156 // ""]));
12157 // addTagHtmlSource(EngineTestCase.createSource([
12158 // "<!DOCTYPE html>",
12159 // "",
12160 // "<polymer-element name='my-element' attributes=''>",
12161 // " <template>",
12162 // " <div>Hello!</div>",
12163 // " </template>",
12164 // " <script type='application/dart' src='my-element.dart'></script>",
12165 // "</polymer-element>",
12166 // ""]));
12167 // resolveTagDart();
12168 // resolveTagHtml();
12169 // assertNoErrorsTagDart();
12170 // assertErrors(tagHtmlSource, [PolymerCode.EMPTY_ATTRIBUTES]);
12171 // // Dart and HTML parts are resolved
12172 // JUnitTestCase.assertNotNull(tagDartElement);
12173 // JUnitTestCase.assertNotNull(tagHtmlElement);
12174 // // no attributes
12175 // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes;
12176 // EngineTestCase.assertLength(0, attributes);
12177 // }
12178 // void test_buildTagHtmlElement_error_InvalidAttributeName() {
12179 // addTagDartSource(EngineTestCase.createSource([
12180 // "import 'polymer.dart';",
12181 // "",
12182 // "@CustomTag('my-element') // marker",
12183 // "class MyElement {",
12184 // " @published String goodAttr;",
12185 // "}",
12186 // ""]));
12187 // addTagHtmlSource(EngineTestCase.createSource([
12188 // "<!DOCTYPE html>",
12189 // "",
12190 // "<polymer-element name='my-element' attributes='1badAttr goodAttr'>",
12191 // " <template>",
12192 // " <div>Hello!</div>",
12193 // " </template>",
12194 // " <script type='application/dart' src='my-element.dart'></script>",
12195 // "</polymer-element>",
12196 // ""]));
12197 // resolveTagDart();
12198 // resolveTagHtml();
12199 // assertNoErrorsTagDart();
12200 // assertErrors(tagHtmlSource, [PolymerCode.INVALID_ATTRIBUTE_NAME]);
12201 // // Dart and HTML parts are resolved
12202 // JUnitTestCase.assertNotNull(tagDartElement);
12203 // JUnitTestCase.assertNotNull(tagHtmlElement);
12204 // // one attribute is still created
12205 // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes;
12206 // EngineTestCase.assertLength(1, attributes);
12207 // {
12208 // PolymerAttributeElement attribute = attributes[0];
12209 // JUnitTestCase.assertEquals("goodAttr", attribute.name);
12210 // }
12211 // }
12212 // void test_buildTagHtmlElement_error_InvalidTagName() {
12213 // addTagHtmlSource(EngineTestCase.createSource([
12214 // "<!DOCTYPE html>",
12215 // "",
12216 // "<polymer-element name='invalid name'>",
12217 // " <template>",
12218 // " <div>Hello!</div>",
12219 // " </template>",
12220 // "</polymer-element>",
12221 // ""]));
12222 // resolveTagHtml();
12223 // assertErrors(tagHtmlSource, [PolymerCode.INVALID_TAG_NAME]);
12224 // JUnitTestCase.assertNull(tagHtmlElement);
12225 // }
12226 // void test_buildTagHtmlElement_error_InvalidTagName_noValue() {
12227 // addTagHtmlSource(EngineTestCase.createSource([
12228 // "<!DOCTYPE html>",
12229 // "",
12230 // "<polymer-element name>",
12231 // " <template>",
12232 // " <div>Hello!</div>",
12233 // " </template>",
12234 // "</polymer-element>",
12235 // ""]));
12236 // resolveTagHtml();
12237 // assertErrors(tagHtmlSource, [PolymerCode.INVALID_TAG_NAME]);
12238 // JUnitTestCase.assertNull(tagHtmlElement);
12239 // }
12240 // void test_buildTagHtmlElement_error_MissingTagName() {
12241 // addTagHtmlSource(EngineTestCase.createSource([
12242 // "<!DOCTYPE html>",
12243 // "",
12244 // "<polymer-element>",
12245 // " <template>",
12246 // " <div>Hello!</div>",
12247 // " </template>",
12248 // "</polymer-element>",
12249 // ""]));
12250 // resolveTagHtml();
12251 // assertErrors(tagHtmlSource, [PolymerCode.MISSING_TAG_NAME]);
12252 // JUnitTestCase.assertNull(tagHtmlElement);
12253 // }
12254 // void test_buildTagHtmlElement_error_UndefinedAttributeField() {
12255 // addTagDartSource(EngineTestCase.createSource([
12256 // "import 'polymer.dart';",
12257 // "",
12258 // "@CustomTag('my-element') // marker",
12259 // "class MyElement {",
12260 // "}",
12261 // ""]));
12262 // addTagHtmlSource(EngineTestCase.createSource([
12263 // "<!DOCTYPE html>",
12264 // "",
12265 // "<polymer-element name='my-element' attributes='attr'>",
12266 // " <template>",
12267 // " <div>Hello!</div>",
12268 // " </template>",
12269 // " <script type='application/dart' src='my-element.dart'></script>",
12270 // "</polymer-element>",
12271 // ""]));
12272 // resolveTagDart();
12273 // resolveTagHtml();
12274 // assertNoErrorsTagDart();
12275 // assertErrors(tagHtmlSource, [PolymerCode.UNDEFINED_ATTRIBUTE_FIELD]);
12276 // // Dart and HTML parts are resolved
12277 // JUnitTestCase.assertNotNull(tagDartElement);
12278 // JUnitTestCase.assertNotNull(tagHtmlElement);
12279 // // attribute is still created
12280 // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes;
12281 // EngineTestCase.assertLength(1, attributes);
12282 // {
12283 // PolymerAttributeElement attribute = attributes[0];
12284 // JUnitTestCase.assertEquals("attr", attribute.name);
12285 // JUnitTestCase.assertNull(attribute.field);
12286 // }
12287 // }
12288 // void test_buildTagHtmlElement_OK() {
12289 // addTagDartSource(EngineTestCase.createSource([
12290 // "import 'polymer.dart';",
12291 // "",
12292 // "@CustomTag('my-element') // marker",
12293 // "class MyElement {",
12294 // " @published String attrA;",
12295 // " @published String attrB;",
12296 // "}",
12297 // ""]));
12298 // addTagHtmlSource(EngineTestCase.createSource([
12299 // "<!DOCTYPE html>",
12300 // "",
12301 // "<polymer-element name='my-element' attributes='attrA attrB'>",
12302 // " <template>",
12303 // " <div>Hello!</div>",
12304 // " </template>",
12305 // " <script type='application/dart' src='my-element.dart'></script>",
12306 // "</polymer-element>",
12307 // ""]));
12308 // resolveTagDart();
12309 // resolveTagHtml();
12310 // assertNoErrorsTag();
12311 // // Dart and HTML parts are resolved
12312 // JUnitTestCase.assertNotNull(tagDartElement);
12313 // JUnitTestCase.assertNotNull(tagHtmlElement);
12314 // JUnitTestCase.assertEquals("my-element", tagDartElement.name);
12315 // JUnitTestCase.assertEquals("my-element", tagHtmlElement.name);
12316 // JUnitTestCase.assertEquals(findTagHtmlOffset("my-element' attributes="), tagHtmlElement.nameOffset);
12317 // // Dart and HTML parts should point at each other
12318 // JUnitTestCase.assertSame(tagDartElement, tagHtmlElement.dartElement);
12319 // JUnitTestCase.assertSame(tagHtmlElement, tagDartElement.htmlElement);
12320 // // check attributes
12321 // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes;
12322 // EngineTestCase.assertLength(2, attributes);
12323 // {
12324 // PolymerAttributeElement attribute = attributes[0];
12325 // JUnitTestCase.assertEquals("attrA", attribute.name);
12326 // JUnitTestCase.assertEquals(findTagHtmlOffset("attrA "), attribute.nameO ffset);
12327 // FieldElement field = attribute.field;
12328 // JUnitTestCase.assertNotNull(field);
12329 // JUnitTestCase.assertEquals("attrA", field.name);
12330 // }
12331 // {
12332 // PolymerAttributeElement attribute = attributes[1];
12333 // JUnitTestCase.assertEquals("attrB", attribute.name);
12334 // JUnitTestCase.assertEquals(findTagHtmlOffset("attrB'>"), attribute.name Offset);
12335 // FieldElement field = attribute.field;
12336 // JUnitTestCase.assertNotNull(field);
12337 // JUnitTestCase.assertEquals("attrB", field.name);
12338 // }
12339 // }
12340 // void test_buildTagHtmlElement_OK_noScript() {
12341 // addTagHtmlSource(EngineTestCase.createSource([
12342 // "<!DOCTYPE html>",
12343 // "",
12344 // "<polymer-element name='my-element'>",
12345 // " <template>",
12346 // " <div>Hello!</div>",
12347 // " </template>",
12348 // "</polymer-element>",
12349 // ""]));
12350 // resolveTagHtml();
12351 // assertNoErrorsTagHtml();
12352 // // HTML part is resolved
12353 // JUnitTestCase.assertNotNull(tagHtmlElement);
12354 // JUnitTestCase.assertNull(tagHtmlElement.dartElement);
12355 // }
12356 // void test_isValidAttributeName() {
12357 // // empty
12358 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName("") );
12359 // // invalid first character
12360 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName(" " ));
12361 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName("-" ));
12362 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName("0" ));
12363 // // invalid character in the middle
12364 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName("a& "));
12365 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName("a- b"));
12366 // // OK
12367 // JUnitTestCase.assertTrue(PolymerHtmlUnitBuilder.isValidAttributeName("a") );
12368 // JUnitTestCase.assertTrue(PolymerHtmlUnitBuilder.isValidAttributeName("bb" ));
12369 // }
12370 // void test_isValidTagName() {
12371 // // empty
12372 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName(""));
12373 // // invalid first character
12374 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName(" "));
12375 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("-"));
12376 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("0"));
12377 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("&"));
12378 // // invalid character in the middle
12379 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("a&"));
12380 // // no '-'
12381 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("a"));
12382 // // forbidden names
12383 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("annotati on-xml"));
12384 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("color-pr ofile"));
12385 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("font-fac e"));
12386 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("font-fac e-src"));
12387 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("font-fac e-uri"));
12388 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("font-fac e-format"));
12389 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("font-fac e-name"));
12390 // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("missing- glyph"));
12391 // // OK
12392 // JUnitTestCase.assertTrue(PolymerHtmlUnitBuilder.isValidTagName("a-b"));
12393 // JUnitTestCase.assertTrue(PolymerHtmlUnitBuilder.isValidTagName("a-b-c"));
12394 // JUnitTestCase.assertTrue(PolymerHtmlUnitBuilder.isValidTagName("aaa-bbb") );
12395 // }
12396 // static dartSuite() {
12397 // _ut.group('PolymerHtmlUnitBuilderTest', () {
12398 // _ut.test('test_buildTagHtmlElement_OK', () {
12399 // final __test = new PolymerHtmlUnitBuilderTest();
12400 // runJUnitTest(__test, __test.test_buildTagHtmlElement_OK);
12401 // });
12402 // _ut.test('test_buildTagHtmlElement_OK_noScript', () {
12403 // final __test = new PolymerHtmlUnitBuilderTest();
12404 // runJUnitTest(__test, __test.test_buildTagHtmlElement_OK_noScript);
12405 // });
12406 // _ut.test('test_buildTagHtmlElement_bad_script_noSuchCustomTag', () {
12407 // final __test = new PolymerHtmlUnitBuilderTest();
12408 // runJUnitTest(__test, __test.test_buildTagHtmlElement_bad_script_noSuc hCustomTag);
12409 // });
12410 // _ut.test('test_buildTagHtmlElement_bad_script_notResolved', () {
12411 // final __test = new PolymerHtmlUnitBuilderTest();
12412 // runJUnitTest(__test, __test.test_buildTagHtmlElement_bad_script_notRe solved);
12413 // });
12414 // _ut.test('test_buildTagHtmlElement_error_AttributeFieldNotPublished', ( ) {
12415 // final __test = new PolymerHtmlUnitBuilderTest();
12416 // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_AttributeF ieldNotPublished);
12417 // });
12418 // _ut.test('test_buildTagHtmlElement_error_DuplicateAttributeDefinition', () {
12419 // final __test = new PolymerHtmlUnitBuilderTest();
12420 // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_DuplicateA ttributeDefinition);
12421 // });
12422 // _ut.test('test_buildTagHtmlElement_error_EmptyAttributes', () {
12423 // final __test = new PolymerHtmlUnitBuilderTest();
12424 // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_EmptyAttri butes);
12425 // });
12426 // _ut.test('test_buildTagHtmlElement_error_InvalidAttributeName', () {
12427 // final __test = new PolymerHtmlUnitBuilderTest();
12428 // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_InvalidAtt ributeName);
12429 // });
12430 // _ut.test('test_buildTagHtmlElement_error_InvalidTagName', () {
12431 // final __test = new PolymerHtmlUnitBuilderTest();
12432 // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_InvalidTag Name);
12433 // });
12434 // _ut.test('test_buildTagHtmlElement_error_InvalidTagName_noValue', () {
12435 // final __test = new PolymerHtmlUnitBuilderTest();
12436 // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_InvalidTag Name_noValue);
12437 // });
12438 // _ut.test('test_buildTagHtmlElement_error_MissingTagName', () {
12439 // final __test = new PolymerHtmlUnitBuilderTest();
12440 // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_MissingTag Name);
12441 // });
12442 // _ut.test('test_buildTagHtmlElement_error_UndefinedAttributeField', () {
12443 // final __test = new PolymerHtmlUnitBuilderTest();
12444 // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_UndefinedA ttributeField);
12445 // });
12446 // _ut.test('test_isValidAttributeName', () {
12447 // final __test = new PolymerHtmlUnitBuilderTest();
12448 // runJUnitTest(__test, __test.test_isValidAttributeName);
12449 // });
12450 // _ut.test('test_isValidTagName', () {
12451 // final __test = new PolymerHtmlUnitBuilderTest();
12452 // runJUnitTest(__test, __test.test_isValidTagName);
12453 // });
12454 // });
12455 // }
12456 // }
12457 // abstract class PolymerTest extends EngineTestCase {
12458 // /**
12459 // * @return the offset of given <code>search</code> string in <code>contents </code>. Fails test if
12460 // * not found.
12461 // */
12462 // static int findOffset(String contents, String search) {
12463 // int offset = contents.indexOf(search);
12464 // assertThat(offset).describedAs(contents).isNotEqualTo(-1);
12465 // return offset;
12466 // }
12467 // AnalysisContextHelper contextHelper = new AnalysisContextHelper();
12468 // AnalysisContext context;
12469 // Source tagDartSource;
12470 // String tagDartContents;
12471 // Source tagHtmlSource;
12472 // String tagHtmlContents;
12473 // CompilationUnitElement tagDartUnitElement;
12474 // HtmlElement tagHtmlUnitElement;
12475 // PolymerTagDartElement tagDartElement;
12476 // PolymerTagHtmlElement tagHtmlElement;
12477 // void addTagDartSource(String contents) {
12478 // tagDartContents = contents;
12479 // tagDartSource = contextHelper.addSource("/my-element.dart", contents);
12480 // }
12481 // void addTagHtmlSource(String contents) {
12482 // tagHtmlContents = contents;
12483 // tagHtmlSource = contextHelper.addSource("/my-element.html", contents);
12484 // }
12485 // /**
12486 // * Assert that the number of errors reported against the given source match es the number of errors
12487 // * that are given and that they have the expected error codes. The order in which the errors were
12488 // * gathered is ignored.
12489 // *
12490 // * @param source the source against which the errors should have been repor ted
12491 // * @param expectedErrorCodes the error codes of the errors that should have been reported
12492 // * @throws AnalysisException if the reported errors could not be computed
12493 // * @throws AssertionFailedError if a different number of errors have been r eported than were
12494 // * expected
12495 // */
12496 // void assertErrors(Source source, List<ErrorCode> expectedErrorCodes) {
12497 // GatheringErrorListener errorListener = new GatheringErrorListener();
12498 // AnalysisErrorInfo errorsInfo = context.getErrors(source);
12499 // for (AnalysisError error in errorsInfo.errors) {
12500 // errorListener.onError(error);
12501 // }
12502 // errorListener.assertErrorsWithCodes(expectedErrorCodes);
12503 // }
12504 // void assertNoErrorsTag() {
12505 // assertNoErrorsTagDart();
12506 // assertNoErrorsTagHtml();
12507 // }
12508 // void assertNoErrorsTagDart() {
12509 // assertErrors(tagDartSource, []);
12510 // }
12511 // void assertNoErrorsTagHtml() {
12512 // assertErrors(tagHtmlSource, []);
12513 // }
12514 // /**
12515 // * @return the offset of given <code>search</code> string in [tagDartConten ts]. Fails test
12516 // * if not found.
12517 // */
12518 // int findTagDartOffset(String search) => findOffset(tagDartContents, search) ;
12519 // /**
12520 // * @return the offset of given <code>search</code> string in [tagHtmlConten ts]. Fails test
12521 // * if not found.
12522 // */
12523 // int findTagHtmlOffset(String search) => findOffset(tagHtmlContents, search) ;
12524 // void resolveTagDart() {
12525 // contextHelper.runTasks();
12526 // tagDartUnitElement = contextHelper.getDefiningUnitElement(tagDartSource);
12527 // // try to find a PolymerTagDartElement
12528 // for (ClassElement classElement in tagDartUnitElement.types) {
12529 // for (ToolkitObjectElement toolkitObject in classElement.toolkitObjects) {
12530 // if (toolkitObject is PolymerTagDartElement) {
12531 // tagDartElement = toolkitObject as PolymerTagDartElement;
12532 // }
12533 // }
12534 // }
12535 // }
12536 // void resolveTagHtml() {
12537 // contextHelper.runTasks();
12538 // tagHtmlUnitElement = context.getHtmlElement(tagHtmlSource);
12539 // // try to find a PolymerTagHtmlElement
12540 // List<PolymerTagHtmlElement> polymerTags = tagHtmlUnitElement.polymerTags;
12541 // if (polymerTags.length != 0) {
12542 // tagHtmlElement = polymerTags[0];
12543 // }
12544 // }
12545 // @override
12546 // void setUp() {
12547 // super.setUp();
12548 // _configureForPolymer(contextHelper);
12549 // context = contextHelper.context;
12550 // }
12551 // @override
12552 // void tearDown() {
12553 // contextHelper = null;
12554 // context = null;
12555 // tagDartSource = null;
12556 // tagDartContents = null;
12557 // tagHtmlSource = null;
12558 // tagHtmlContents = null;
12559 // tagDartUnitElement = null;
12560 // tagHtmlUnitElement = null;
12561 // tagDartElement = null;
12562 // tagHtmlElement = null;
12563 // super.tearDown();
12564 // }
12565 // void _configureForPolymer(AnalysisContextHelper contextHelper) {
12566 // contextHelper.addSource("/polymer.dart", EngineTestCase.createSource([
12567 // "library polymer;",
12568 // "",
12569 // "class CustomTag {",
12570 // " final String tagName;",
12571 // " const CustomTag(this.tagName);",
12572 // "}",
12573 // "",
12574 // "class ObservableProperty {",
12575 // " const ObservableProperty();",
12576 // "}",
12577 // "const ObservableProperty observable = const ObservableProperty();",
12578 // "",
12579 // "class PublishedProperty extends ObservableProperty {",
12580 // " const PublishedProperty();",
12581 // "}",
12582 // "const published = const PublishedProperty();",
12583 // ""]));
12584 // }
12585 // }
12586 // class ReferenceFinderTest extends EngineTestCase {
12587 // DirectedGraph<AstNode> _referenceGraph;
12588 // HashMap<VariableElement, VariableDeclaration> _variableDeclarationMap;
12589 // HashMap<ConstructorElement, ConstructorDeclaration> _constructorDeclaration Map;
12590 // VariableDeclaration _head;
12591 // AstNode _tail;
12592 // void test_visitInstanceCreationExpression_const() {
12593 // _visitNode(_makeTailConstructor("A", true, true, true));
12594 // _assertOneArc(_tail);
12595 // }
12596 // void test_visitInstanceCreationExpression_nonConstDeclaration() {
12597 // // In the source:
12598 // // const x = const A();
12599 // // x depends on "const A()" even if the A constructor isn't declared as c onst.
12600 // _visitNode(_makeTailConstructor("A", false, true, true));
12601 // _assertOneArc(_tail);
12602 // }
12603 // void test_visitInstanceCreationExpression_nonConstUsage() {
12604 // _visitNode(_makeTailConstructor("A", true, false, true));
12605 // _assertNoArcs();
12606 // }
12607 // void test_visitInstanceCreationExpression_notInMap() {
12608 // // In the source:
12609 // // const x = const A();
12610 // // x depends on "const A()" even if the AST for the A constructor isn't a vailable.
12611 // _visitNode(_makeTailConstructor("A", true, true, false));
12612 // _assertOneArc(_tail);
12613 // }
12614 // void test_visitSimpleIdentifier_const() {
12615 // _visitNode(_makeTailVariable("v2", true, true));
12616 // _assertOneArc(_tail);
12617 // }
12618 // void test_visitSimpleIdentifier_nonConst() {
12619 // _visitNode(_makeTailVariable("v2", false, true));
12620 // _assertNoArcs();
12621 // }
12622 // void test_visitSimpleIdentifier_notInMap() {
12623 // _visitNode(_makeTailVariable("v2", true, false));
12624 // _assertNoArcs();
12625 // }
12626 // void test_visitSuperConstructorInvocation_const() {
12627 // _visitNode(_makeTailSuperConstructorInvocation("A", true, true));
12628 // _assertOneArc(_tail);
12629 // }
12630 // void test_visitSuperConstructorInvocation_nonConst() {
12631 // _visitNode(_makeTailSuperConstructorInvocation("A", false, true));
12632 // _assertNoArcs();
12633 // }
12634 // void test_visitSuperConstructorInvocation_notInMap() {
12635 // _visitNode(_makeTailSuperConstructorInvocation("A", true, false));
12636 // _assertNoArcs();
12637 // }
12638 // void test_visitSuperConstructorInvocation_unresolved() {
12639 // SuperConstructorInvocation superConstructorInvocation = AstFactory.superC onstructorInvocation([]);
12640 // _tail = superConstructorInvocation;
12641 // _visitNode(superConstructorInvocation);
12642 // _assertNoArcs();
12643 // }
12644 // @override
12645 // void setUp() {
12646 // _referenceGraph = new DirectedGraph<AstNode>();
12647 // _variableDeclarationMap = new HashMap<VariableElement, VariableDeclaratio n>();
12648 // _constructorDeclarationMap = new HashMap<ConstructorElement, ConstructorD eclaration>();
12649 // _head = AstFactory.variableDeclaration("v1");
12650 // }
12651 // void _assertNoArcs() {
12652 // Set<AstNode> tails = _referenceGraph.getTails(_head);
12653 // EngineTestCase.assertSizeOfSet(0, tails);
12654 // }
12655 // void _assertOneArc(AstNode tail) {
12656 // Set<AstNode> tails = _referenceGraph.getTails(_head);
12657 // EngineTestCase.assertSizeOfSet(1, tails);
12658 // JUnitTestCase.assertSame(tail, new JavaIterator(tails).next());
12659 // }
12660 // ReferenceFinder _createReferenceFinder(AstNode source) => new ReferenceFind er(source, _referenceGraph, _variableDeclarationMap, _constructorDeclarationMap) ;
12661 // InstanceCreationExpression _makeTailConstructor(String name, bool isConstDe claration, bool isConstUsage, bool inMap) {
12662 // List<ConstructorInitializer> initializers = new List<ConstructorInitializ er>();
12663 // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDec laration(AstFactory.identifier3(name), null, AstFactory.formalParameterList([]), initializers);
12664 // if (isConstDeclaration) {
12665 // constructorDeclaration.constKeyword = new KeywordToken(Keyword.CONST, 0 );
12666 // }
12667 // ClassElementImpl classElement = ElementFactory.classElement2(name, []);
12668 // SimpleIdentifier identifier = AstFactory.identifier3(name);
12669 // TypeName type = AstFactory.typeName3(identifier, []);
12670 // InstanceCreationExpression instanceCreationExpression = AstFactory.instan ceCreationExpression2(isConstUsage ? Keyword.CONST : Keyword.NEW, type, []);
12671 // _tail = instanceCreationExpression;
12672 // ConstructorElementImpl constructorElement = ElementFactory.constructorEle ment(classElement, name, isConstDeclaration, []);
12673 // if (inMap) {
12674 // _constructorDeclarationMap[constructorElement] = constructorDeclaration ;
12675 // }
12676 // instanceCreationExpression.staticElement = constructorElement;
12677 // return instanceCreationExpression;
12678 // }
12679 // SuperConstructorInvocation _makeTailSuperConstructorInvocation(String name, bool isConst, bool inMap) {
12680 // List<ConstructorInitializer> initializers = new List<ConstructorInitializ er>();
12681 // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDec laration(AstFactory.identifier3(name), null, AstFactory.formalParameterList([]), initializers);
12682 // _tail = constructorDeclaration;
12683 // if (isConst) {
12684 // constructorDeclaration.constKeyword = new KeywordToken(Keyword.CONST, 0 );
12685 // }
12686 // ClassElementImpl classElement = ElementFactory.classElement2(name, []);
12687 // SuperConstructorInvocation superConstructorInvocation = AstFactory.superC onstructorInvocation([]);
12688 // ConstructorElementImpl constructorElement = ElementFactory.constructorEle ment(classElement, name, isConst, []);
12689 // if (inMap) {
12690 // _constructorDeclarationMap[constructorElement] = constructorDeclaration ;
12691 // }
12692 // superConstructorInvocation.staticElement = constructorElement;
12693 // return superConstructorInvocation;
12694 // }
12695 // SimpleIdentifier _makeTailVariable(String name, bool isConst, bool inMap) {
12696 // VariableDeclaration variableDeclaration = AstFactory.variableDeclaration( name);
12697 // _tail = variableDeclaration;
12698 // VariableElementImpl variableElement = ElementFactory.localVariableElement 2(name);
12699 // variableElement.const3 = isConst;
12700 // AstFactory.variableDeclarationList2(isConst ? Keyword.CONST : Keyword.VAR , [variableDeclaration]);
12701 // if (inMap) {
12702 // _variableDeclarationMap[variableElement] = variableDeclaration;
12703 // }
12704 // SimpleIdentifier identifier = AstFactory.identifier3(name);
12705 // identifier.staticElement = variableElement;
12706 // return identifier;
12707 // }
12708 // void _visitNode(AstNode node) {
12709 // node.accept(_createReferenceFinder(_head));
12710 // }
12711 // static dartSuite() {
12712 // _ut.group('ReferenceFinderTest', () {
12713 // _ut.test('test_visitInstanceCreationExpression_const', () {
12714 // final __test = new ReferenceFinderTest();
12715 // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_cons t);
12716 // });
12717 // _ut.test('test_visitInstanceCreationExpression_nonConstDeclaration', () {
12718 // final __test = new ReferenceFinderTest();
12719 // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_nonC onstDeclaration);
12720 // });
12721 // _ut.test('test_visitInstanceCreationExpression_nonConstUsage', () {
12722 // final __test = new ReferenceFinderTest();
12723 // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_nonC onstUsage);
12724 // });
12725 // _ut.test('test_visitInstanceCreationExpression_notInMap', () {
12726 // final __test = new ReferenceFinderTest();
12727 // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_notI nMap);
12728 // });
12729 // _ut.test('test_visitSimpleIdentifier_const', () {
12730 // final __test = new ReferenceFinderTest();
12731 // runJUnitTest(__test, __test.test_visitSimpleIdentifier_const);
12732 // });
12733 // _ut.test('test_visitSimpleIdentifier_nonConst', () {
12734 // final __test = new ReferenceFinderTest();
12735 // runJUnitTest(__test, __test.test_visitSimpleIdentifier_nonConst);
12736 // });
12737 // _ut.test('test_visitSimpleIdentifier_notInMap', () {
12738 // final __test = new ReferenceFinderTest();
12739 // runJUnitTest(__test, __test.test_visitSimpleIdentifier_notInMap);
12740 // });
12741 // _ut.test('test_visitSuperConstructorInvocation_const', () {
12742 // final __test = new ReferenceFinderTest();
12743 // runJUnitTest(__test, __test.test_visitSuperConstructorInvocation_cons t);
12744 // });
12745 // _ut.test('test_visitSuperConstructorInvocation_nonConst', () {
12746 // final __test = new ReferenceFinderTest();
12747 // runJUnitTest(__test, __test.test_visitSuperConstructorInvocation_nonC onst);
12748 // });
12749 // _ut.test('test_visitSuperConstructorInvocation_notInMap', () {
12750 // final __test = new ReferenceFinderTest();
12751 // runJUnitTest(__test, __test.test_visitSuperConstructorInvocation_notI nMap);
12752 // });
12753 // _ut.test('test_visitSuperConstructorInvocation_unresolved', () {
12754 // final __test = new ReferenceFinderTest();
12755 // runJUnitTest(__test, __test.test_visitSuperConstructorInvocation_unre solved);
12756 // });
12757 // });
12758 // }
12759 // }
12760 // class RelativeFileResolverTest extends JUnitTestCase {
12761 // void test_creation() {
12762 // JavaFile root = FileUtilities2.createFile("/does/not/exist");
12763 // JavaFile directory = FileUtilities2.createFile("/does/not/exist/relative" );
12764 // JUnitTestCase.assertNotNull(new RelativeFileUriResolver(root, [directory] ));
12765 // }
12766 // void test_resolve_file() {
12767 // JavaFile root = FileUtilities2.createTempDir("/does/not/exist");
12768 // JavaFile directory = FileUtilities2.createTempDir("/does/not/exist/relati ve");
12769 // JavaFile testFile = new JavaFile.relative(directory, "exist.dart");
12770 // testFile.createNewFile();
12771 // Uri uri = new Uri("file", null, "${root.toURI().path}${JavaFile.separator }exist.dart", null, null);
12772 // UriResolver resolver = new RelativeFileUriResolver(root, [directory]);
12773 // Source result = resolver.resolveAbsolute(uri);
12774 // JUnitTestCase.assertNotNull(result);
12775 // JUnitTestCase.assertEquals(testFile.getAbsolutePath(), result.fullName);
12776 // }
12777 // void test_resolve_nonFile() {
12778 // JavaFile root = FileUtilities2.createFile("/does/not/exist");
12779 // JavaFile directory = FileUtilities2.createFile("/does/not/exist/relative" );
12780 // UriResolver resolver = new RelativeFileUriResolver(root, [directory]);
12781 // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core "));
12782 // JUnitTestCase.assertNull(result);
12783 // }
12784 // @override
12785 // void tearDown() {
12786 // FileUtilities2.deleteTempDir();
12787 // }
12788 // static dartSuite() {
12789 // _ut.group('RelativeFileResolverTest', () {
12790 // _ut.test('test_creation', () {
12791 // final __test = new RelativeFileResolverTest();
12792 // runJUnitTest(__test, __test.test_creation);
12793 // });
12794 // _ut.test('test_resolve_file', () {
12795 // final __test = new RelativeFileResolverTest();
12796 // runJUnitTest(__test, __test.test_resolve_file);
12797 // });
12798 // _ut.test('test_resolve_nonFile', () {
12799 // final __test = new RelativeFileResolverTest();
12800 // runJUnitTest(__test, __test.test_resolve_nonFile);
12801 // });
12802 // });
12803 // }
12804 // }
12805 // class SDKLibrariesReaderTest extends EngineTestCase {
12806 // void test_readFrom_dart2js() {
12807 // LibraryMap libraryMap = new SdkLibrariesReader(true).readFromFile(FileUti lities2.createFile("/libs.dart"), EngineTestCase.createSource([
12808 // "final Map<String, LibraryInfo> LIBRARIES = const <String, LibraryInf o> {",
12809 // " 'first' : const LibraryInfo(",
12810 // " 'first/first.dart',",
12811 // " category: 'First',",
12812 // " documented: true,",
12813 // " platforms: VM_PLATFORM,",
12814 // " dart2jsPath: 'first/first_dart2js.dart'),",
12815 // "};"]));
12816 // JUnitTestCase.assertNotNull(libraryMap);
12817 // JUnitTestCase.assertEquals(1, libraryMap.size());
12818 // SdkLibrary first = libraryMap.getLibrary("dart:first");
12819 // JUnitTestCase.assertNotNull(first);
12820 // JUnitTestCase.assertEquals("First", first.category);
12821 // JUnitTestCase.assertEquals("first/first_dart2js.dart", first.path);
12822 // JUnitTestCase.assertEquals("dart:first", first.shortName);
12823 // JUnitTestCase.assertEquals(false, first.isDart2JsLibrary);
12824 // JUnitTestCase.assertEquals(true, first.isDocumented);
12825 // JUnitTestCase.assertEquals(false, first.isImplementation);
12826 // JUnitTestCase.assertEquals(true, first.isVmLibrary);
12827 // }
12828 // void test_readFrom_empty() {
12829 // LibraryMap libraryMap = new SdkLibrariesReader(false).readFromFile(FileUt ilities2.createFile("/libs.dart"), "");
12830 // JUnitTestCase.assertNotNull(libraryMap);
12831 // JUnitTestCase.assertEquals(0, libraryMap.size());
12832 // }
12833 // void test_readFrom_normal() {
12834 // LibraryMap libraryMap = new SdkLibrariesReader(false).readFromFile(FileUt ilities2.createFile("/libs.dart"), EngineTestCase.createSource([
12835 // "final Map<String, LibraryInfo> LIBRARIES = const <String, LibraryInf o> {",
12836 // " 'first' : const LibraryInfo(",
12837 // " 'first/first.dart',",
12838 // " category: 'First',",
12839 // " documented: true,",
12840 // " platforms: VM_PLATFORM),",
12841 // "",
12842 // " 'second' : const LibraryInfo(",
12843 // " 'second/second.dart',",
12844 // " category: 'Second',",
12845 // " documented: false,",
12846 // " implementation: true,",
12847 // " platforms: 0),",
12848 // "};"]));
12849 // JUnitTestCase.assertNotNull(libraryMap);
12850 // JUnitTestCase.assertEquals(2, libraryMap.size());
12851 // SdkLibrary first = libraryMap.getLibrary("dart:first");
12852 // JUnitTestCase.assertNotNull(first);
12853 // JUnitTestCase.assertEquals("First", first.category);
12854 // JUnitTestCase.assertEquals("first/first.dart", first.path);
12855 // JUnitTestCase.assertEquals("dart:first", first.shortName);
12856 // JUnitTestCase.assertEquals(false, first.isDart2JsLibrary);
12857 // JUnitTestCase.assertEquals(true, first.isDocumented);
12858 // JUnitTestCase.assertEquals(false, first.isImplementation);
12859 // JUnitTestCase.assertEquals(true, first.isVmLibrary);
12860 // SdkLibrary second = libraryMap.getLibrary("dart:second");
12861 // JUnitTestCase.assertNotNull(second);
12862 // JUnitTestCase.assertEquals("Second", second.category);
12863 // JUnitTestCase.assertEquals("second/second.dart", second.path);
12864 // JUnitTestCase.assertEquals("dart:second", second.shortName);
12865 // JUnitTestCase.assertEquals(false, second.isDart2JsLibrary);
12866 // JUnitTestCase.assertEquals(false, second.isDocumented);
12867 // JUnitTestCase.assertEquals(true, second.isImplementation);
12868 // JUnitTestCase.assertEquals(false, second.isVmLibrary);
12869 // }
12870 // static dartSuite() {
12871 // _ut.group('SDKLibrariesReaderTest', () {
12872 // _ut.test('test_readFrom_dart2js', () {
12873 // final __test = new SDKLibrariesReaderTest();
12874 // runJUnitTest(__test, __test.test_readFrom_dart2js);
12875 // });
12876 // _ut.test('test_readFrom_empty', () {
12877 // final __test = new SDKLibrariesReaderTest();
12878 // runJUnitTest(__test, __test.test_readFrom_empty);
12879 // });
12880 // _ut.test('test_readFrom_normal', () {
12881 // final __test = new SDKLibrariesReaderTest();
12882 // runJUnitTest(__test, __test.test_readFrom_normal);
12883 // });
12884 // });
12885 // }
12886 // }
12887 // class SourceFactoryTest extends JUnitTestCase {
12888 // void test_creation() {
12889 // JUnitTestCase.assertNotNull(new SourceFactory([]));
12890 // }
12891 // void test_fromEncoding_invalidUri() {
12892 // SourceFactory factory = new SourceFactory([]);
12893 // try {
12894 // factory.fromEncoding("<:&%>");
12895 // JUnitTestCase.fail("Expected IllegalArgumentException");
12896 // } on IllegalArgumentException catch (exception) {
12897 // }
12898 // }
12899 // void test_fromEncoding_noResolver() {
12900 // SourceFactory factory = new SourceFactory([]);
12901 // try {
12902 // factory.fromEncoding("foo:/does/not/exist.dart");
12903 // JUnitTestCase.fail("Expected IllegalArgumentException");
12904 // } on IllegalArgumentException catch (exception) {
12905 // }
12906 // }
12907 // void test_fromEncoding_valid() {
12908 // String encoding = "file:/does/not/exist.dart";
12909 // SourceFactory factory = new SourceFactory([new UriResolver_SourceFactoryT est_test_fromEncoding_valid(encoding)]);
12910 // JUnitTestCase.assertNotNull(factory.fromEncoding(encoding));
12911 // }
12912 // void test_resolveUri_absolute() {
12913 // List<bool> invoked = [false];
12914 // SourceFactory factory = new SourceFactory([new UriResolver_SourceFactoryT est_test_resolveUri_absolute(invoked)]);
12915 // factory.resolveUri(null, "dart:core");
12916 // JUnitTestCase.assertTrue(invoked[0]);
12917 // }
12918 // void test_resolveUri_nonAbsolute_absolute() {
12919 // SourceFactory factory = new SourceFactory([new UriResolver_SourceFactoryT est_test_resolveUri_nonAbsolute_absolute()]);
12920 // String absolutePath = "/does/not/matter.dart";
12921 // Source containingSource = new FileBasedSource.con1(FileUtilities2.createF ile("/does/not/exist.dart"));
12922 // Source result = factory.resolveUri(containingSource, absolutePath);
12923 // JUnitTestCase.assertEquals(FileUtilities2.createFile(absolutePath).getAbs olutePath(), result.fullName);
12924 // }
12925 // void test_resolveUri_nonAbsolute_relative() {
12926 // SourceFactory factory = new SourceFactory([new UriResolver_SourceFactoryT est_test_resolveUri_nonAbsolute_relative()]);
12927 // Source containingSource = new FileBasedSource.con1(FileUtilities2.createF ile("/does/not/have.dart"));
12928 // Source result = factory.resolveUri(containingSource, "exist.dart");
12929 // JUnitTestCase.assertEquals(FileUtilities2.createFile("/does/not/exist.dar t").getAbsolutePath(), result.fullName);
12930 // }
12931 // void test_restoreUri() {
12932 // JavaFile file1 = FileUtilities2.createFile("/some/file1.dart");
12933 // JavaFile file2 = FileUtilities2.createFile("/some/file2.dart");
12934 // Source source1 = new FileBasedSource.con1(file1);
12935 // Source source2 = new FileBasedSource.con1(file2);
12936 // Uri expected1 = parseUriWithException("http://www.google.com");
12937 // SourceFactory factory = new SourceFactory([new UriResolver_SourceFactoryT est_test_restoreUri(source1, expected1)]);
12938 // JUnitTestCase.assertSame(expected1, factory.restoreUri(source1));
12939 // JUnitTestCase.assertSame(null, factory.restoreUri(source2));
12940 // }
12941 // static dartSuite() {
12942 // _ut.group('SourceFactoryTest', () {
12943 // _ut.test('test_creation', () {
12944 // final __test = new SourceFactoryTest();
12945 // runJUnitTest(__test, __test.test_creation);
12946 // });
12947 // _ut.test('test_fromEncoding_invalidUri', () {
12948 // final __test = new SourceFactoryTest();
12949 // runJUnitTest(__test, __test.test_fromEncoding_invalidUri);
12950 // });
12951 // _ut.test('test_fromEncoding_noResolver', () {
12952 // final __test = new SourceFactoryTest();
12953 // runJUnitTest(__test, __test.test_fromEncoding_noResolver);
12954 // });
12955 // _ut.test('test_fromEncoding_valid', () {
12956 // final __test = new SourceFactoryTest();
12957 // runJUnitTest(__test, __test.test_fromEncoding_valid);
12958 // });
12959 // _ut.test('test_resolveUri_absolute', () {
12960 // final __test = new SourceFactoryTest();
12961 // runJUnitTest(__test, __test.test_resolveUri_absolute);
12962 // });
12963 // _ut.test('test_resolveUri_nonAbsolute_absolute', () {
12964 // final __test = new SourceFactoryTest();
12965 // runJUnitTest(__test, __test.test_resolveUri_nonAbsolute_absolute);
12966 // });
12967 // _ut.test('test_resolveUri_nonAbsolute_relative', () {
12968 // final __test = new SourceFactoryTest();
12969 // runJUnitTest(__test, __test.test_resolveUri_nonAbsolute_relative);
12970 // });
12971 // _ut.test('test_restoreUri', () {
12972 // final __test = new SourceFactoryTest();
12973 // runJUnitTest(__test, __test.test_restoreUri);
12974 // });
12975 // });
12976 // }
12977 // }
12978 // class StringScannerTest extends AbstractScannerTest {
12979 // @override
12980 // AbstractScanner newScanner(String input) => new StringScanner(null, input);
12981 // static dartSuite() {
12982 // _ut.group('StringScannerTest', () {
12983 // _ut.test('test_tokenize_attribute', () {
12984 // final __test = new StringScannerTest();
12985 // runJUnitTest(__test, __test.test_tokenize_attribute);
12986 // });
12987 // _ut.test('test_tokenize_comment', () {
12988 // final __test = new StringScannerTest();
12989 // runJUnitTest(__test, __test.test_tokenize_comment);
12990 // });
12991 // _ut.test('test_tokenize_comment_incomplete', () {
12992 // final __test = new StringScannerTest();
12993 // runJUnitTest(__test, __test.test_tokenize_comment_incomplete);
12994 // });
12995 // _ut.test('test_tokenize_comment_with_gt', () {
12996 // final __test = new StringScannerTest();
12997 // runJUnitTest(__test, __test.test_tokenize_comment_with_gt);
12998 // });
12999 // _ut.test('test_tokenize_declaration', () {
13000 // final __test = new StringScannerTest();
13001 // runJUnitTest(__test, __test.test_tokenize_declaration);
13002 // });
13003 // _ut.test('test_tokenize_declaration_malformed', () {
13004 // final __test = new StringScannerTest();
13005 // runJUnitTest(__test, __test.test_tokenize_declaration_malformed);
13006 // });
13007 // _ut.test('test_tokenize_directive_incomplete', () {
13008 // final __test = new StringScannerTest();
13009 // runJUnitTest(__test, __test.test_tokenize_directive_incomplete);
13010 // });
13011 // _ut.test('test_tokenize_directive_xml', () {
13012 // final __test = new StringScannerTest();
13013 // runJUnitTest(__test, __test.test_tokenize_directive_xml);
13014 // });
13015 // _ut.test('test_tokenize_directives_incomplete_with_newline', () {
13016 // final __test = new StringScannerTest();
13017 // runJUnitTest(__test, __test.test_tokenize_directives_incomplete_with_ newline);
13018 // });
13019 // _ut.test('test_tokenize_empty', () {
13020 // final __test = new StringScannerTest();
13021 // runJUnitTest(__test, __test.test_tokenize_empty);
13022 // });
13023 // _ut.test('test_tokenize_lt', () {
13024 // final __test = new StringScannerTest();
13025 // runJUnitTest(__test, __test.test_tokenize_lt);
13026 // });
13027 // _ut.test('test_tokenize_script_embedded_tags', () {
13028 // final __test = new StringScannerTest();
13029 // runJUnitTest(__test, __test.test_tokenize_script_embedded_tags);
13030 // });
13031 // _ut.test('test_tokenize_script_embedded_tags2', () {
13032 // final __test = new StringScannerTest();
13033 // runJUnitTest(__test, __test.test_tokenize_script_embedded_tags2);
13034 // });
13035 // _ut.test('test_tokenize_script_embedded_tags3', () {
13036 // final __test = new StringScannerTest();
13037 // runJUnitTest(__test, __test.test_tokenize_script_embedded_tags3);
13038 // });
13039 // _ut.test('test_tokenize_script_partial', () {
13040 // final __test = new StringScannerTest();
13041 // runJUnitTest(__test, __test.test_tokenize_script_partial);
13042 // });
13043 // _ut.test('test_tokenize_script_partial2', () {
13044 // final __test = new StringScannerTest();
13045 // runJUnitTest(__test, __test.test_tokenize_script_partial2);
13046 // });
13047 // _ut.test('test_tokenize_script_partial3', () {
13048 // final __test = new StringScannerTest();
13049 // runJUnitTest(__test, __test.test_tokenize_script_partial3);
13050 // });
13051 // _ut.test('test_tokenize_script_ref', () {
13052 // final __test = new StringScannerTest();
13053 // runJUnitTest(__test, __test.test_tokenize_script_ref);
13054 // });
13055 // _ut.test('test_tokenize_script_with_newline', () {
13056 // final __test = new StringScannerTest();
13057 // runJUnitTest(__test, __test.test_tokenize_script_with_newline);
13058 // });
13059 // _ut.test('test_tokenize_spaces_and_newlines', () {
13060 // final __test = new StringScannerTest();
13061 // runJUnitTest(__test, __test.test_tokenize_spaces_and_newlines);
13062 // });
13063 // _ut.test('test_tokenize_string', () {
13064 // final __test = new StringScannerTest();
13065 // runJUnitTest(__test, __test.test_tokenize_string);
13066 // });
13067 // _ut.test('test_tokenize_string_partial', () {
13068 // final __test = new StringScannerTest();
13069 // runJUnitTest(__test, __test.test_tokenize_string_partial);
13070 // });
13071 // _ut.test('test_tokenize_string_single_quote', () {
13072 // final __test = new StringScannerTest();
13073 // runJUnitTest(__test, __test.test_tokenize_string_single_quote);
13074 // });
13075 // _ut.test('test_tokenize_string_single_quote_partial', () {
13076 // final __test = new StringScannerTest();
13077 // runJUnitTest(__test, __test.test_tokenize_string_single_quote_partial );
13078 // });
13079 // _ut.test('test_tokenize_tag_begin_end', () {
13080 // final __test = new StringScannerTest();
13081 // runJUnitTest(__test, __test.test_tokenize_tag_begin_end);
13082 // });
13083 // _ut.test('test_tokenize_tag_begin_only', () {
13084 // final __test = new StringScannerTest();
13085 // runJUnitTest(__test, __test.test_tokenize_tag_begin_only);
13086 // });
13087 // _ut.test('test_tokenize_tag_incomplete_with_special_characters', () {
13088 // final __test = new StringScannerTest();
13089 // runJUnitTest(__test, __test.test_tokenize_tag_incomplete_with_special _characters);
13090 // });
13091 // _ut.test('test_tokenize_tag_self_contained', () {
13092 // final __test = new StringScannerTest();
13093 // runJUnitTest(__test, __test.test_tokenize_tag_self_contained);
13094 // });
13095 // _ut.test('test_tokenize_tags_wellformed', () {
13096 // final __test = new StringScannerTest();
13097 // runJUnitTest(__test, __test.test_tokenize_tags_wellformed);
13098 // });
13099 // });
13100 // }
13101 // }
13102 // class TestAll {
13103 // static Test suite() {
13104 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13105 // suite.addTestSuite(ClassDeclarationTest);
13106 // suite.addTestSuite(ClassTypeAliasTest);
13107 // suite.addTestSuite(IndexExpressionTest);
13108 // suite.addTestSuite(NodeListTest);
13109 // suite.addTestSuite(SimpleIdentifierTest);
13110 // suite.addTestSuite(SimpleStringLiteralTest);
13111 // suite.addTestSuite(VariableDeclarationTest);
13112 // suite.addTest(com.google.dart.engine.ast.visitor.TestAll.suite());
13113 // return suite;
13114 // }
13115 // }
13116 // class TestAll {
13117 // static Test suite() {
13118 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13119 // suite.addTestSuite(ConstantEvaluatorTest);
13120 // suite.addTestSuite(ElementLocatorTest);
13121 // suite.addTestSuite(NodeLocatorTest);
13122 // suite.addTestSuite(ToSourceVisitorTest);
13123 // suite.addTestSuite(BreadthFirstVisitorTest);
13124 // return suite;
13125 // }
13126 // }
13127 // class TestAll {
13128 // static Test suite() {
13129 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13130 // suite.addTestSuite(ConstantEvaluatorTest);
13131 // suite.addTestSuite(DeclaredVariablesTest);
13132 // return suite;
13133 // }
13134 // }
13135 // class TestAll {
13136 // static Test suite() {
13137 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13138 // suite.addTestSuite(AnalysisDeltaTest);
13139 // suite.addTestSuite(ChangeSetTest);
13140 // return suite;
13141 // }
13142 // }
13143 // class TestAll {
13144 // static Test suite() {
13145 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13146 // suite.addTestSuite(ElementKindTest);
13147 // suite.addTest(com.google.dart.engine.element.angular.TestAll.suite());
13148 // return suite;
13149 // }
13150 // }
13151 // class TestAll {
13152 // static Test suite() {
13153 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13154 // suite.addTestSuite(AngularPropertyKindTest);
13155 // return suite;
13156 // }
13157 // }
13158 // class TestAll {
13159 // static Test suite() {
13160 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13161 // suite.addTestSuite(ErrorSeverityTest);
13162 // suite.addTestSuite(TodoCodeTest);
13163 // return suite;
13164 // }
13165 // }
13166 // class TestAll {
13167 // static Test suite() {
13168 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13169 // suite.addTest(com.google.dart.engine.html.ast.TestAll.suite());
13170 // suite.addTest(com.google.dart.engine.html.parser.TestAll.suite());
13171 // suite.addTest(com.google.dart.engine.html.scanner.TestAll.suite());
13172 // return suite;
13173 // }
13174 // }
13175 // class TestAll {
13176 // static Test suite() {
13177 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13178 // suite.addTest(com.google.dart.engine.html.ast.visitor.TestAll.suite());
13179 // return suite;
13180 // }
13181 // }
13182 // class TestAll {
13183 // static Test suite() {
13184 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13185 // suite.addTestSuite(ToSourceVisitorTest);
13186 // return suite;
13187 // }
13188 // }
13189 // class TestAll {
13190 // static Test suite() {
13191 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13192 // suite.addTestSuite(HtmlParserTest);
13193 // return suite;
13194 // }
13195 // }
13196 // class TestAll {
13197 // static Test suite() {
13198 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13199 // suite.addTestSuite(StringScannerTest);
13200 // return suite;
13201 // }
13202 // }
13203 // class TestAll {
13204 // static Test suite() {
13205 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13206 // suite.addTest(com.google.dart.engine.internal.builder.TestAll.suite());
13207 // suite.addTest(com.google.dart.engine.internal.cache.TestAll.suite());
13208 // suite.addTest(com.google.dart.engine.internal.constant.TestAll.suite());
13209 // suite.addTest(com.google.dart.engine.internal.context.TestAll.suite());
13210 // suite.addTest(com.google.dart.engine.internal.element.TestAll.suite());
13211 // suite.addTest(com.google.dart.engine.internal.error.TestAll.suite());
13212 // suite.addTest(com.google.dart.engine.internal.hint.TestAll.suite());
13213 // suite.addTest(com.google.dart.engine.internal.html.TestAll.suite());
13214 // suite.addTest(com.google.dart.engine.internal.index.TestAll.suite());
13215 // suite.addTest(com.google.dart.engine.internal.object.TestAll.suite());
13216 // suite.addTest(com.google.dart.engine.internal.resolver.TestAll.suite());
13217 // suite.addTest(com.google.dart.engine.internal.scope.TestAll.suite());
13218 // suite.addTest(com.google.dart.engine.internal.sdk.TestAll.suite());
13219 // suite.addTest(com.google.dart.engine.internal.search.TestAll.suite());
13220 // suite.addTest(com.google.dart.engine.internal.task.TestAll.suite());
13221 // suite.addTest(com.google.dart.engine.internal.type.TestAll.suite());
13222 // return suite;
13223 // }
13224 // }
13225 // class TestAll {
13226 // static Test suite() {
13227 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13228 // suite.addTestSuite(AngularCompilationUnitBuilderTest);
13229 // suite.addTestSuite(ElementBuilderTest);
13230 // suite.addTestSuite(EnumMemberBuilderTest);
13231 // suite.addTestSuite(HtmlUnitBuilderTest);
13232 // suite.addTestSuite(HtmlWarningCodeTest);
13233 // suite.addTestSuite(PolymerCompilationUnitBuilderTest);
13234 // return suite;
13235 // }
13236 // }
13237 // class TestAll {
13238 // static Test suite() {
13239 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13240 // suite.addTestSuite(AnalysisCacheTest);
13241 // suite.addTestSuite(DartEntryImplTest);
13242 // suite.addTestSuite(HtmlEntryImplTest);
13243 // suite.addTestSuite(PartitionManagerTest);
13244 // suite.addTestSuite(SdkCachePartitionTest);
13245 // suite.addTestSuite(UniversalCachePartitionTest);
13246 // return suite;
13247 // }
13248 // }
13249 // class TestAll {
13250 // static Test suite() {
13251 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13252 // suite.addTestSuite(ConstantFinderTest);
13253 // suite.addTestSuite(ConstantValueComputerTest);
13254 // suite.addTestSuite(ConstantVisitorTest);
13255 // suite.addTestSuite(ReferenceFinderTest);
13256 // return suite;
13257 // }
13258 // }
13259 // class TestAll {
13260 // static Test suite() {
13261 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13262 // suite.addTestSuite(AnalysisContextImplTest);
13263 // suite.addTestSuite(AnalysisOptionsImplTest);
13264 // suite.addTestSuite(IncrementalAnalysisCacheTest);
13265 // suite.addTestSuite(InstrumentedAnalysisContextImplTest);
13266 // suite.addTestSuite(WorkManagerTest);
13267 // return suite;
13268 // }
13269 // }
13270 // class TestAll {
13271 // static Test suite() {
13272 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13273 // suite.addTestSuite(ClassElementImplTest);
13274 // suite.addTestSuite(CompilationUnitElementImplTest);
13275 // suite.addTestSuite(ElementLocationImplTest);
13276 // suite.addTestSuite(ElementImplTest);
13277 // suite.addTestSuite(HtmlElementImplTest);
13278 // suite.addTestSuite(LibraryElementImplTest);
13279 // suite.addTestSuite(MultiplyDefinedElementImplTest);
13280 // return suite;
13281 // }
13282 // }
13283 // class TestAll {
13284 // static Test suite() {
13285 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13286 // suite.addTestSuite(ErrorReporterTest);
13287 // return suite;
13288 // }
13289 // }
13290 // class TestAll {
13291 // static Test suite() {
13292 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13293 // suite.addTestSuite(ExitDetectorTest);
13294 // return suite;
13295 // }
13296 // }
13297 // class TestAll {
13298 // static Test suite() {
13299 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13300 // suite.addTest(com.google.dart.engine.internal.html.angular.TestAll.suite( ));
13301 // suite.addTest(com.google.dart.engine.internal.html.polymer.TestAll.suite( ));
13302 // suite.addTestSuite(HtmlTagInfoBuilderTest);
13303 // return suite;
13304 // }
13305 // }
13306 // class TestAll {
13307 // static Test suite() {
13308 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13309 // suite.addTestSuite(AngularDartIndexContributorTest);
13310 // suite.addTestSuite(AngularHtmlIndexContributorTest);
13311 // suite.addTestSuite(AngularHtmlUnitResolverTest);
13312 // suite.addTestSuite(AngularHtmlUnitUtilsTest);
13313 // return suite;
13314 // }
13315 // }
13316 // class TestAll {
13317 // static Test suite() {
13318 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13319 // suite.addTestSuite(PolymerHtmlUnitBuilderTest);
13320 // return suite;
13321 // }
13322 // }
13323 // class TestAll {
13324 // static Test suite() {
13325 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13326 // suite.addTestSuite(DartObjectImplTest);
13327 // return suite;
13328 // }
13329 // }
13330 // class TestAll {
13331 // static Test suite() {
13332 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13333 // suite.addTestSuite(DeclarationMatcherTest);
13334 // suite.addTestSuite(ElementResolverTest);
13335 // suite.addTestSuite(IncrementalResolverTest);
13336 // suite.addTestSuite(InheritanceManagerTest);
13337 // suite.addTestSuite(LibraryElementBuilderTest);
13338 // suite.addTestSuite(LibraryTest);
13339 // suite.addTestSuite(StaticTypeAnalyzerTest);
13340 // suite.addTestSuite(SubtypeManagerTest);
13341 // suite.addTestSuite(TypeOverrideManagerTest);
13342 // suite.addTestSuite(TypeProviderImplTest);
13343 // suite.addTestSuite(TypeResolverVisitorTest);
13344 // return suite;
13345 // }
13346 // }
13347 // class TestAll {
13348 // static Test suite() {
13349 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13350 // suite.addTestSuite(EnclosedScopeTest);
13351 // suite.addTestSuite(LibraryImportScopeTest);
13352 // suite.addTestSuite(LibraryScopeTest);
13353 // suite.addTestSuite(ScopeBuilderTest);
13354 // suite.addTestSuite(ScopeTest);
13355 // return suite;
13356 // }
13357 // }
13358 // class TestAll {
13359 // static Test suite() {
13360 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13361 // suite.addTestSuite(SDKLibrariesReaderTest);
13362 // return suite;
13363 // }
13364 // }
13365 // class TestAll {
13366 // static Test suite() {
13367 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13368 // suite.addTestSuite(AnalysisTaskTest);
13369 // suite.addTestSuite(BuildDartElementModelTaskTest);
13370 // suite.addTestSuite(GenerateDartErrorsTaskTest);
13371 // suite.addTestSuite(GenerateDartHintsTaskTest);
13372 // suite.addTestSuite(GetContentTaskTest);
13373 // suite.addTestSuite(IncrementalAnalysisTaskTest);
13374 // suite.addTestSuite(ParseDartTaskTest);
13375 // suite.addTestSuite(ParseHtmlTaskTest);
13376 // suite.addTestSuite(ResolveDartLibraryTaskTest);
13377 // suite.addTestSuite(ResolveDartUnitTaskTest);
13378 // suite.addTestSuite(ResolveHtmlTaskTest);
13379 // suite.addTestSuite(ScanDartTaskTest);
13380 // return suite;
13381 // }
13382 // }
13383 // class TestAll {
13384 // static Test suite() {
13385 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13386 // suite.addTestSuite(FunctionTypeImplTest);
13387 // suite.addTestSuite(InterfaceTypeImplTest);
13388 // suite.addTestSuite(TypeParameterTypeImplTest);
13389 // suite.addTestSuite(VoidTypeImplTest);
13390 // return suite;
13391 // }
13392 // }
13393 // class TestAll {
13394 // static Test suite() {
13395 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13396 // suite.addTestSuite(ComplexParserTest);
13397 // suite.addTestSuite(ErrorParserTest);
13398 // suite.addTestSuite(IncrementalParserTest);
13399 // suite.addTestSuite(NonErrorParserTest);
13400 // suite.addTestSuite(RecoveryParserTest);
13401 // suite.addTestSuite(ResolutionCopierTest);
13402 // suite.addTestSuite(SimpleParserTest);
13403 // return suite;
13404 // }
13405 // }
13406 // class TestAll {
13407 // static Test suite() {
13408 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13409 // suite.addTestSuite(CompileTimeErrorCodeTest);
13410 // suite.addTestSuite(ErrorResolverTest);
13411 // suite.addTestSuite(HintCodeTest);
13412 // suite.addTestSuite(MemberMapTest);
13413 // suite.addTestSuite(NonErrorResolverTest);
13414 // suite.addTestSuite(NonHintCodeTest);
13415 // //suite.addTestSuite(PubSuggestionCodeTest.class);
13416 // suite.addTestSuite(SimpleResolverTest);
13417 // suite.addTestSuite(StaticTypeWarningCodeTest);
13418 // suite.addTestSuite(StaticWarningCodeTest);
13419 // suite.addTestSuite(StrictModeTest);
13420 // suite.addTestSuite(TypePropagationTest);
13421 // return suite;
13422 // }
13423 // }
13424 // class TestAll {
13425 // static Test suite() {
13426 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13427 // suite.addTestSuite(CharSequenceReaderTest);
13428 // suite.addTestSuite(IncrementalScannerTest);
13429 // suite.addTestSuite(KeywordStateTest);
13430 // suite.addTestSuite(ScannerTest);
13431 // suite.addTestSuite(TokenTypeTest);
13432 // return suite;
13433 // }
13434 // }
13435 // class TestAll {
13436 // static Test suite() {
13437 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13438 // suite.addTestSuite(DirectoryBasedDartSdkTest);
13439 // return suite;
13440 // }
13441 // }
13442 // class TestAll {
13443 // static Test suite() {
13444 // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage(). getName()}");
13445 // suite.addTestSuite(ContentCacheTest);
13446 // suite.addTestSuite(DartUriResolverTest);
13447 // suite.addTestSuite(ExplicitPackageUriResolverTest);
13448 // suite.addTestSuite(FileUriResolverTest);
13449 // suite.addTestSuite(NonExistingSourceTest);
13450 // suite.addTestSuite(PackageUriResolverTest);
13451 // suite.addTestSuite(RelativeFileResolverTest);
13452 // suite.addTestSuite(DirectoryBasedSourceContainerTest);
13453 // suite.addTestSuite(SourceFactoryTest);
13454 // suite.addTestSuite(FileBasedSourceTest);
13455 // suite.addTestSuite(UriKindTest);
13456 // return suite;
13457 // }
13458 // }
13459 // /**
13460 // * Instances of the class `TestSource` implement a source object that can be used for testing
13461 // * purposes.
13462 // */
13463 // class TestSource extends FileBasedSource {
13464 // /**
13465 // * The contents of the file represented by this source.
13466 // */
13467 // String _contents;
13468 // /**
13469 // * The modification stamp associated with this source.
13470 // */
13471 // int _modificationStamp = 0;
13472 // /**
13473 // * A flag indicating whether an exception should be generated when an attem pt is made to access
13474 // * the contents of this source.
13475 // */
13476 // bool _generateExceptionOnRead = false;
13477 // /**
13478 // * The number of times that the contents of this source have been requested .
13479 // */
13480 // int _readCount = 0;
13481 // /**
13482 // * Initialize a newly created source object.
13483 // */
13484 // TestSource() : this.con1(FileUtilities2.createFile("/test.dart"), "");
13485 // /**
13486 // * Initialize a newly created source object. The source object is assumed t o not be in a system
13487 // * library.
13488 // *
13489 // * @param file the file represented by this source
13490 // * @param contents the contents of the file represented by this source
13491 // */
13492 // TestSource.con1(JavaFile file, String contents) : super.con1(file) {
13493 // this._contents = contents;
13494 // _modificationStamp = JavaSystem.currentTimeMillis();
13495 // }
13496 // /**
13497 // * Initialize a newly created source object with the specified contents.
13498 // *
13499 // * @param contents the contents of the file represented by this source
13500 // */
13501 // TestSource.con2(String contents) : this.con1(FileUtilities2.createFile("/te st.dart"), contents);
13502 // @override
13503 // int get modificationStamp => _modificationStamp;
13504 // /**
13505 // * The number of times that the contents of this source have been requested .
13506 // */
13507 // int get readCount => _readCount;
13508 // /**
13509 // * Set the contents of this source to the given contents. This has the side -effect of updating the
13510 // * modification stamp of the source.
13511 // *
13512 // * @param contents the new contents of this source
13513 // */
13514 // void set contents(String contents) {
13515 // this._contents = contents;
13516 // _modificationStamp = JavaSystem.currentTimeMillis();
13517 // }
13518 // /**
13519 // * A flag indicating whether an exception should be generated when an attem pt is made to access
13520 // * the contents of this source.
13521 // */
13522 // void set generateExceptionOnRead(bool generate) {
13523 // _generateExceptionOnRead = generate;
13524 // }
13525 // @override
13526 // TimestampedData<String> get contentsFromFile {
13527 // _readCount++;
13528 // if (_generateExceptionOnRead) {
13529 // throw new JavaIOException("I/O Exception while getting the contents of ${fullName}");
13530 // }
13531 // return new TimestampedData<String>(_modificationStamp, _contents);
13532 // }
13533 // @override
13534 // void getContentsFromFileToReceiver(Source_ContentReceiver receiver) {
13535 // _readCount++;
13536 // if (_generateExceptionOnRead) {
13537 // throw new JavaIOException("I/O Exception while getting the contents of ${fullName}");
13538 // }
13539 // receiver.accept(_contents, _modificationStamp);
13540 // }
13541 // }
13542 // /**
13543 // * Instances of the class `ToSourceVisitorTest`
13544 // */
13545 // class ToSourceVisitorTest extends EngineTestCase {
13546 // void fail_visitHtmlScriptTagNode_attributes_content() {
13547 // _assertSource("<script type='application/dart'>f() {}</script>", HtmlFact ory.scriptTagWithContent("f() {}", [HtmlFactory.attribute("type", "'application/ dart'")]));
13548 // }
13549 // void fail_visitHtmlScriptTagNode_noAttributes_content() {
13550 // _assertSource("<script>f() {}</script>", HtmlFactory.scriptTagWithContent ("f() {}", []));
13551 // }
13552 // void test_visitHtmlScriptTagNode_attributes_noContent() {
13553 // _assertSource("<script type='application/dart'/>", HtmlFactory.scriptTag( [HtmlFactory.attribute("type", "'application/dart'")]));
13554 // }
13555 // void test_visitHtmlScriptTagNode_noAttributes_noContent() {
13556 // _assertSource("<script/>", HtmlFactory.scriptTag([]));
13557 // }
13558 // void test_visitHtmlUnit_empty() {
13559 // _assertSource("", new HtmlUnit(null, new List<XmlTagNode>(), null));
13560 // }
13561 // void test_visitHtmlUnit_nonEmpty() {
13562 // _assertSource("<html/>", new HtmlUnit(null, HtmlFactory.list([HtmlFactory .tagNode("html", [])]), null));
13563 // }
13564 // void test_visitXmlAttributeNode() {
13565 // _assertSource("x=y", HtmlFactory.attribute("x", "y"));
13566 // }
13567 // /**
13568 // * Assert that a `ToSourceVisitor` will produce the expected source when vi siting the given
13569 // * node.
13570 // *
13571 // * @param expectedSource the source string that the visitor is expected to produce
13572 // * @param node the AST node being visited to produce the actual source
13573 // */
13574 // void _assertSource(String expectedSource, XmlNode node) {
13575 // PrintStringWriter writer = new PrintStringWriter();
13576 // node.accept(new ToSourceVisitor(writer));
13577 // JUnitTestCase.assertEquals(expectedSource, writer.toString());
13578 // }
13579 // static dartSuite() {
13580 // _ut.group('ToSourceVisitorTest', () {
13581 // _ut.test('test_visitHtmlScriptTagNode_attributes_noContent', () {
13582 // final __test = new ToSourceVisitorTest();
13583 // runJUnitTest(__test, __test.test_visitHtmlScriptTagNode_attributes_no Content);
13584 // });
13585 // _ut.test('test_visitHtmlScriptTagNode_noAttributes_noContent', () {
13586 // final __test = new ToSourceVisitorTest();
13587 // runJUnitTest(__test, __test.test_visitHtmlScriptTagNode_noAttributes_ noContent);
13588 // });
13589 // _ut.test('test_visitHtmlUnit_empty', () {
13590 // final __test = new ToSourceVisitorTest();
13591 // runJUnitTest(__test, __test.test_visitHtmlUnit_empty);
13592 // });
13593 // _ut.test('test_visitHtmlUnit_nonEmpty', () {
13594 // final __test = new ToSourceVisitorTest();
13595 // runJUnitTest(__test, __test.test_visitHtmlUnit_nonEmpty);
13596 // });
13597 // _ut.test('test_visitXmlAttributeNode', () {
13598 // final __test = new ToSourceVisitorTest();
13599 // runJUnitTest(__test, __test.test_visitXmlAttributeNode);
13600 // });
13601 // });
13602 // }
13603 // }
13604 // class TodoCodeTest extends EngineTestCase {
13605 // void test_locateLineCommentTodo() {
13606 // _locate("//TODO", 2, 4);
13607 // _locate("//TODO:", 2, 5);
13608 // _locate("// TODO(sdsdf): ", 3, 13);
13609 // _locate("// TODO (sdsdf): ", 3, 14);
13610 // _locate("//TODO(sdsdf)", 2, 11);
13611 // _locate("// TODO(sdsdf): ", 4, 13);
13612 // }
13613 // void test_locateMultiLineCommentTodo() {
13614 // _locate("* TODO \n * foo", 2, 5);
13615 // _locate("*TODO:\n * foo", 1, 5);
13616 // _locate("*TODO(sdsdf): \n * foo", 1, 13);
13617 // _locate("* TODO(sdsdf)\n * foo", 2, 11);
13618 // _locate(" * TODO(sdsdf): \n * foo", 3, 13);
13619 // _locate(" * sdfsdf \n * TODO(sdsdf): \n * foo", 14, 13);
13620 // }
13621 // void test_locateMultipleComments() {
13622 // JavaPatternMatcher m = new JavaPatternMatcher(TodoCode.TODO_REGEX, "/**\n * TODO: foo bar\n * TODO bar baz\n*/");
13623 // JUnitTestCase.assertTrue(m.find());
13624 // JUnitTestCase.assertEquals(7, m.start(2));
13625 // JUnitTestCase.assertEquals(13, m.end(2) - m.start(2));
13626 // JUnitTestCase.assertTrue(m.find());
13627 // JUnitTestCase.assertEquals(24, m.start(2));
13628 // JUnitTestCase.assertEquals(12, m.end(2) - m.start(2));
13629 // JUnitTestCase.assertFalse(m.find());
13630 // }
13631 // void test_negativeLineCommentTodo() {
13632 // _negative("// TODOS");
13633 // _negative("// todo");
13634 // }
13635 // void test_negativeMultiLineCommentTodo() {
13636 // _negative(" * TODOS \n * foo");
13637 // _negative(" * todo\n * foo");
13638 // }
13639 // void _locate(String comment, int start, int length) {
13640 // JavaPatternMatcher m = new JavaPatternMatcher(TodoCode.TODO_REGEX, commen t);
13641 // JUnitTestCase.assertTrue(m.find());
13642 // JUnitTestCase.assertEquals(start, m.start(2));
13643 // JUnitTestCase.assertEquals(length, m.end(2) - m.start(2));
13644 // }
13645 // void _negative(String comment) {
13646 // JavaPatternMatcher m = new JavaPatternMatcher(TodoCode.TODO_REGEX, commen t);
13647 // JUnitTestCase.assertFalse(m.find());
13648 // }
13649 // static dartSuite() {
13650 // _ut.group('TodoCodeTest', () {
13651 // _ut.test('test_locateLineCommentTodo', () {
13652 // final __test = new TodoCodeTest();
13653 // runJUnitTest(__test, __test.test_locateLineCommentTodo);
13654 // });
13655 // _ut.test('test_locateMultiLineCommentTodo', () {
13656 // final __test = new TodoCodeTest();
13657 // runJUnitTest(__test, __test.test_locateMultiLineCommentTodo);
13658 // });
13659 // _ut.test('test_locateMultipleComments', () {
13660 // final __test = new TodoCodeTest();
13661 // runJUnitTest(__test, __test.test_locateMultipleComments);
13662 // });
13663 // _ut.test('test_negativeLineCommentTodo', () {
13664 // final __test = new TodoCodeTest();
13665 // runJUnitTest(__test, __test.test_negativeLineCommentTodo);
13666 // });
13667 // _ut.test('test_negativeMultiLineCommentTodo', () {
13668 // final __test = new TodoCodeTest();
13669 // runJUnitTest(__test, __test.test_negativeMultiLineCommentTodo);
13670 // });
13671 // });
13672 // }
13673 // }
13674 // class UriKindTest extends JUnitTestCase {
13675 // void test_fromEncoding() {
13676 // JUnitTestCase.assertSame(UriKind.DART_URI, UriKind.fromEncoding(0x64));
13677 // JUnitTestCase.assertSame(UriKind.FILE_URI, UriKind.fromEncoding(0x66));
13678 // JUnitTestCase.assertSame(UriKind.PACKAGE_URI, UriKind.fromEncoding(0x70)) ;
13679 // JUnitTestCase.assertSame(null, UriKind.fromEncoding(0x58));
13680 // }
13681 // void test_getEncoding() {
13682 // JUnitTestCase.assertEquals(0x64, UriKind.DART_URI.encoding);
13683 // JUnitTestCase.assertEquals(0x66, UriKind.FILE_URI.encoding);
13684 // JUnitTestCase.assertEquals(0x70, UriKind.PACKAGE_URI.encoding);
13685 // }
13686 // static dartSuite() {
13687 // _ut.group('UriKindTest', () {
13688 // _ut.test('test_fromEncoding', () {
13689 // final __test = new UriKindTest();
13690 // runJUnitTest(__test, __test.test_fromEncoding);
13691 // });
13692 // _ut.test('test_getEncoding', () {
13693 // final __test = new UriKindTest();
13694 // runJUnitTest(__test, __test.test_getEncoding);
13695 // });
13696 // });
13697 // }
13698 // }
13699 // class UriResolver_SourceFactoryTest_test_fromEncoding_valid extends UriResolv er {
13700 // String encoding;
13701 // UriResolver_SourceFactoryTest_test_fromEncoding_valid(this.encoding) : supe r();
13702 // @override
13703 // Source resolveAbsolute(Uri uri) {
13704 // if (uri.toString() == encoding) {
13705 // return new TestSource();
13706 // }
13707 // return null;
13708 // }
13709 // }
13710 // class UriResolver_SourceFactoryTest_test_resolveUri_absolute extends UriResol ver {
13711 // List<bool> invoked;
13712 // UriResolver_SourceFactoryTest_test_resolveUri_absolute(this.invoked) : supe r();
13713 // @override
13714 // Source resolveAbsolute(Uri uri) {
13715 // invoked[0] = true;
13716 // return null;
13717 // }
13718 // }
13719 // class UriResolver_SourceFactoryTest_test_resolveUri_nonAbsolute_absolute exte nds UriResolver {
13720 // @override
13721 // Source resolveAbsolute(Uri uri) => new FileBasedSource.con2(uri, new JavaFi le.fromUri(uri));
13722 // }
13723 // class UriResolver_SourceFactoryTest_test_resolveUri_nonAbsolute_relative exte nds UriResolver {
13724 // @override
13725 // Source resolveAbsolute(Uri uri) => new FileBasedSource.con2(uri, new JavaFi le.fromUri(uri));
13726 // }
13727 // class UriResolver_SourceFactoryTest_test_restoreUri extends UriResolver {
13728 // Source source1;
13729 // Uri expected1;
13730 // UriResolver_SourceFactoryTest_test_restoreUri(this.source1, this.expected1) : super();
13731 // @override
13732 // Source resolveAbsolute(Uri uri) => null;
13733 // @override
13734 // Uri restoreAbsolute(Source source) {
13735 // if (identical(source, source1)) {
13736 // return expected1;
13737 // }
13738 // return null;
13739 // }
13740 // }
13741 // /**
13742 // * Instances of `XmlValidator` traverse an [XmlNode] structure and validate t he node
13743 // * hierarchy.
13744 // */
13745 // class XmlValidator extends RecursiveXmlVisitor<Object> {
13746 // /**
13747 // * A list containing the errors found while traversing the AST structure.
13748 // */
13749 // List<String> _errors = new List<String>();
13750 // /**
13751 // * The tags to expect when visiting or `null` if tags should not be checked .
13752 // */
13753 // List<XmlValidator_Tag> _expectedTagsInOrderVisited;
13754 // /**
13755 // * The current index into the [expectedTagsInOrderVisited] array.
13756 // */
13757 // int _expectedTagsIndex = 0;
13758 // /**
13759 // * The key/value pairs to expect when visiting or `null` if attributes shou ld not be
13760 // * checked.
13761 // */
13762 // List<String> _expectedAttributeKeyValuePairs;
13763 // /**
13764 // * The current index into the [expectedAttributeKeyValuePairs].
13765 // */
13766 // int _expectedAttributeIndex = 0;
13767 // /**
13768 // * Assert that no errors were found while traversing any of the AST structu res that have been
13769 // * visited.
13770 // */
13771 // void assertValid() {
13772 // while (_expectedTagsIndex < _expectedTagsInOrderVisited.length) {
13773 // String expectedTag = _expectedTagsInOrderVisited[_expectedTagsIndex++]. _tag;
13774 // _errors.add("Expected to visit node with tag: ${expectedTag}");
13775 // }
13776 // if (!_errors.isEmpty) {
13777 // PrintStringWriter writer = new PrintStringWriter();
13778 // writer.print("Invalid XML structure:");
13779 // for (String message in _errors) {
13780 // writer.newLine();
13781 // writer.print(" ");
13782 // writer.print(message);
13783 // }
13784 // JUnitTestCase.fail(writer.toString());
13785 // }
13786 // }
13787 // /**
13788 // * Set the tags to be expected when visiting
13789 // *
13790 // * @param expectedTags the expected tags
13791 // */
13792 // void expectTags(List<XmlValidator_Tag> expectedTags) {
13793 // // Flatten the hierarchy into expected order in which the tags are visite d
13794 // List<XmlValidator_Tag> expected = new List<XmlValidator_Tag>();
13795 // _expectTags(expected, expectedTags);
13796 // this._expectedTagsInOrderVisited = new List.from(expected);
13797 // }
13798 // @override
13799 // Object visitHtmlUnit(HtmlUnit node) {
13800 // if (node.parent != null) {
13801 // _errors.add("HtmlUnit should not have a parent");
13802 // }
13803 // if (node.endToken.type != TokenType.EOF) {
13804 // _errors.add("HtmlUnit end token should be of type EOF");
13805 // }
13806 // _validateNode(node);
13807 // return super.visitHtmlUnit(node);
13808 // }
13809 // @override
13810 // Object visitXmlAttributeNode(XmlAttributeNode actual) {
13811 // if (actual.parent is! XmlTagNode) {
13812 // _errors.add("Expected ${actual.runtimeType.toString()} to have parent o f type ${XmlTagNode.toString()}");
13813 // }
13814 // String actualName = actual.name;
13815 // String actualValue = actual.valueToken.lexeme;
13816 // if (_expectedAttributeIndex < _expectedAttributeKeyValuePairs.length) {
13817 // String expectedName = _expectedAttributeKeyValuePairs[_expectedAttribut eIndex];
13818 // if (expectedName != actualName) {
13819 // _errors.add("Expected ${(_expectedTagsIndex - 1)} tag: ${_expectedTag sInOrderVisited[_expectedTagsIndex - 1]._tag} attribute ${(_expectedAttributeInd ex ~/ 2)} to have name: ${expectedName} but found: ${actualName}");
13820 // }
13821 // String expectedValue = _expectedAttributeKeyValuePairs[_expectedAttribu teIndex + 1];
13822 // if (expectedValue != actualValue) {
13823 // _errors.add("Expected ${(_expectedTagsIndex - 1)} tag: ${_expectedTag sInOrderVisited[_expectedTagsIndex - 1]._tag} attribute ${(_expectedAttributeInd ex ~/ 2)} to have value: ${expectedValue} but found: ${actualValue}");
13824 // }
13825 // } else {
13826 // _errors.add("Unexpected ${(_expectedTagsIndex - 1)} tag: ${_expectedTag sInOrderVisited[_expectedTagsIndex - 1]._tag} attribute ${(_expectedAttributeInd ex ~/ 2)} name: ${actualName} value: ${actualValue}");
13827 // }
13828 // _expectedAttributeIndex += 2;
13829 // _validateNode(actual);
13830 // return super.visitXmlAttributeNode(actual);
13831 // }
13832 // @override
13833 // Object visitXmlTagNode(XmlTagNode actual) {
13834 // if (!(actual.parent is HtmlUnit || actual.parent is XmlTagNode)) {
13835 // _errors.add("Expected ${actual.runtimeType.toString()} to have parent o f type ${HtmlUnit.toString()} or ${XmlTagNode.toString()}");
13836 // }
13837 // if (_expectedTagsInOrderVisited != null) {
13838 // String actualTag = actual.tag;
13839 // if (_expectedTagsIndex < _expectedTagsInOrderVisited.length) {
13840 // XmlValidator_Tag expected = _expectedTagsInOrderVisited[_expectedTags Index];
13841 // if (expected._tag != actualTag) {
13842 // _errors.add("Expected ${_expectedTagsIndex} tag: ${expected._tag} b ut found: ${actualTag}");
13843 // }
13844 // _expectedAttributeKeyValuePairs = expected._attributes._keyValuePairs ;
13845 // int expectedAttributeCount = _expectedAttributeKeyValuePairs.length ~ / 2;
13846 // int actualAttributeCount = actual.attributes.length;
13847 // if (expectedAttributeCount != actualAttributeCount) {
13848 // _errors.add("Expected ${_expectedTagsIndex} tag: ${expected._tag} t o have ${expectedAttributeCount} attributes but found ${actualAttributeCount}");
13849 // }
13850 // _expectedAttributeIndex = 0;
13851 // _expectedTagsIndex++;
13852 // Assert.assertNotNull(actual.attributeEnd);
13853 // Assert.assertNotNull(actual.contentEnd);
13854 // int count = 0;
13855 // Token token = actual.attributeEnd.next;
13856 // Token lastToken = actual.contentEnd;
13857 // while (!identical(token, lastToken)) {
13858 // token = token.next;
13859 // if (++count > 1000) {
13860 // JUnitTestCase.fail("Expected ${_expectedTagsIndex} tag: ${expecte d._tag} to have a sequence of tokens from getAttributeEnd() to getContentEnd()") ;
13861 // break;
13862 // }
13863 // }
13864 // if (actual.attributeEnd.type == TokenType.GT) {
13865 // if (HtmlParser.SELF_CLOSING.contains(actual.tag)) {
13866 // Assert.assertNull(actual.closingTag);
13867 // } else {
13868 // Assert.assertNotNull(actual.closingTag);
13869 // }
13870 // } else if (actual.attributeEnd.type == TokenType.SLASH_GT) {
13871 // Assert.assertNull(actual.closingTag);
13872 // } else {
13873 // JUnitTestCase.fail("Unexpected attribute end token: ${actual.attrib uteEnd.lexeme}");
13874 // }
13875 // if (expected._content != null && expected._content != actual.content) {
13876 // _errors.add("Expected ${_expectedTagsIndex} tag: ${expected._tag} t o have content '${expected._content}' but found '${actual.content}'");
13877 // }
13878 // if (expected._children.length != actual.tagNodes.length) {
13879 // _errors.add("Expected ${_expectedTagsIndex} tag: ${expected._tag} t o have ${expected._children.length} children but found ${actual.tagNodes.length} ");
13880 // } else {
13881 // for (int index = 0; index < expected._children.length; index++) {
13882 // String expectedChildTag = expected._children[index]._tag;
13883 // String actualChildTag = actual.tagNodes[index].tag;
13884 // if (expectedChildTag != actualChildTag) {
13885 // _errors.add("Expected ${_expectedTagsIndex} tag: ${expected._ta g} child ${index} to have tag: ${expectedChildTag} but found: ${actualChildTag}" );
13886 // }
13887 // }
13888 // }
13889 // } else {
13890 // _errors.add("Visited unexpected tag: ${actualTag}");
13891 // }
13892 // }
13893 // _validateNode(actual);
13894 // return super.visitXmlTagNode(actual);
13895 // }
13896 // /**
13897 // * Append the specified tags to the array in depth first order
13898 // *
13899 // * @param expected the array to which the tags are added (not `null`)
13900 // * @param expectedTags the expected tags to be added (not `null`, contains no `null`s)
13901 // */
13902 // void _expectTags(List<XmlValidator_Tag> expected, List<XmlValidator_Tag> ex pectedTags) {
13903 // for (XmlValidator_Tag tag in expectedTags) {
13904 // expected.add(tag);
13905 // _expectTags(expected, tag._children);
13906 // }
13907 // }
13908 // void _validateNode(XmlNode node) {
13909 // if (node.beginToken == null) {
13910 // _errors.add("No begin token for ${node.runtimeType.toString()}");
13911 // }
13912 // if (node.endToken == null) {
13913 // _errors.add("No end token for ${node.runtimeType.toString()}");
13914 // }
13915 // int nodeStart = node.offset;
13916 // int nodeLength = node.length;
13917 // if (nodeStart < 0 || nodeLength < 0) {
13918 // _errors.add("No source info for ${node.runtimeType.toString()}");
13919 // }
13920 // XmlNode parent = node.parent;
13921 // if (parent != null) {
13922 // int nodeEnd = nodeStart + nodeLength;
13923 // int parentStart = parent.offset;
13924 // int parentEnd = parentStart + parent.length;
13925 // if (nodeStart < parentStart) {
13926 // _errors.add("Invalid source start (${nodeStart}) for ${node.runtimeTy pe.toString()} inside ${parent.runtimeType.toString()} (${parentStart})");
13927 // }
13928 // if (nodeEnd > parentEnd) {
13929 // _errors.add("Invalid source end (${nodeEnd}) for ${node.runtimeType.t oString()} inside ${parent.runtimeType.toString()} (${parentStart})");
13930 // }
13931 // }
13932 // }
13933 // }
13934 // class XmlValidator_Attributes {
13935 // final List<String> _keyValuePairs;
13936 // XmlValidator_Attributes(this._keyValuePairs);
13937 // }
13938 // class XmlValidator_Tag {
13939 // final String _tag;
13940 // final XmlValidator_Attributes _attributes;
13941 // final String _content;
13942 // final List<XmlValidator_Tag> _children;
13943 // XmlValidator_Tag(this._tag, this._attributes, this._content, this._children );
13944 // }
OLDNEW
« no previous file with comments | « pkg/analyzer/pubspec.yaml ('k') | pkg/analyzer/test/generated/engine_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698