| OLD | NEW |
| (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 // } |
| OLD | NEW |