| // // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| // // for details. All rights reserved. Use of this source code is governed by a |
| // // BSD-style license that can be found in the LICENSE file. |
| // // This code was auto-generated, is not intended to be edited, and is subject to |
| // // significant change. Please see the README file for more information. |
| // abstract class AbstractScannerTest extends JUnitTestCase { |
| // void test_tokenize_attribute() { |
| // _tokenize("<html bob=\"one two\">", <Object> [LT, "html", "bob", EQ, "\"one two\"", GT]); |
| // } |
| // void test_tokenize_comment() { |
| // _tokenize("<!-- foo -->", <Object> ["<!-- foo -->"]); |
| // } |
| // void test_tokenize_comment_incomplete() { |
| // _tokenize("<!-- foo", <Object> ["<!-- foo"]); |
| // } |
| // void test_tokenize_comment_with_gt() { |
| // _tokenize("<!-- foo > -> -->", <Object> ["<!-- foo > -> -->"]); |
| // } |
| // void test_tokenize_declaration() { |
| // _tokenize("<! foo ><html>", <Object> ["<! foo >", LT, "html", GT]); |
| // } |
| // void test_tokenize_declaration_malformed() { |
| // _tokenize("<! foo /><html>", <Object> ["<! foo />", LT, "html", GT]); |
| // } |
| // void test_tokenize_directive_incomplete() { |
| // _tokenize2("<? \nfoo", <Object> ["<? \nfoo"], <int> [0, 4]); |
| // } |
| // void test_tokenize_directive_xml() { |
| // _tokenize("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>", <Object> ["<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"]); |
| // } |
| // void test_tokenize_directives_incomplete_with_newline() { |
| // _tokenize2("<! \nfoo", <Object> ["<! \nfoo"], <int> [0, 4]); |
| // } |
| // void test_tokenize_empty() { |
| // _tokenize("", <Object> []); |
| // } |
| // void test_tokenize_lt() { |
| // _tokenize("<", <Object> [LT]); |
| // } |
| // void test_tokenize_script_embedded_tags() { |
| // _tokenize("<script> <p></p></script>", <Object> [LT, "script", GT, " <p></p>", LT_SLASH, "script", GT]); |
| // } |
| // void test_tokenize_script_embedded_tags2() { |
| // _tokenize("<script> <p></p><</script>", <Object> [LT, "script", GT, " <p></p><", LT_SLASH, "script", GT]); |
| // } |
| // void test_tokenize_script_embedded_tags3() { |
| // _tokenize("<script> <p></p></</script>", <Object> [LT, "script", GT, " <p></p></", LT_SLASH, "script", GT]); |
| // } |
| // void test_tokenize_script_partial() { |
| // _tokenize("<script> <p> ", <Object> [LT, "script", GT, " <p> "]); |
| // } |
| // void test_tokenize_script_partial2() { |
| // _tokenize("<script> <p> <", <Object> [LT, "script", GT, " <p> <"]); |
| // } |
| // void test_tokenize_script_partial3() { |
| // _tokenize("<script> <p> </", <Object> [LT, "script", GT, " <p> </"]); |
| // } |
| // void test_tokenize_script_ref() { |
| // _tokenize("<script source='some.dart'/> <p>", <Object> [ |
| // LT, |
| // "script", |
| // "source", |
| // EQ, |
| // "'some.dart'", |
| // SLASH_GT, |
| // " ", |
| // LT, |
| // "p", |
| // GT]); |
| // } |
| // void test_tokenize_script_with_newline() { |
| // _tokenize2("<script> <p>\n </script>", <Object> [LT, "script", GT, " <p>\n ", LT_SLASH, "script", GT], <int> [0, 13]); |
| // } |
| // void test_tokenize_spaces_and_newlines() { |
| // Token token = _tokenize2(" < html \n bob = 'joe\n' >\n <\np > one \r\n two <!-- \rfoo --> </ p > </ html > ", <Object> [ |
| // " ", |
| // LT, |
| // "html", |
| // "bob", |
| // EQ, |
| // "'joe\n'", |
| // GT, |
| // "\n ", |
| // LT, |
| // "p", |
| // GT, |
| // " one \r\n two ", |
| // "<!-- \rfoo -->", |
| // " ", |
| // LT_SLASH, |
| // "p", |
| // GT, |
| // " ", |
| // LT_SLASH, |
| // "html", |
| // GT, |
| // " "], <int> [0, 9, 21, 25, 28, 38, 49]); |
| // token = token.next; |
| // JUnitTestCase.assertEquals(1, token.offset); |
| // token = token.next; |
| // JUnitTestCase.assertEquals(3, token.offset); |
| // token = token.next; |
| // JUnitTestCase.assertEquals(10, token.offset); |
| // } |
| // void test_tokenize_string() { |
| // _tokenize("<p bob=\"foo\">", <Object> [LT, "p", "bob", EQ, "\"foo\"", GT]); |
| // } |
| // void test_tokenize_string_partial() { |
| // _tokenize("<p bob=\"foo", <Object> [LT, "p", "bob", EQ, "\"foo"]); |
| // } |
| // void test_tokenize_string_single_quote() { |
| // _tokenize("<p bob='foo'>", <Object> [LT, "p", "bob", EQ, "'foo'", GT]); |
| // } |
| // void test_tokenize_string_single_quote_partial() { |
| // _tokenize("<p bob='foo", <Object> [LT, "p", "bob", EQ, "'foo"]); |
| // } |
| // void test_tokenize_tag_begin_end() { |
| // _tokenize("<html></html>", <Object> [LT, "html", GT, LT_SLASH, "html", GT]); |
| // } |
| // void test_tokenize_tag_begin_only() { |
| // Token token = _tokenize("<html>", <Object> [LT, "html", GT]); |
| // token = token.next; |
| // JUnitTestCase.assertEquals(1, token.offset); |
| // } |
| // void test_tokenize_tag_incomplete_with_special_characters() { |
| // _tokenize("<br-a_b", <Object> [LT, "br-a_b"]); |
| // } |
| // void test_tokenize_tag_self_contained() { |
| // _tokenize("<br/>", <Object> [LT, "br", SLASH_GT]); |
| // } |
| // void test_tokenize_tags_wellformed() { |
| // _tokenize("<html><p>one two</p></html>", <Object> [ |
| // LT, |
| // "html", |
| // GT, |
| // LT, |
| // "p", |
| // GT, |
| // "one two", |
| // LT_SLASH, |
| // "p", |
| // GT, |
| // LT_SLASH, |
| // "html", |
| // GT]); |
| // } |
| // AbstractScanner newScanner(String input); |
| // /** |
| // * Given an object representing an expected token, answer the expected token type. |
| // * |
| // * @param count the token count for error reporting |
| // * @param expected the object representing an expected token |
| // * @return the expected token type |
| // */ |
| // TokenType _getExpectedTokenType(int count, Object expected) { |
| // if (expected is TokenType) { |
| // return expected as TokenType; |
| // } |
| // if (expected is String) { |
| // String lexeme = expected as String; |
| // if (lexeme.startsWith("\"") || lexeme.startsWith("'")) { |
| // return TokenType.STRING; |
| // } |
| // if (lexeme.startsWith("<!--")) { |
| // return TokenType.COMMENT; |
| // } |
| // if (lexeme.startsWith("<!")) { |
| // return TokenType.DECLARATION; |
| // } |
| // if (lexeme.startsWith("<?")) { |
| // return TokenType.DIRECTIVE; |
| // } |
| // if (_isTag(lexeme)) { |
| // return TokenType.TAG; |
| // } |
| // return TokenType.TEXT; |
| // } |
| // JUnitTestCase.fail("Unknown expected token ${count}: ${(expected != null ? expected.runtimeType : "null")}"); |
| // return null; |
| // } |
| // bool _isTag(String lexeme) { |
| // if (lexeme.length == 0 || !Character.isLetter(lexeme.codeUnitAt(0))) { |
| // return false; |
| // } |
| // for (int index = 1; index < lexeme.length; index++) { |
| // int ch = lexeme.codeUnitAt(index); |
| // if (!Character.isLetterOrDigit(ch) && ch != 0x2D && ch != 0x5F) { |
| // return false; |
| // } |
| // } |
| // return true; |
| // } |
| // Token _tokenize(String input, List<Object> expectedTokens) => _tokenize2(input, expectedTokens, <int> [0]); |
| // Token _tokenize2(String input, List<Object> expectedTokens, List<int> expectedLineStarts) { |
| // AbstractScanner scanner = newScanner(input); |
| // scanner.passThroughElements = <String> ["script"]; |
| // int count = 0; |
| // Token firstToken = scanner.tokenize(); |
| // Token token = firstToken; |
| // Token previousToken = token.previous; |
| // JUnitTestCase.assertTrue(previousToken.type == TokenType.EOF); |
| // JUnitTestCase.assertSame(previousToken, previousToken.previous); |
| // JUnitTestCase.assertEquals(-1, previousToken.offset); |
| // JUnitTestCase.assertSame(token, previousToken.next); |
| // JUnitTestCase.assertEquals(0, token.offset); |
| // while (token.type != TokenType.EOF) { |
| // if (count == expectedTokens.length) { |
| // JUnitTestCase.fail("too many parsed tokens"); |
| // } |
| // Object expected = expectedTokens[count]; |
| // TokenType expectedTokenType = _getExpectedTokenType(count, expected); |
| // JUnitTestCase.assertSameMsg("token ${count}", expectedTokenType, token.type); |
| // if (expectedTokenType.lexeme != null) { |
| // JUnitTestCase.assertEqualsMsg("token ${count}", expectedTokenType.lexeme, token.lexeme); |
| // } else { |
| // JUnitTestCase.assertEqualsMsg("token ${count}", expected, token.lexeme); |
| // } |
| // count++; |
| // previousToken = token; |
| // token = token.next; |
| // JUnitTestCase.assertSame(previousToken, token.previous); |
| // } |
| // JUnitTestCase.assertSame(token, token.next); |
| // JUnitTestCase.assertEquals(input.length, token.offset); |
| // if (count != expectedTokens.length) { |
| // JUnitTestCase.assertTrueMsg("not enough parsed tokens", false); |
| // } |
| // List<int> lineStarts = scanner.lineStarts; |
| // bool success = expectedLineStarts.length == lineStarts.length; |
| // if (success) { |
| // for (int i = 0; i < lineStarts.length; i++) { |
| // if (expectedLineStarts[i] != lineStarts[i]) { |
| // success = false; |
| // break; |
| // } |
| // } |
| // } |
| // if (!success) { |
| // JavaStringBuilder msg = new JavaStringBuilder(); |
| // msg.append("Expected line starts "); |
| // for (int start in expectedLineStarts) { |
| // msg.append(start); |
| // msg.append(", "); |
| // } |
| // msg.append(" but found "); |
| // for (int start in lineStarts) { |
| // msg.append(start); |
| // msg.append(", "); |
| // } |
| // JUnitTestCase.fail(msg.toString()); |
| // } |
| // return firstToken; |
| // } |
| // } |
| // class AngularCompilationUnitBuilderTest extends AngularTest { |
| // static AngularElement getAngularElement(Element element, Type angularElementType) { |
| // List<ToolkitObjectElement> toolkitObjects = null; |
| // if (element is ClassElement) { |
| // ClassElement classElement = element as ClassElement; |
| // toolkitObjects = classElement.toolkitObjects; |
| // } |
| // if (element is LocalVariableElement) { |
| // LocalVariableElement variableElement = element as LocalVariableElement; |
| // toolkitObjects = variableElement.toolkitObjects; |
| // } |
| // if (toolkitObjects != null) { |
| // for (ToolkitObjectElement toolkitObject in toolkitObjects) { |
| // if (isInstanceOf(toolkitObject, angularElementType)) { |
| // return toolkitObject as AngularElement; |
| // } |
| // } |
| // } |
| // return null; |
| // } |
| // static void _assertHasAttributeSelector(AngularSelectorElement selector, String name) { |
| // EngineTestCase.assertInstanceOf((obj) => obj is HasAttributeSelectorElementImpl, HasAttributeSelectorElementImpl, selector); |
| // JUnitTestCase.assertEquals(name, (selector as HasAttributeSelectorElementImpl).name); |
| // } |
| // static void _assertIsTagSelector(AngularSelectorElement selector, String name) { |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularTagSelectorElementImpl, AngularTagSelectorElementImpl, selector); |
| // JUnitTestCase.assertEquals(name, (selector as AngularTagSelectorElementImpl).name); |
| // } |
| // static String _createAngularSource(List<String> lines) { |
| // String source = "import 'angular.dart';\n"; |
| // source += EngineTestCase.createSource(lines); |
| // return source; |
| // } |
| // void test_bad_notConstructorAnnotation() { |
| // String mainContent = EngineTestCase.createSource([ |
| // "const MY_ANNOTATION = null;", |
| // "@MY_ANNOTATION()", |
| // "class MyFilter {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // prepare AngularFilterElement |
| // ClassElement classElement = mainUnitElement.getType("MyFilter"); |
| // AngularFormatterElement filter = getAngularElement(classElement, AngularFormatterElement); |
| // JUnitTestCase.assertNull(filter); |
| // } |
| // void test_Decorator() { |
| // String mainContent = _createAngularSource([ |
| // "@Decorator(selector: '[my-dir]',", |
| // " map: const {", |
| // " 'my-dir' : '=>myPropA',", |
| // " '.' : '&myPropB',", |
| // " })", |
| // "class MyDirective {", |
| // " set myPropA(value) {}", |
| // " set myPropB(value) {}", |
| // " @NgTwoWay('my-prop-c')", |
| // " String myPropC;", |
| // "}"]); |
| // resolveMainSourceNoErrors(mainContent); |
| // // prepare AngularDirectiveElement |
| // ClassElement classElement = mainUnitElement.getType("MyDirective"); |
| // AngularDecoratorElement directive = getAngularElement(classElement, AngularDecoratorElement); |
| // JUnitTestCase.assertNotNull(directive); |
| // // verify |
| // JUnitTestCase.assertEquals(null, directive.name); |
| // JUnitTestCase.assertEquals(-1, directive.nameOffset); |
| // _assertHasAttributeSelector(directive.selector, "my-dir"); |
| // // verify properties |
| // List<AngularPropertyElement> properties = directive.properties; |
| // EngineTestCase.assertLength(3, properties); |
| // _assertProperty(properties[0], "my-dir", findMainOffset("my-dir' :"), AngularPropertyKind.ONE_WAY, "myPropA", findMainOffset("myPropA'")); |
| // _assertProperty(properties[1], ".", findMainOffset(".' :"), AngularPropertyKind.CALLBACK, "myPropB", findMainOffset("myPropB'")); |
| // _assertProperty(properties[2], "my-prop-c", findMainOffset("my-prop-c'"), AngularPropertyKind.TWO_WAY, "myPropC", -1); |
| // } |
| // void test_Decorator_bad_cannotParseSelector() { |
| // String mainContent = _createAngularSource([ |
| // "@Decorator(selector: '~bad-selector',", |
| // " map: const {", |
| // " 'my-dir' : '=>myPropA',", |
| // " '.' : '&myPropB',", |
| // " })", |
| // "class MyDirective {", |
| // " set myPropA(value) {}", |
| // " set myPropB(value) {}", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.CANNOT_PARSE_SELECTOR]); |
| // } |
| // void test_Decorator_bad_missingSelector() { |
| // String mainContent = _createAngularSource([ |
| // "@Decorator(/*selector: '[my-dir]',*/", |
| // " map: const {", |
| // " 'my-dir' : '=>myPropA',", |
| // " '.' : '&myPropB',", |
| // " })", |
| // "class MyDirective {", |
| // " set myPropA(value) {}", |
| // " set myPropB(value) {}", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.MISSING_SELECTOR]); |
| // } |
| // void test_Formatter() { |
| // String mainContent = _createAngularSource([ |
| // "@Formatter(name: 'myFilter')", |
| // "class MyFilter {", |
| // " call(p1, p2) {}", |
| // "}"]); |
| // resolveMainSourceNoErrors(mainContent); |
| // // prepare AngularFilterElement |
| // ClassElement classElement = mainUnitElement.getType("MyFilter"); |
| // AngularFormatterElement filter = getAngularElement(classElement, AngularFormatterElement); |
| // JUnitTestCase.assertNotNull(filter); |
| // // verify |
| // JUnitTestCase.assertEquals("myFilter", filter.name); |
| // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "myFilter'"), filter.nameOffset); |
| // } |
| // void test_Formatter_missingName() { |
| // String mainContent = _createAngularSource([ |
| // "@Formatter()", |
| // "class MyFilter {", |
| // " call(p1, p2) {}", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.MISSING_NAME]); |
| // // no filter |
| // ClassElement classElement = mainUnitElement.getType("MyFilter"); |
| // AngularFormatterElement filter = getAngularElement(classElement, AngularFormatterElement); |
| // JUnitTestCase.assertNull(filter); |
| // } |
| // void test_getElement_component_name() { |
| // resolveMainSource(_createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css')", |
| // "class MyComponent {}"])); |
| // SimpleStringLiteral node = _findMainNode("ctrl'", SimpleStringLiteral); |
| // int offset = node.offset; |
| // // find AngularComponentElement |
| // Element element = AngularCompilationUnitBuilder.getElement(node, offset); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularComponentElement, AngularComponentElement, element); |
| // } |
| // void test_getElement_component_property_fromFieldAnnotation() { |
| // resolveMainSource(_createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css')", |
| // "class MyComponent {", |
| // " @NgOneWay('prop')", |
| // " var field;", |
| // "}"])); |
| // // prepare node |
| // SimpleStringLiteral node = _findMainNode("prop'", SimpleStringLiteral); |
| // int offset = node.offset; |
| // // prepare Element |
| // Element element = AngularCompilationUnitBuilder.getElement(node, offset); |
| // JUnitTestCase.assertNotNull(element); |
| // // check AngularPropertyElement |
| // AngularPropertyElement property = element as AngularPropertyElement; |
| // JUnitTestCase.assertEquals("prop", property.name); |
| // } |
| // void test_getElement_component_property_fromMap() { |
| // resolveMainSource(_createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " map: const {", |
| // " 'prop' : '@field',", |
| // " })", |
| // "class MyComponent {", |
| // " var field;", |
| // "}"])); |
| // // AngularPropertyElement |
| // { |
| // SimpleStringLiteral node = _findMainNode("prop'", SimpleStringLiteral); |
| // int offset = node.offset; |
| // // prepare Element |
| // Element element = AngularCompilationUnitBuilder.getElement(node, offset); |
| // JUnitTestCase.assertNotNull(element); |
| // // check AngularPropertyElement |
| // AngularPropertyElement property = element as AngularPropertyElement; |
| // JUnitTestCase.assertEquals("prop", property.name); |
| // } |
| // // FieldElement |
| // { |
| // SimpleStringLiteral node = _findMainNode("@field'", SimpleStringLiteral); |
| // int offset = node.offset; |
| // // prepare Element |
| // Element element = AngularCompilationUnitBuilder.getElement(node, offset); |
| // JUnitTestCase.assertNotNull(element); |
| // // check FieldElement |
| // FieldElement field = element as FieldElement; |
| // JUnitTestCase.assertEquals("field", field.name); |
| // } |
| // } |
| // void test_getElement_component_selector() { |
| // resolveMainSource(_createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css')", |
| // "class MyComponent {}"])); |
| // SimpleStringLiteral node = _findMainNode("myComp'", SimpleStringLiteral); |
| // int offset = node.offset; |
| // // find AngularSelectorElement |
| // Element element = AngularCompilationUnitBuilder.getElement(node, offset); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularSelectorElement, AngularSelectorElement, element); |
| // } |
| // void test_getElement_controller_name() { |
| // resolveMainSource(_createAngularSource([ |
| // "@Controller(publishAs: 'ctrl', selector: '[myApp]')", |
| // "class MyController {", |
| // "}"])); |
| // SimpleStringLiteral node = _findMainNode("ctrl'", SimpleStringLiteral); |
| // int offset = node.offset; |
| // // find AngularControllerElement |
| // Element element = AngularCompilationUnitBuilder.getElement(node, offset); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularControllerElement, AngularControllerElement, element); |
| // } |
| // void test_getElement_directive_property() { |
| // resolveMainSource(_createAngularSource([ |
| // "@Decorator(selector: '[my-dir]',", |
| // " map: const {", |
| // " 'my-dir' : '=>field'", |
| // " })", |
| // "class MyDirective {", |
| // " set field(value) {}", |
| // "}"])); |
| // // prepare node |
| // SimpleStringLiteral node = _findMainNode("my-dir'", SimpleStringLiteral); |
| // int offset = node.offset; |
| // // prepare Element |
| // Element element = AngularCompilationUnitBuilder.getElement(node, offset); |
| // JUnitTestCase.assertNotNull(element); |
| // // check AngularPropertyElement |
| // AngularPropertyElement property = element as AngularPropertyElement; |
| // JUnitTestCase.assertEquals("my-dir", property.name); |
| // } |
| // void test_getElement_directive_selector() { |
| // resolveMainSource(_createAngularSource([ |
| // "@Decorator(selector: '[my-dir]')", |
| // "class MyDirective {}"])); |
| // SimpleStringLiteral node = _findMainNode("my-dir]'", SimpleStringLiteral); |
| // int offset = node.offset; |
| // // find AngularSelectorElement |
| // Element element = AngularCompilationUnitBuilder.getElement(node, offset); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularSelectorElement, AngularSelectorElement, element); |
| // } |
| // void test_getElement_filter_name() { |
| // resolveMainSource(_createAngularSource([ |
| // "@Formatter(name: 'myFilter')", |
| // "class MyFilter {", |
| // " call(p1, p2) {}", |
| // "}"])); |
| // SimpleStringLiteral node = _findMainNode("myFilter'", SimpleStringLiteral); |
| // int offset = node.offset; |
| // // find FilterElement |
| // Element element = AngularCompilationUnitBuilder.getElement(node, offset); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, element); |
| // } |
| // void test_getElement_noClassDeclaration() { |
| // resolveMainSource("var foo = 'bar';"); |
| // SimpleStringLiteral node = _findMainNode("bar'", SimpleStringLiteral); |
| // Element element = AngularCompilationUnitBuilder.getElement(node, 0); |
| // JUnitTestCase.assertNull(element); |
| // } |
| // void test_getElement_noClassElement() { |
| // resolveMainSource(EngineTestCase.createSource([ |
| // "class A {", |
| // " const A(p);", |
| // "}", |
| // "", |
| // "@A('bar')", |
| // "class B {}"])); |
| // SimpleStringLiteral node = _findMainNode("bar'", SimpleStringLiteral); |
| // // reset B element |
| // node.getAncestor((node) => node is ClassDeclaration).name.staticElement = null; |
| // // class is not resolved - no element |
| // Element element = AngularCompilationUnitBuilder.getElement(node, 0); |
| // JUnitTestCase.assertNull(element); |
| // } |
| // void test_getElement_noNode() { |
| // Element element = AngularCompilationUnitBuilder.getElement(null, 0); |
| // JUnitTestCase.assertNull(element); |
| // } |
| // void test_getElement_notFound() { |
| // resolveMainSource(EngineTestCase.createSource(["class MyComponent {", " var str = 'some string';", "}"])); |
| // // prepare node |
| // SimpleStringLiteral node = _findMainNode("some string'", SimpleStringLiteral); |
| // int offset = node.offset; |
| // // no Element |
| // Element element = AngularCompilationUnitBuilder.getElement(node, offset); |
| // JUnitTestCase.assertNull(element); |
| // } |
| // void test_getElement_SimpleStringLiteral_withToolkitElement() { |
| // SimpleStringLiteral literal = AstFactory.string2("foo"); |
| // Element element = new AngularScopePropertyElementImpl("foo", 0, null); |
| // literal.toolkitElement = element; |
| // JUnitTestCase.assertSame(element, AngularCompilationUnitBuilder.getElement(literal, -1)); |
| // } |
| // void test_NgComponent_bad_cannotParseSelector() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: '~myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css')", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.CANNOT_PARSE_SELECTOR]); |
| // } |
| // void test_NgComponent_bad_missingSelector() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(publishAs: 'ctrl', /*selector: 'myComp',*/", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css')", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.MISSING_SELECTOR]); |
| // } |
| // /** |
| // * |
| // * https://code.google.com/p/dart/issues/detail?id=16346 |
| // */ |
| // void test_NgComponent_bad_notHtmlTemplate() { |
| // contextHelper.addSource("/my_template", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // addMainSource(_createAngularSource([ |
| // "@NgComponent(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template', cssUrl: 'my_styles.css')", |
| // "class MyComponent {", |
| // "}"])); |
| // contextHelper.runTasks(); |
| // } |
| // void test_NgComponent_bad_properties_invalidBinding() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " map: const {'name' : '?field'})", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.INVALID_PROPERTY_KIND]); |
| // } |
| // void test_NgComponent_bad_properties_nameNotStringLiteral() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " map: const {null : 'field'})", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.INVALID_PROPERTY_NAME]); |
| // } |
| // void test_NgComponent_bad_properties_noSuchField() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " map: const {'name' : '=>field'})", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.INVALID_PROPERTY_FIELD]); |
| // } |
| // void test_NgComponent_bad_properties_notMapLiteral() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " map: null)", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.INVALID_PROPERTY_MAP]); |
| // } |
| // void test_NgComponent_bad_properties_specNotStringLiteral() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " map: const {'name' : null})", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.INVALID_PROPERTY_SPEC]); |
| // } |
| // void test_NgComponent_no_cssUrl() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html'/*, cssUrl: 'my_styles.css'*/)", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // prepare AngularComponentElement |
| // ClassElement classElement = mainUnitElement.getType("MyComponent"); |
| // AngularComponentElement component = getAngularElement(classElement, AngularComponentElement); |
| // JUnitTestCase.assertNotNull(component); |
| // // no CSS |
| // JUnitTestCase.assertEquals(null, component.styleUri); |
| // JUnitTestCase.assertEquals(-1, component.styleUriOffset); |
| // } |
| // void test_NgComponent_no_publishAs() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(/*publishAs: 'ctrl',*/ selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css')", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // prepare AngularComponentElement |
| // ClassElement classElement = mainUnitElement.getType("MyComponent"); |
| // AngularComponentElement component = getAngularElement(classElement, AngularComponentElement); |
| // JUnitTestCase.assertNotNull(component); |
| // // no name |
| // JUnitTestCase.assertEquals(null, component.name); |
| // JUnitTestCase.assertEquals(-1, component.nameOffset); |
| // } |
| // void test_NgComponent_no_templateUrl() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " /*templateUrl: 'my_template.html',*/ cssUrl: 'my_styles.css')", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // prepare AngularComponentElement |
| // ClassElement classElement = mainUnitElement.getType("MyComponent"); |
| // AngularComponentElement component = getAngularElement(classElement, AngularComponentElement); |
| // JUnitTestCase.assertNotNull(component); |
| // // no template |
| // JUnitTestCase.assertEquals(null, component.templateUri); |
| // JUnitTestCase.assertEquals(null, component.templateSource); |
| // JUnitTestCase.assertEquals(-1, component.templateUriOffset); |
| // } |
| // /** |
| // * |
| // * https://code.google.com/p/dart/issues/detail?id=19023 |
| // */ |
| // void test_NgComponent_notAngular() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = EngineTestCase.createSource([ |
| // "class Component {", |
| // " const Component(a, b);", |
| // "}", |
| // "", |
| // "@Component('foo', 42)", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // assertNoMainErrors(); |
| // } |
| // void test_NgComponent_properties_fieldFromSuper() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // resolveMainSourceNoErrors(_createAngularSource([ |
| // "class MySuper {", |
| // " var myPropA;", |
| // "}", |
| // "", |
| // "", |
| // "", |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " map: const {", |
| // " 'prop-a' : '@myPropA'", |
| // " })", |
| // "class MyComponent extends MySuper {", |
| // "}"])); |
| // // prepare AngularComponentElement |
| // ClassElement classElement = mainUnitElement.getType("MyComponent"); |
| // AngularComponentElement component = getAngularElement(classElement, AngularComponentElement); |
| // JUnitTestCase.assertNotNull(component); |
| // // verify |
| // List<AngularPropertyElement> properties = component.properties; |
| // EngineTestCase.assertLength(1, properties); |
| // _assertProperty(properties[0], "prop-a", findMainOffset("prop-a' :"), AngularPropertyKind.ATTR, "myPropA", findMainOffset("myPropA'")); |
| // } |
| // void test_NgComponent_properties_fromFields() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // resolveMainSourceNoErrors(_createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css')", |
| // "class MyComponent {", |
| // " @NgAttr('prop-a')", |
| // " var myPropA;", |
| // " @NgCallback('prop-b')", |
| // " var myPropB;", |
| // " @NgOneWay('prop-c')", |
| // " var myPropC;", |
| // " @NgOneWayOneTime('prop-d')", |
| // " var myPropD;", |
| // " @NgTwoWay('prop-e')", |
| // " var myPropE;", |
| // "}"])); |
| // // prepare AngularComponentElement |
| // ClassElement classElement = mainUnitElement.getType("MyComponent"); |
| // AngularComponentElement component = getAngularElement(classElement, AngularComponentElement); |
| // JUnitTestCase.assertNotNull(component); |
| // // verify |
| // List<AngularPropertyElement> properties = component.properties; |
| // EngineTestCase.assertLength(5, properties); |
| // _assertProperty(properties[0], "prop-a", findMainOffset("prop-a')"), AngularPropertyKind.ATTR, "myPropA", -1); |
| // _assertProperty(properties[1], "prop-b", findMainOffset("prop-b')"), AngularPropertyKind.CALLBACK, "myPropB", -1); |
| // _assertProperty(properties[2], "prop-c", findMainOffset("prop-c')"), AngularPropertyKind.ONE_WAY, "myPropC", -1); |
| // _assertProperty(properties[3], "prop-d", findMainOffset("prop-d')"), AngularPropertyKind.ONE_WAY_ONE_TIME, "myPropD", -1); |
| // _assertProperty(properties[4], "prop-e", findMainOffset("prop-e')"), AngularPropertyKind.TWO_WAY, "myPropE", -1); |
| // } |
| // void test_NgComponent_properties_fromMap() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // resolveMainSourceNoErrors(_createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " map: const {", |
| // " 'prop-a' : '@myPropA',", |
| // " 'prop-b' : '&myPropB',", |
| // " 'prop-c' : '=>myPropC',", |
| // " 'prop-d' : '=>!myPropD',", |
| // " 'prop-e' : '<=>myPropE'", |
| // " })", |
| // "class MyComponent {", |
| // " var myPropA;", |
| // " var myPropB;", |
| // " var myPropC;", |
| // " var myPropD;", |
| // " var myPropE;", |
| // "}"])); |
| // // prepare AngularComponentElement |
| // ClassElement classElement = mainUnitElement.getType("MyComponent"); |
| // AngularComponentElement component = getAngularElement(classElement, AngularComponentElement); |
| // JUnitTestCase.assertNotNull(component); |
| // // verify |
| // List<AngularPropertyElement> properties = component.properties; |
| // EngineTestCase.assertLength(5, properties); |
| // _assertProperty(properties[0], "prop-a", findMainOffset("prop-a' :"), AngularPropertyKind.ATTR, "myPropA", findMainOffset("myPropA'")); |
| // _assertProperty(properties[1], "prop-b", findMainOffset("prop-b' :"), AngularPropertyKind.CALLBACK, "myPropB", findMainOffset("myPropB'")); |
| // _assertProperty(properties[2], "prop-c", findMainOffset("prop-c' :"), AngularPropertyKind.ONE_WAY, "myPropC", findMainOffset("myPropC'")); |
| // _assertProperty(properties[3], "prop-d", findMainOffset("prop-d' :"), AngularPropertyKind.ONE_WAY_ONE_TIME, "myPropD", findMainOffset("myPropD'")); |
| // _assertProperty(properties[4], "prop-e", findMainOffset("prop-e' :"), AngularPropertyKind.TWO_WAY, "myPropE", findMainOffset("myPropE'")); |
| // } |
| // void test_NgComponent_properties_no() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css')", |
| // "class MyComponent {", |
| // "}"]); |
| // resolveMainSourceNoErrors(mainContent); |
| // // prepare AngularComponentElement |
| // ClassElement classElement = mainUnitElement.getType("MyComponent"); |
| // AngularComponentElement component = getAngularElement(classElement, AngularComponentElement); |
| // JUnitTestCase.assertNotNull(component); |
| // // verify |
| // JUnitTestCase.assertEquals("ctrl", component.name); |
| // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "ctrl'"), component.nameOffset); |
| // _assertIsTagSelector(component.selector, "myComp"); |
| // JUnitTestCase.assertEquals("my_template.html", component.templateUri); |
| // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "my_template.html'"), component.templateUriOffset); |
| // JUnitTestCase.assertEquals("my_styles.css", component.styleUri); |
| // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "my_styles.css'"), component.styleUriOffset); |
| // EngineTestCase.assertLength(0, component.properties); |
| // } |
| // void test_NgComponent_scopeProperties() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // String mainContent = _createAngularSource([ |
| // "@Component(publishAs: 'ctrl', selector: 'myComp',", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css')", |
| // "class MyComponent {", |
| // " MyComponent(Scope scope) {", |
| // " scope.context['boolProp'] = true;", |
| // " scope.context['intProp'] = 42;", |
| // " scope.context['stringProp'] = 'foo';", |
| // " // duplicate is ignored", |
| // " scope.context['boolProp'] = true;", |
| // " // LHS is not an IndexExpression", |
| // " var v1;", |
| // " v1 = 1;", |
| // " // LHS is not a Scope access", |
| // " var v2;", |
| // " v2['name'] = 2;", |
| // " }", |
| // "}"]); |
| // resolveMainSourceNoErrors(mainContent); |
| // // prepare AngularComponentElement |
| // ClassElement classElement = mainUnitElement.getType("MyComponent"); |
| // AngularComponentElement component = getAngularElement(classElement, AngularComponentElement); |
| // JUnitTestCase.assertNotNull(component); |
| // // verify |
| // List<AngularScopePropertyElement> scopeProperties = component.scopeProperties; |
| // EngineTestCase.assertLength(3, scopeProperties); |
| // { |
| // AngularScopePropertyElement property = scopeProperties[0]; |
| // JUnitTestCase.assertSame(property, findMainElement2("boolProp")); |
| // JUnitTestCase.assertEquals("boolProp", property.name); |
| // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "boolProp'"), property.nameOffset); |
| // JUnitTestCase.assertEquals("bool", property.type.name); |
| // } |
| // { |
| // AngularScopePropertyElement property = scopeProperties[1]; |
| // JUnitTestCase.assertSame(property, findMainElement2("intProp")); |
| // JUnitTestCase.assertEquals("intProp", property.name); |
| // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "intProp'"), property.nameOffset); |
| // JUnitTestCase.assertEquals("int", property.type.name); |
| // } |
| // { |
| // AngularScopePropertyElement property = scopeProperties[2]; |
| // JUnitTestCase.assertSame(property, findMainElement2("stringProp")); |
| // JUnitTestCase.assertEquals("stringProp", property.name); |
| // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "stringProp'"), property.nameOffset); |
| // JUnitTestCase.assertEquals("String", property.type.name); |
| // } |
| // } |
| // void test_NgController() { |
| // String mainContent = _createAngularSource([ |
| // "@Controller(publishAs: 'ctrl', selector: '[myApp]')", |
| // "class MyController {", |
| // "}"]); |
| // resolveMainSourceNoErrors(mainContent); |
| // // prepare AngularControllerElement |
| // ClassElement classElement = mainUnitElement.getType("MyController"); |
| // AngularControllerElement controller = getAngularElement(classElement, AngularControllerElement); |
| // JUnitTestCase.assertNotNull(controller); |
| // // verify |
| // JUnitTestCase.assertEquals("ctrl", controller.name); |
| // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "ctrl'"), controller.nameOffset); |
| // _assertHasAttributeSelector(controller.selector, "myApp"); |
| // } |
| // void test_NgController_cannotParseSelector() { |
| // String mainContent = _createAngularSource([ |
| // "@Controller(publishAs: 'ctrl', selector: '~unknown')", |
| // "class MyController {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.CANNOT_PARSE_SELECTOR]); |
| // } |
| // void test_NgController_missingPublishAs() { |
| // String mainContent = _createAngularSource([ |
| // "@Controller(selector: '[myApp]')", |
| // "class MyController {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.MISSING_PUBLISH_AS]); |
| // } |
| // void test_NgController_missingSelector() { |
| // String mainContent = _createAngularSource([ |
| // "@Controller(publishAs: 'ctrl')", |
| // "class MyController {", |
| // "}"]); |
| // resolveMainSource(mainContent); |
| // // has error |
| // assertMainErrors([AngularCode.MISSING_SELECTOR]); |
| // } |
| // void test_NgController_noAnnotationArguments() { |
| // String mainContent = _createAngularSource(["@NgController", "class MyController {", "}"]); |
| // resolveMainSource(mainContent); |
| // } |
| // void test_parseSelector_hasAttribute() { |
| // AngularSelectorElement selector = AngularCompilationUnitBuilder.parseSelector(42, "[name]"); |
| // _assertHasAttributeSelector(selector, "name"); |
| // JUnitTestCase.assertEquals(42 + 1, selector.nameOffset); |
| // } |
| // void test_parseSelector_hasClass() { |
| // AngularSelectorElement selector = AngularCompilationUnitBuilder.parseSelector(42, ".my-class"); |
| // AngularHasClassSelectorElementImpl classSelector = selector as AngularHasClassSelectorElementImpl; |
| // JUnitTestCase.assertEquals("my-class", classSelector.name); |
| // JUnitTestCase.assertEquals(".my-class", classSelector.toString()); |
| // JUnitTestCase.assertEquals(42 + 1, selector.nameOffset); |
| // // test apply() |
| // { |
| // XmlTagNode node = HtmlFactory.tagNode("div", [HtmlFactory.attribute("class", "one two")]); |
| // JUnitTestCase.assertFalse(classSelector.apply(node)); |
| // } |
| // { |
| // XmlTagNode node = HtmlFactory.tagNode("div", [HtmlFactory.attribute("class", "one my-class two")]); |
| // JUnitTestCase.assertTrue(classSelector.apply(node)); |
| // } |
| // } |
| // void test_parseSelector_isTag() { |
| // AngularSelectorElement selector = AngularCompilationUnitBuilder.parseSelector(42, "name"); |
| // _assertIsTagSelector(selector, "name"); |
| // JUnitTestCase.assertEquals(42, selector.nameOffset); |
| // } |
| // void test_parseSelector_isTag_hasAttribute() { |
| // AngularSelectorElement selector = AngularCompilationUnitBuilder.parseSelector(42, "tag[attr]"); |
| // EngineTestCase.assertInstanceOf((obj) => obj is IsTagHasAttributeSelectorElementImpl, IsTagHasAttributeSelectorElementImpl, selector); |
| // JUnitTestCase.assertEquals("tag[attr]", selector.name); |
| // JUnitTestCase.assertEquals(-1, selector.nameOffset); |
| // JUnitTestCase.assertEquals("tag", (selector as IsTagHasAttributeSelectorElementImpl).tagName); |
| // JUnitTestCase.assertEquals("attr", (selector as IsTagHasAttributeSelectorElementImpl).attributeName); |
| // } |
| // void test_parseSelector_unknown() { |
| // AngularSelectorElement selector = AngularCompilationUnitBuilder.parseSelector(0, "~unknown"); |
| // JUnitTestCase.assertNull(selector); |
| // } |
| // void test_view() { |
| // contextHelper.addSource("/wrong.html", ""); |
| // contextHelper.addSource("/my_templateA.html", ""); |
| // contextHelper.addSource("/my_templateB.html", ""); |
| // String mainContent = _createAngularSource([ |
| // "class MyRouteInitializer {", |
| // " init(ViewFactory view, foo) {", |
| // " foo.view('wrong.html'); // has target", |
| // " foo(); // less than one argument", |
| // " foo('wrong.html', 'bar'); // more than one argument", |
| // " foo('wrong' + '.html'); // not literal", |
| // " foo('wrong.html'); // not ViewFactory", |
| // " view('my_templateA.html');", |
| // " view('my_templateB.html');", |
| // " }", |
| // "}"]); |
| // resolveMainSourceNoErrors(mainContent); |
| // // prepare AngularViewElement(s) |
| // List<AngularViewElement> views = mainUnitElement.angularViews; |
| // EngineTestCase.assertLength(2, views); |
| // { |
| // AngularViewElement view = views[0]; |
| // JUnitTestCase.assertEquals("my_templateA.html", view.templateUri); |
| // JUnitTestCase.assertEquals(null, view.name); |
| // JUnitTestCase.assertEquals(-1, view.nameOffset); |
| // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "my_templateA.html'"), view.templateUriOffset); |
| // } |
| // { |
| // AngularViewElement view = views[1]; |
| // JUnitTestCase.assertEquals("my_templateB.html", view.templateUri); |
| // JUnitTestCase.assertEquals(null, view.name); |
| // JUnitTestCase.assertEquals(-1, view.nameOffset); |
| // JUnitTestCase.assertEquals(AngularTest.findOffset(mainContent, "my_templateB.html'"), view.templateUriOffset); |
| // } |
| // } |
| // void _assertProperty(AngularPropertyElement property, String expectedName, int expectedNameOffset, AngularPropertyKind expectedKind, String expectedFieldName, int expectedFieldOffset) { |
| // JUnitTestCase.assertEquals(expectedName, property.name); |
| // JUnitTestCase.assertEquals(expectedNameOffset, property.nameOffset); |
| // JUnitTestCase.assertSame(expectedKind, property.propertyKind); |
| // JUnitTestCase.assertEquals(expectedFieldName, property.field.name); |
| // JUnitTestCase.assertEquals(expectedFieldOffset, property.fieldNameOffset); |
| // } |
| // /** |
| // * Find [AstNode] of the given type in [mainUnit]. |
| // */ |
| // AstNode _findMainNode(String search, Type clazz) => EngineTestCase.findNode(mainUnit, mainContent, search, predicate); |
| // static dartSuite() { |
| // _ut.group('AngularCompilationUnitBuilderTest', () { |
| // _ut.test('test_Decorator', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_Decorator); |
| // }); |
| // _ut.test('test_Decorator_bad_cannotParseSelector', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_Decorator_bad_cannotParseSelector); |
| // }); |
| // _ut.test('test_Decorator_bad_missingSelector', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_Decorator_bad_missingSelector); |
| // }); |
| // _ut.test('test_Formatter', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_Formatter); |
| // }); |
| // _ut.test('test_Formatter_missingName', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_Formatter_missingName); |
| // }); |
| // _ut.test('test_NgComponent_bad_cannotParseSelector', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_bad_cannotParseSelector); |
| // }); |
| // _ut.test('test_NgComponent_bad_missingSelector', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_bad_missingSelector); |
| // }); |
| // _ut.test('test_NgComponent_bad_notHtmlTemplate', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_bad_notHtmlTemplate); |
| // }); |
| // _ut.test('test_NgComponent_bad_properties_invalidBinding', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_bad_properties_invalidBinding); |
| // }); |
| // _ut.test('test_NgComponent_bad_properties_nameNotStringLiteral', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_bad_properties_nameNotStringLiteral); |
| // }); |
| // _ut.test('test_NgComponent_bad_properties_noSuchField', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_bad_properties_noSuchField); |
| // }); |
| // _ut.test('test_NgComponent_bad_properties_notMapLiteral', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_bad_properties_notMapLiteral); |
| // }); |
| // _ut.test('test_NgComponent_bad_properties_specNotStringLiteral', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_bad_properties_specNotStringLiteral); |
| // }); |
| // _ut.test('test_NgComponent_no_cssUrl', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_no_cssUrl); |
| // }); |
| // _ut.test('test_NgComponent_no_publishAs', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_no_publishAs); |
| // }); |
| // _ut.test('test_NgComponent_no_templateUrl', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_no_templateUrl); |
| // }); |
| // _ut.test('test_NgComponent_notAngular', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_notAngular); |
| // }); |
| // _ut.test('test_NgComponent_properties_fieldFromSuper', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_properties_fieldFromSuper); |
| // }); |
| // _ut.test('test_NgComponent_properties_fromFields', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_properties_fromFields); |
| // }); |
| // _ut.test('test_NgComponent_properties_fromMap', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_properties_fromMap); |
| // }); |
| // _ut.test('test_NgComponent_properties_no', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_properties_no); |
| // }); |
| // _ut.test('test_NgComponent_scopeProperties', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_scopeProperties); |
| // }); |
| // _ut.test('test_NgController', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgController); |
| // }); |
| // _ut.test('test_NgController_cannotParseSelector', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgController_cannotParseSelector); |
| // }); |
| // _ut.test('test_NgController_missingPublishAs', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgController_missingPublishAs); |
| // }); |
| // _ut.test('test_NgController_missingSelector', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgController_missingSelector); |
| // }); |
| // _ut.test('test_NgController_noAnnotationArguments', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_NgController_noAnnotationArguments); |
| // }); |
| // _ut.test('test_bad_notConstructorAnnotation', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_bad_notConstructorAnnotation); |
| // }); |
| // _ut.test('test_getElement_SimpleStringLiteral_withToolkitElement', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_SimpleStringLiteral_withToolkitElement); |
| // }); |
| // _ut.test('test_getElement_component_name', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_component_name); |
| // }); |
| // _ut.test('test_getElement_component_property_fromFieldAnnotation', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_component_property_fromFieldAnnotation); |
| // }); |
| // _ut.test('test_getElement_component_property_fromMap', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_component_property_fromMap); |
| // }); |
| // _ut.test('test_getElement_component_selector', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_component_selector); |
| // }); |
| // _ut.test('test_getElement_controller_name', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_controller_name); |
| // }); |
| // _ut.test('test_getElement_directive_property', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_directive_property); |
| // }); |
| // _ut.test('test_getElement_directive_selector', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_directive_selector); |
| // }); |
| // _ut.test('test_getElement_filter_name', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_filter_name); |
| // }); |
| // _ut.test('test_getElement_noClassDeclaration', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_noClassDeclaration); |
| // }); |
| // _ut.test('test_getElement_noClassElement', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_noClassElement); |
| // }); |
| // _ut.test('test_getElement_noNode', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_noNode); |
| // }); |
| // _ut.test('test_getElement_notFound', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_getElement_notFound); |
| // }); |
| // _ut.test('test_parseSelector_hasAttribute', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_parseSelector_hasAttribute); |
| // }); |
| // _ut.test('test_parseSelector_hasClass', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_parseSelector_hasClass); |
| // }); |
| // _ut.test('test_parseSelector_isTag', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_parseSelector_isTag); |
| // }); |
| // _ut.test('test_parseSelector_isTag_hasAttribute', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_parseSelector_isTag_hasAttribute); |
| // }); |
| // _ut.test('test_parseSelector_unknown', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_parseSelector_unknown); |
| // }); |
| // _ut.test('test_view', () { |
| // final __test = new AngularCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_view); |
| // }); |
| // }); |
| // } |
| // } |
| // class AngularDartIndexContributorTest extends AngularTest { |
| // IndexStore _store = mock(IndexStore); |
| // AngularDartIndexContributor _index = new AngularDartIndexContributor(_store); |
| // void test_component_propertyField() { |
| // contextHelper.addSource("/my_template.html", ""); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // resolveMainSourceNoErrors(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent', // selector", |
| // " map: const {", |
| // " 'propAttr' : '@field', // attr", |
| // " 'propOneWay' : '=>field', // one-way", |
| // " 'propTwoWay' : '<=>field', // two-way", |
| // " })", |
| // "class MyComponent {", |
| // " @NgOneWay('annProp')", |
| // " var field;", |
| // "}", |
| // "", |
| // "main() {", |
| // " var module = new Module();", |
| // " module.type(MyComponent);", |
| // " ngBootstrap(module: module);", |
| // "}"])); |
| // FieldElement field = findMainElement2("field"); |
| // PropertyAccessorElement getter = field.getter; |
| // PropertyAccessorElement setter = field.setter; |
| // // index |
| // mainUnit.accept(_index); |
| // List<RecordedRelation> relations = captureRecordedRelations(); |
| // // @field |
| // { |
| // ExpectedLocation location = new ExpectedLocation(findMainElement2("propAttr"), findMainOffset("field', // attr"), "field"); |
| // assertNoRecordedRelation(relations, getter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // } |
| // // =>field |
| // { |
| // ExpectedLocation location = new ExpectedLocation(findMainElement2("propOneWay"), findMainOffset("field', // one-way"), "field"); |
| // assertNoRecordedRelation(relations, getter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // } |
| // // <=>field |
| // { |
| // ExpectedLocation location = new ExpectedLocation(findMainElement2("propTwoWay"), findMainOffset("field', // two-way"), "field"); |
| // assertRecordedRelation(relations, getter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // } |
| // // @NgOneWay('annProp') is ignore - no explicit field reference |
| // { |
| // ExpectedLocation location = new ExpectedLocation(findMainElement2("annProp"), -1, "field"); |
| // assertNoRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // } |
| // } |
| // void test_directive_propertyField() { |
| // resolveMainSourceNoErrors(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Decorator(", |
| // " selector: '[my-directive]',", |
| // " map: const {", |
| // " 'propAttr' : '@field', // attr", |
| // " 'propOneWay' : '=>field', // one-way", |
| // " 'propTwoWay' : '<=>field', // two-way", |
| // " })", |
| // "class MyDirective {", |
| // " var field;", |
| // "}", |
| // "", |
| // "main() {", |
| // " var module = new Module();", |
| // " module.type(MyDirective);", |
| // " ngBootstrap(module: module);", |
| // "}"])); |
| // FieldElement field = findMainElement2("field"); |
| // PropertyAccessorElement getter = field.getter; |
| // PropertyAccessorElement setter = field.setter; |
| // // index |
| // mainUnit.accept(_index); |
| // List<RecordedRelation> relations = captureRecordedRelations(); |
| // // @field |
| // { |
| // ExpectedLocation location = new ExpectedLocation(findMainElement2("propAttr"), findMainOffset("field', // attr"), "field"); |
| // assertNoRecordedRelation(relations, getter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // } |
| // // =>field |
| // { |
| // ExpectedLocation location = new ExpectedLocation(findMainElement2("propOneWay"), findMainOffset("field', // one-way"), "field"); |
| // assertNoRecordedRelation(relations, getter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // } |
| // // <=>field |
| // { |
| // ExpectedLocation location = new ExpectedLocation(findMainElement2("propTwoWay"), findMainOffset("field', // two-way"), "field"); |
| // assertRecordedRelation(relations, getter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // assertRecordedRelation(relations, setter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, location); |
| // } |
| // } |
| // List<RecordedRelation> captureRecordedRelations() => captureRelations(_store); |
| // static dartSuite() { |
| // _ut.group('AngularDartIndexContributorTest', () { |
| // _ut.test('test_component_propertyField', () { |
| // final __test = new AngularDartIndexContributorTest(); |
| // runJUnitTest(__test, __test.test_component_propertyField); |
| // }); |
| // _ut.test('test_directive_propertyField', () { |
| // final __test = new AngularDartIndexContributorTest(); |
| // runJUnitTest(__test, __test.test_directive_propertyField); |
| // }); |
| // }); |
| // } |
| // } |
| // class AngularHtmlIndexContributorTest extends AngularTest { |
| // IndexStore _store = mock(IndexStore); |
| // AngularHtmlIndexContributor _index = new AngularHtmlIndexContributor(_store); |
| // void test_expression_inAttribute() { |
| // addMyController(); |
| // resolveIndex2(AngularTest.createHtmlWithMyController([" <button title='{{ctrl.field}}'>Remove</button>", ""])); |
| // // prepare elements |
| // Element fieldGetter = (findMainElement2("field") as FieldElement).getter; |
| // // index |
| // indexUnit.accept(_index); |
| // // verify |
| // List<RecordedRelation> relations = captureRecordedRelations(); |
| // assertRecordedRelation(relations, fieldGetter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, new ExpectedLocation(indexHtmlUnit, findOffset2("field}}"), "field")); |
| // } |
| // void test_expression_inContent() { |
| // addMyController(); |
| // resolveIndex2(AngularTest.createHtmlWithMyController([" {{ctrl.field}}", ""])); |
| // // prepare elements |
| // Element fieldGetter = (findMainElement2("field") as FieldElement).getter; |
| // // index |
| // indexUnit.accept(_index); |
| // // verify |
| // List<RecordedRelation> relations = captureRecordedRelations(); |
| // assertRecordedRelation(relations, fieldGetter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, new ExpectedLocation(indexHtmlUnit, findOffset2("field}}"), "field")); |
| // } |
| // void test_expression_ngRepeat() { |
| // addMyController(); |
| // resolveIndex2(AngularTest.createHtmlWithMyController([ |
| // " <li ng-repeat='name in ctrl.names'>", |
| // " {{name}}", |
| // " </li>", |
| // ""])); |
| // // prepare elements |
| // Element namesElement = (findMainElement2("names") as FieldElement).getter; |
| // Element nameElement = findIndexElement("name"); |
| // // index |
| // indexUnit.accept(_index); |
| // // verify |
| // List<RecordedRelation> relations = captureRecordedRelations(); |
| // assertRecordedRelation(relations, namesElement, IndexConstants.IS_REFERENCED_BY_QUALIFIED, new ExpectedLocation(indexHtmlUnit, findOffset2("names'>"), "names")); |
| // assertRecordedRelation(relations, nameElement, IndexConstants.IS_READ_BY, new ExpectedLocation(indexHtmlUnit, findOffset2("name}}"), "name")); |
| // } |
| // void test_Formatter_use() { |
| // resolveMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Formatter(name: 'myFormatter')", |
| // "class MyFormatter {", |
| // "}", |
| // "", |
| // "class Item {", |
| // " String name;", |
| // " bool done;", |
| // "}", |
| // "", |
| // "@Controller(", |
| // " selector: '[my-controller]',", |
| // " publishAs: 'ctrl')", |
| // "class MyController {", |
| // " List<Item> items;", |
| // "}"])); |
| // resolveIndex2(AngularTest.createHtmlWithMyController([ |
| // " <li ng-repeat=\"item in ctrl.items | myFormatter:true\">", |
| // " </li>", |
| // ""])); |
| // // prepare elements |
| // AngularFormatterElement filterElement = findMainElement2("myFormatter"); |
| // // index |
| // indexUnit.accept(_index); |
| // // verify |
| // List<RecordedRelation> relations = captureRecordedRelations(); |
| // assertRecordedRelation(relations, filterElement, IndexConstants.ANGULAR_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("myFormatter:true"), "myFormatter")); |
| // } |
| // void test_NgComponent_templateFile() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent')", |
| // "class MyComponent {", |
| // " String field;", |
| // "}"])); |
| // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAngular([])); |
| // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <div>", " {{ctrl.field}}", " </div>"])); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // contextHelper.runTasks(); |
| // resolveMain(); |
| // resolveIndex(); |
| // // prepare elements |
| // AngularComponentElement componentElement = findMainElement2("ctrl"); |
| // FieldElement field = findMainElement2("field"); |
| // PropertyAccessorElement fieldGetter = field.getter; |
| // // index |
| // indexUnit.accept(_index); |
| // // verify |
| // List<RecordedRelation> relations = captureRecordedRelations(); |
| // assertRecordedRelation(relations, componentElement, IndexConstants.ANGULAR_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("ctrl.field"), "ctrl")); |
| // assertRecordedRelation(relations, fieldGetter, IndexConstants.IS_REFERENCED_BY_QUALIFIED, new ExpectedLocation(indexHtmlUnit, findOffset2("field}}"), "field")); |
| // } |
| // void test_NgComponent_use() { |
| // resolveMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent', // selector", |
| // " map: const {'attrA' : '=>setA', 'attrB' : '@setB'})", |
| // "class MyComponent {", |
| // " set setA(value) {}", |
| // " set setB(value) {}", |
| // "}"])); |
| // resolveIndex2(AngularTest.createHtmlWithMyController([ |
| // "<myComponent attrA='null' attrB='str'/>", |
| // "<myComponent>abcd</myComponent> with closing tag"])); |
| // // prepare elements |
| // AngularSelectorElement selectorElement = findMainElement2("myComponent"); |
| // AngularPropertyElement attrA = findMainElement2("attrA"); |
| // AngularPropertyElement attrB = findMainElement2("attrB"); |
| // // index |
| // indexUnit.accept(_index); |
| // // verify |
| // List<RecordedRelation> relations = captureRecordedRelations(); |
| // assertRecordedRelation(relations, selectorElement, IndexConstants.ANGULAR_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("myComponent attrA='null"), "myComponent")); |
| // assertRecordedRelation(relations, attrA, IndexConstants.ANGULAR_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("attrA='null"), "attrA")); |
| // assertRecordedRelation(relations, attrB, IndexConstants.ANGULAR_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("attrB='str"), "attrB")); |
| // // with closing tag |
| // assertRecordedRelation(relations, selectorElement, IndexConstants.ANGULAR_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("myComponent>abcd"), "myComponent")); |
| // assertRecordedRelation(relations, selectorElement, IndexConstants.ANGULAR_CLOSING_TAG_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("myComponent> with closing tag"), "myComponent")); |
| // } |
| // void test_NgComponent_use_tagHasAttribute() { |
| // resolveMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent[attr]', // selector", |
| // " map: const {'attr' : '=>setAttr'})", |
| // "class MyComponent {", |
| // " set setAttr(value) {}", |
| // "}"])); |
| // resolveIndex2(AngularTest.createHtmlWithMyController(["<myComponent attr='null'/>"])); |
| // // prepare elements |
| // AngularSelectorElement selectorElement = findMainElement2("myComponent[attr]"); |
| // AngularPropertyElement attr = findMainElement2("attr"); |
| // JUnitTestCase.assertNotNull(selectorElement); |
| // JUnitTestCase.assertNotNull(attr); |
| // // index |
| // indexUnit.accept(_index); |
| // // verify |
| // List<RecordedRelation> relations = captureRecordedRelations(); |
| // assertRecordedRelation(relations, selectorElement, IndexConstants.ANGULAR_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("myComponent attr='null"), "myComponent")); |
| // assertRecordedRelation(relations, attr, IndexConstants.ANGULAR_REFERENCE, new ExpectedLocation(indexHtmlUnit, findOffset2("attr='null"), "attr")); |
| // } |
| // List<RecordedRelation> captureRecordedRelations() => captureRelations(_store); |
| // static dartSuite() { |
| // _ut.group('AngularHtmlIndexContributorTest', () { |
| // _ut.test('test_Formatter_use', () { |
| // final __test = new AngularHtmlIndexContributorTest(); |
| // runJUnitTest(__test, __test.test_Formatter_use); |
| // }); |
| // _ut.test('test_NgComponent_templateFile', () { |
| // final __test = new AngularHtmlIndexContributorTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_templateFile); |
| // }); |
| // _ut.test('test_NgComponent_use', () { |
| // final __test = new AngularHtmlIndexContributorTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_use); |
| // }); |
| // _ut.test('test_NgComponent_use_tagHasAttribute', () { |
| // final __test = new AngularHtmlIndexContributorTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_use_tagHasAttribute); |
| // }); |
| // _ut.test('test_expression_inAttribute', () { |
| // final __test = new AngularHtmlIndexContributorTest(); |
| // runJUnitTest(__test, __test.test_expression_inAttribute); |
| // }); |
| // _ut.test('test_expression_inContent', () { |
| // final __test = new AngularHtmlIndexContributorTest(); |
| // runJUnitTest(__test, __test.test_expression_inContent); |
| // }); |
| // _ut.test('test_expression_ngRepeat', () { |
| // final __test = new AngularHtmlIndexContributorTest(); |
| // runJUnitTest(__test, __test.test_expression_ngRepeat); |
| // }); |
| // }); |
| // } |
| // } |
| // class AngularHtmlUnitResolverTest extends AngularTest { |
| // void test_analysisContext_changeDart_invalidateApplication() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent')", |
| // "class MyComponent {", |
| // "}"])); |
| // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAngular([])); |
| // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <div>", " {{ctrl.noMethod()}}", " </div>"])); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // contextHelper.runTasks(); |
| // // there are some errors in my_template.html |
| // { |
| // List<AnalysisError> errors = context.getErrors(indexSource).errors; |
| // JUnitTestCase.assertTrue(errors.length != 0); |
| // } |
| // // change main.dart, there are no MyComponent anymore |
| // context.setContents(mainSource, ""); |
| // // ...errors in my_template.html should be removed |
| // { |
| // List<AnalysisError> errors = context.getErrors(indexSource).errors; |
| // JUnitTestCase.assertTrue(errors.length == 0); |
| // } |
| // } |
| // void test_analysisContext_changeEntryPoint_clearAngularErrors_inDart() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'no-such-template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent')", |
| // "class MyComponent {", |
| // "}"])); |
| // Source entrySource = contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAngular([])); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // contextHelper.runTasks(); |
| // // there are some errors in MyComponent |
| // { |
| // List<AnalysisError> errors = context.getErrors(mainSource).errors; |
| // JUnitTestCase.assertTrue(errors.length != 0); |
| // } |
| // // make entry-point.html non-Angular |
| // context.setContents(entrySource, "<html/>"); |
| // // ...errors in MyComponent should be removed |
| // { |
| // List<AnalysisError> errors = context.getErrors(mainSource).errors; |
| // JUnitTestCase.assertTrue(errors.length == 0); |
| // } |
| // } |
| // void test_analysisContext_changeEntryPoint_clearAngularErrors_inTemplate() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent')", |
| // "class MyComponent {", |
| // "}"])); |
| // Source entrySource = contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAngular([])); |
| // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <div>", " {{ctrl.noMethod()}}", " </div>"])); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // contextHelper.runTasks(); |
| // // there are some errors in my_template.html |
| // { |
| // List<AnalysisError> errors = context.getErrors(indexSource).errors; |
| // JUnitTestCase.assertTrue(errors.length != 0); |
| // } |
| // // make entry-point.html non-Angular |
| // context.setContents(entrySource, "<html/>"); |
| // // ...errors in my_template.html should be removed |
| // { |
| // List<AnalysisError> errors = context.getErrors(indexSource).errors; |
| // JUnitTestCase.assertTrue(errors.length == 0); |
| // } |
| // } |
| // void test_analysisContext_removeEntryPoint_clearAngularErrors_inDart() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'no-such-template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent')", |
| // "class MyComponent {", |
| // "}"])); |
| // Source entrySource = contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAngular([])); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // contextHelper.runTasks(); |
| // // there are some errors in MyComponent |
| // { |
| // List<AnalysisError> errors = context.getErrors(mainSource).errors; |
| // JUnitTestCase.assertTrue(errors.length != 0); |
| // } |
| // // remove entry-point.html |
| // { |
| // ChangeSet changeSet = new ChangeSet(); |
| // changeSet.removedSource(entrySource); |
| // context.applyChanges(changeSet); |
| // } |
| // // ...errors in MyComponent should be removed |
| // { |
| // List<AnalysisError> errors = context.getErrors(mainSource).errors; |
| // JUnitTestCase.assertTrue(errors.length == 0); |
| // } |
| // } |
| // void test_contextProperties() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithAngular([ |
| // "<div>", |
| // " {{\$id}}", |
| // " {{\$parent}}", |
| // " {{\$root}}", |
| // "</div>"])); |
| // assertResolvedIdentifier("\$id"); |
| // assertResolvedIdentifier("\$parent"); |
| // assertResolvedIdentifier("\$root"); |
| // } |
| // void test_getAngularElement_isAngular() { |
| // // prepare local variable "name" in compilation unit |
| // CompilationUnitElementImpl unit = ElementFactory.compilationUnit("test.dart"); |
| // FunctionElementImpl function = ElementFactory.functionElement("main"); |
| // unit.functions = <FunctionElement> [function]; |
| // LocalVariableElementImpl local = ElementFactory.localVariableElement2("name"); |
| // function.localVariables = <LocalVariableElement> [local]; |
| // // set AngularElement |
| // AngularElement angularElement = new AngularControllerElementImpl("ctrl", 0); |
| // local.toolkitObjects = <AngularElement> [angularElement]; |
| // JUnitTestCase.assertSame(angularElement, AngularHtmlUnitResolver.getAngularElement(local)); |
| // } |
| // void test_getAngularElement_notAngular() { |
| // Element element = ElementFactory.localVariableElement2("name"); |
| // JUnitTestCase.assertNull(AngularHtmlUnitResolver.getAngularElement(element)); |
| // } |
| // void test_getAngularElement_notLocal() { |
| // Element element = ElementFactory.classElement2("Test", []); |
| // JUnitTestCase.assertNull(AngularHtmlUnitResolver.getAngularElement(element)); |
| // } |
| // /** |
| // * Test that we resolve "ng-click" expression. |
| // */ |
| // void test_ngClick() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<button ng-click='ctrl.doSomething(\$event)'/>"])); |
| // assertResolvedIdentifier("doSomething"); |
| // } |
| // void test_NgComponent_resolveTemplateFile() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent')", |
| // "class MyComponent {", |
| // " String field;", |
| // "}"])); |
| // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAngular([])); |
| // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <div>", " {{ctrl.field}}", " </div>"])); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // contextHelper.runTasks(); |
| // resolveIndex(); |
| // assertNoErrors(); |
| // assertResolvedIdentifier2("ctrl.", "MyComponent"); |
| // assertResolvedIdentifier2("field}}", "String"); |
| // } |
| // void test_NgComponent_updateDartFile() { |
| // Source componentSource = contextHelper.addSource("/my_component.dart", EngineTestCase.createSource([ |
| // "library my.component;", |
| // "import 'angular.dart';", |
| // "@Component(selector: 'myComponent')", |
| // "class MyComponent {", |
| // "}"])); |
| // contextHelper.addSource("/my_module.dart", EngineTestCase.createSource(["library my.module;", "import 'my_component.dart';"])); |
| // addMainSource(EngineTestCase.createSource(["library main;", "import 'my_module.dart';"])); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<myComponent/>"])); |
| // // "myComponent" tag was resolved |
| // { |
| // XmlTagNode tagNode = HtmlUnitUtils.getTagNode(indexUnit, findOffset2("myComponent")); |
| // AngularSelectorElement tagElement = tagNode.element as AngularSelectorElement; |
| // JUnitTestCase.assertNotNull(tagElement); |
| // JUnitTestCase.assertEquals("myComponent", tagElement.name); |
| // } |
| // // replace "myComponent" with "myComponent2" in my_component.dart and index.html |
| // { |
| // context.setContents(componentSource, _getSourceContent(componentSource).replaceAll("myComponent", "myComponent2")); |
| // indexContent = _getSourceContent(indexSource).replaceAll("myComponent", "myComponent2"); |
| // context.setContents(indexSource, indexContent); |
| // } |
| // contextHelper.runTasks(); |
| // resolveIndex(); |
| // // "myComponent2" tag should be resolved |
| // { |
| // XmlTagNode tagNode = HtmlUnitUtils.getTagNode(indexUnit, findOffset2("myComponent2")); |
| // AngularSelectorElement tagElement = tagNode.element as AngularSelectorElement; |
| // JUnitTestCase.assertNotNull(tagElement); |
| // JUnitTestCase.assertEquals("myComponent2", tagElement.name); |
| // } |
| // } |
| // void test_NgComponent_use_resolveAttributes() { |
| // contextHelper.addSource("/my_template.html", EngineTestCase.createSource([" <div>", " {{ctrl.field}}", " </div>"])); |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent', // selector", |
| // " map: const {'attrA' : '=>setA', 'attrB' : '@setB'})", |
| // "class MyComponent {", |
| // " set setA(value) {}", |
| // " set setB(value) {}", |
| // "}"])); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<input type='text' ng-model='someModel'/>", |
| // "<myComponent attrA='someModel' attrB='bbb'/>"])); |
| // // "attrA" attribute expression was resolved |
| // JUnitTestCase.assertNotNull(findIdentifier("someModel")); |
| // // "myComponent" tag was resolved |
| // XmlTagNode tagNode = HtmlUnitUtils.getTagNode(indexUnit, findOffset2("myComponent")); |
| // AngularSelectorElement tagElement = tagNode.element as AngularSelectorElement; |
| // JUnitTestCase.assertNotNull(tagElement); |
| // JUnitTestCase.assertEquals("myComponent", tagElement.name); |
| // JUnitTestCase.assertEquals(findMainOffset("myComponent', // selector"), tagElement.nameOffset); |
| // // "attrA" attribute was resolved |
| // { |
| // XmlAttributeNode node = HtmlUnitUtils.getAttributeNode(indexUnit, findOffset2("attrA='")); |
| // AngularPropertyElement element = node.element as AngularPropertyElement; |
| // JUnitTestCase.assertNotNull(element); |
| // JUnitTestCase.assertEquals("attrA", element.name); |
| // JUnitTestCase.assertEquals("setA", element.field.name); |
| // } |
| // // "attrB" attribute was resolved, even if it @binding |
| // { |
| // XmlAttributeNode node = HtmlUnitUtils.getAttributeNode(indexUnit, findOffset2("attrB='")); |
| // AngularPropertyElement element = node.element as AngularPropertyElement; |
| // JUnitTestCase.assertNotNull(element); |
| // JUnitTestCase.assertEquals("attrB", element.name); |
| // JUnitTestCase.assertEquals("setB", element.field.name); |
| // } |
| // } |
| // void test_NgDirective_noAttribute() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@NgDirective(selector: '[my-directive]', map: const {'foo': '=>input'})", |
| // "class MyDirective {", |
| // " set input(value) {}", |
| // "}"])); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<div my-directive>", "</div>"])); |
| // } |
| // void test_NgDirective_noExpression() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@NgDirective(selector: '[my-directive]', map: const {'.': '=>input'})", |
| // "class MyDirective {", |
| // " set input(value) {}", |
| // "}"])); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<div my-directive>", "</div>"])); |
| // } |
| // void test_NgDirective_resolvedExpression() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Decorator(selector: '[my-directive]')", |
| // "class MyDirective {", |
| // " @NgOneWay('my-property')", |
| // " String condition;", |
| // "}"])); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<input type='text' ng-model='name'>", |
| // "<div my-directive my-property='name != null'>", |
| // "</div>"])); |
| // resolveMainNoErrors(); |
| // // "my-directive" attribute was resolved |
| // { |
| // AngularSelectorElement selector = findMainElement(ElementKind.ANGULAR_SELECTOR, "my-directive"); |
| // XmlAttributeNode attrNodeSelector = HtmlUnitUtils.getAttributeNode(indexUnit, findOffset2("my-directive")); |
| // JUnitTestCase.assertNotNull(attrNodeSelector); |
| // JUnitTestCase.assertSame(selector, attrNodeSelector.element); |
| // } |
| // // "my-property" attribute was resolved |
| // { |
| // XmlAttributeNode attrNodeProperty = HtmlUnitUtils.getAttributeNode(indexUnit, findOffset2("my-property='")); |
| // AngularPropertyElement propertyElement = attrNodeProperty.element as AngularPropertyElement; |
| // JUnitTestCase.assertNotNull(propertyElement); |
| // JUnitTestCase.assertSame(AngularPropertyKind.ONE_WAY, propertyElement.propertyKind); |
| // JUnitTestCase.assertEquals("condition", propertyElement.field.name); |
| // } |
| // // "name" expression was resolved |
| // JUnitTestCase.assertNotNull(findIdentifier("name != null")); |
| // } |
| // void test_NgDirective_resolvedExpression_attrString() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@NgDirective(selector: '[my-directive])", |
| // "class MyDirective {", |
| // " @NgAttr('my-property')", |
| // " String property;", |
| // "}"])); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<input type='text' ng-model='name'>", |
| // "<div my-directive my-property='name != null'>", |
| // "</div>"])); |
| // resolveMain(); |
| // // @NgAttr means "string attribute", which we don't parse |
| // JUnitTestCase.assertNull(findIdentifierMaybe("name != null")); |
| // } |
| // void test_NgDirective_resolvedExpression_dotAsName() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Decorator(", |
| // " selector: '[my-directive]',", |
| // " map: const {'.' : '=>condition'})", |
| // "class MyDirective {", |
| // " set condition(value) {}", |
| // "}"])); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<input type='text' ng-model='name'>", |
| // "<div my-directive='name != null'>", |
| // "</div>"])); |
| // // "name" attribute was resolved |
| // JUnitTestCase.assertNotNull(findIdentifier("name != null")); |
| // } |
| // /** |
| // * Test that we resolve "ng-if" expression. |
| // */ |
| // void test_ngIf() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<div ng-if='ctrl.field != null'/>"])); |
| // assertResolvedIdentifier("field"); |
| // } |
| // void test_ngModel_modelAfterUsage() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<h3>Hello {{name}}!</h3>", |
| // "<input type='text' ng-model='name'>"])); |
| // assertResolvedIdentifier2("name}}!", "String"); |
| // assertResolvedIdentifier2("name'>", "String"); |
| // } |
| // void test_ngModel_modelBeforeUsage() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<input type='text' ng-model='name'>", |
| // "<h3>Hello {{name}}!</h3>"])); |
| // assertResolvedIdentifier2("name}}!", "String"); |
| // Element element = assertResolvedIdentifier2("name'>", "String"); |
| // JUnitTestCase.assertEquals("name", element.name); |
| // JUnitTestCase.assertEquals(findOffset2("name'>"), element.nameOffset); |
| // } |
| // void test_ngModel_notIdentifier() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<input type='text' ng-model='ctrl.field'>"])); |
| // assertResolvedIdentifier2("field'>", "String"); |
| // } |
| // /** |
| // * Test that we resolve "ng-mouseout" expression. |
| // */ |
| // void test_ngMouseOut() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<button ng-mouseout='ctrl.doSomething(\$event)'/>"])); |
| // assertResolvedIdentifier("doSomething"); |
| // } |
| // void test_ngRepeat_additionalVariables() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat='name in ctrl.names'>", |
| // " {{\$index}} {{\$first}} {{\$middle}} {{\$last}} {{\$even}} {{\$odd}}", |
| // "</li>"])); |
| // assertResolvedIdentifier2("\$index", "int"); |
| // assertResolvedIdentifier2("\$first", "bool"); |
| // assertResolvedIdentifier2("\$middle", "bool"); |
| // assertResolvedIdentifier2("\$last", "bool"); |
| // assertResolvedIdentifier2("\$even", "bool"); |
| // assertResolvedIdentifier2("\$odd", "bool"); |
| // } |
| // void test_ngRepeat_bad_expectedIdentifier() { |
| // addMyController(); |
| // resolveIndex2(AngularTest.createHtmlWithMyController(["<li ng-repeat='name + 42 in ctrl.names'>", "</li>"])); |
| // assertErrors(indexSource, [AngularCode.INVALID_REPEAT_ITEM_SYNTAX]); |
| // } |
| // void test_ngRepeat_bad_expectedIn() { |
| // addMyController(); |
| // resolveIndex2(AngularTest.createHtmlWithMyController(["<li ng-repeat='name : ctrl.names'>", "</li>"])); |
| // assertErrors(indexSource, [AngularCode.INVALID_REPEAT_SYNTAX]); |
| // } |
| // void test_ngRepeat_filters_filter_literal() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat='item in ctrl.items | filter:42:null'/>", |
| // "</li>"])); |
| // // filter "filter" is resolved |
| // Element filterElement = assertResolvedIdentifier("filter"); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, filterElement); |
| // } |
| // void test_ngRepeat_filters_filter_propertyMap() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat='item in ctrl.items | filter:{name:null, done:false}'/>", |
| // "</li>"])); |
| // assertResolvedIdentifier2("name:", "String"); |
| // assertResolvedIdentifier2("done:", "bool"); |
| // } |
| // void test_ngRepeat_filters_missingColon() { |
| // addMyController(); |
| // resolveIndex2(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat=\"item in ctrl.items | orderBy:'' true\"/>", |
| // "</li>"])); |
| // assertErrors(indexSource, [AngularCode.MISSING_FORMATTER_COLON]); |
| // } |
| // void test_ngRepeat_filters_noArgs() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat=\"item in ctrl.items | orderBy\"/>", |
| // "</li>"])); |
| // // filter "orderBy" is resolved |
| // Element filterElement = assertResolvedIdentifier("orderBy"); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, filterElement); |
| // } |
| // void test_ngRepeat_filters_orderBy_emptyString() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat=\"item in ctrl.items | orderBy:'':true\"/>", |
| // "</li>"])); |
| // // filter "orderBy" is resolved |
| // Element filterElement = assertResolvedIdentifier("orderBy"); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, filterElement); |
| // } |
| // void test_ngRepeat_filters_orderBy_propertyList() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat=\"item in ctrl.items | orderBy:['name', 'done']\"/>", |
| // "</li>"])); |
| // assertResolvedIdentifier2("name'", "String"); |
| // assertResolvedIdentifier2("done'", "bool"); |
| // } |
| // void test_ngRepeat_filters_orderBy_propertyName() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat=\"item in ctrl.items | orderBy:'name'\"/>", |
| // "</li>"])); |
| // assertResolvedIdentifier2("name'", "String"); |
| // } |
| // void test_ngRepeat_filters_orderBy_propertyName_minus() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat=\"item in ctrl.items | orderBy:'-name'\"/>", |
| // "</li>"])); |
| // assertResolvedIdentifier2("name'", "String"); |
| // } |
| // void test_ngRepeat_filters_orderBy_propertyName_plus() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat=\"item in ctrl.items | orderBy:'+name'\"/>", |
| // "</li>"])); |
| // assertResolvedIdentifier2("name'", "String"); |
| // } |
| // void test_ngRepeat_filters_orderBy_propertyName_untypedItems() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat=\"item in ctrl.untypedItems | orderBy:'name'\"/>", |
| // "</li>"])); |
| // assertResolvedIdentifier2("name'", "dynamic"); |
| // } |
| // void test_ngRepeat_filters_two() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat=\"item in ctrl.items | orderBy:'+' | orderBy:'-'\"/>", |
| // "</li>"])); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, assertResolvedIdentifier("orderBy:'+'")); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularFormatterElement, AngularFormatterElement, assertResolvedIdentifier("orderBy:'-'")); |
| // } |
| // void test_ngRepeat_resolvedExpressions() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat='name in ctrl.names'>", |
| // " {{name}}", |
| // "</li>"])); |
| // assertResolvedIdentifier2("name in", "String"); |
| // assertResolvedIdentifier2("ctrl.", "MyController"); |
| // assertResolvedIdentifier2("names'", "List<String>"); |
| // assertResolvedIdentifier2("name}}", "String"); |
| // } |
| // void test_ngRepeat_trackBy() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController([ |
| // "<li ng-repeat='name in ctrl.names track by name.length'/>", |
| // "</li>"])); |
| // assertResolvedIdentifier2("length'", "int"); |
| // } |
| // /** |
| // * Test that we resolve "ng-show" expression. |
| // */ |
| // void test_ngShow() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<div ng-show='ctrl.field != null'/>"])); |
| // assertResolvedIdentifier("field"); |
| // } |
| // void test_notResolved_noDartScript() { |
| // resolveIndex2(EngineTestCase.createSource([ |
| // "<html ng-app>", |
| // " <body>", |
| // " <div my-marker>", |
| // " {{ctrl.field}}", |
| // " </div>", |
| // " </body>", |
| // "</html>"])); |
| // assertNoErrors(); |
| // // Angular is not initialized, so "ctrl" is not parsed |
| // Expression expression = HtmlUnitUtils.getExpression(indexUnit, findOffset2("ctrl")); |
| // JUnitTestCase.assertNull(expression); |
| // } |
| // void test_notResolved_notAngular() { |
| // resolveIndex2(EngineTestCase.createSource([ |
| // "<html no-ng-app>", |
| // " <body>", |
| // " <div my-marker>", |
| // " {{ctrl.field}}", |
| // " </div>", |
| // " </body>", |
| // "</html>"])); |
| // assertNoErrors(); |
| // // Angular is not initialized, so "ctrl" is not parsed |
| // Expression expression = HtmlUnitUtils.getExpression(indexUnit, findOffset2("ctrl")); |
| // JUnitTestCase.assertNull(expression); |
| // } |
| // void test_notResolved_wrongControllerMarker() { |
| // addMyController(); |
| // addIndexSource(EngineTestCase.createSource([ |
| // "<html ng-app>", |
| // " <body>", |
| // " <div not-my-marker>", |
| // " {{ctrl.field}}", |
| // " </div>", |
| // " <script type='application/dart' src='main.dart'></script>", |
| // " </body>", |
| // "</html>"])); |
| // contextHelper.runTasks(); |
| // resolveIndex(); |
| // // no errors, because we decided to ignore them at the moment |
| // assertNoErrors(); |
| // // "ctrl" is not resolved |
| // SimpleIdentifier identifier = findIdentifier("ctrl"); |
| // JUnitTestCase.assertNull(identifier.bestElement); |
| // } |
| // void test_resolveExpression_evenWithout_ngBootstrap() { |
| // resolveMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Controller(", |
| // " selector: '[my-controller]',", |
| // " publishAs: 'ctrl')", |
| // "class MyController {", |
| // " String field;", |
| // "}"])); |
| // _resolveIndexNoErrors(EngineTestCase.createSource([ |
| // "<html ng-app>", |
| // " <body>", |
| // " <div my-controller>", |
| // " {{ctrl.field}}", |
| // " </div>", |
| // " <script type='application/dart' src='main.dart'></script>", |
| // " </body>", |
| // "</html>"])); |
| // assertResolvedIdentifier2("ctrl.", "MyController"); |
| // } |
| // void test_resolveExpression_ignoreUnresolved() { |
| // resolveMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Controller(", |
| // " selector: '[my-controller]',", |
| // " publishAs: 'ctrl')", |
| // "class MyController {", |
| // " Map map;", |
| // " Object obj;", |
| // "}"])); |
| // resolveIndex2(EngineTestCase.createSource([ |
| // "<html ng-app>", |
| // " <body>", |
| // " <div my-controller>", |
| // " {{ctrl.map.property}}", |
| // " {{ctrl.obj.property}}", |
| // " {{invisibleScopeProperty}}", |
| // " </div>", |
| // " <script type='application/dart' src='main.dart'></script>", |
| // " </body>", |
| // "</html>"])); |
| // assertNoErrors(); |
| // // "ctrl.map" and "ctrl.obj" are resolved |
| // assertResolvedIdentifier2("map", "Map<dynamic, dynamic>"); |
| // assertResolvedIdentifier2("obj", "Object"); |
| // // ...but not "invisibleScopeProperty" |
| // { |
| // SimpleIdentifier identifier = findIdentifier("invisibleScopeProperty"); |
| // JUnitTestCase.assertNull(identifier.bestElement); |
| // } |
| // } |
| // void test_resolveExpression_inAttribute() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["<button title='{{ctrl.field}}'></button>"])); |
| // assertResolvedIdentifier2("ctrl", "MyController"); |
| // } |
| // void test_resolveExpression_ngApp_onBody() { |
| // addMyController(); |
| // _resolveIndexNoErrors(EngineTestCase.createSource([ |
| // "<html>", |
| // " <body ng-app>", |
| // " <div my-controller>", |
| // " {{ctrl.field}}", |
| // " </div>", |
| // " <script type='application/dart' src='main.dart'></script>", |
| // " </body>", |
| // "</html>"])); |
| // assertResolvedIdentifier2("ctrl", "MyController"); |
| // } |
| // void test_resolveExpression_withFilter() { |
| // addMyController(); |
| // _resolveIndexNoErrors(AngularTest.createHtmlWithMyController(["{{ctrl.field | uppercase}}"])); |
| // assertResolvedIdentifier2("ctrl", "MyController"); |
| // assertResolvedIdentifier("uppercase"); |
| // } |
| // void test_resolveExpression_withFilter_notSimpleIdentifier() { |
| // addMyController(); |
| // resolveIndex2(AngularTest.createHtmlWithMyController(["{{ctrl.field | not.supported}}"])); |
| // assertErrors(indexSource, [AngularCode.INVALID_FORMATTER_NAME]); |
| // } |
| // void test_scopeProperties() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent')", |
| // "class MyComponent {", |
| // " String field;", |
| // " MyComponent(Scope scope) {", |
| // " scope.context['scopeProperty'] = 'abc';", |
| // " }", |
| // "}", |
| // ""])); |
| // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAngular([])); |
| // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <div>", " {{scopeProperty}}", " </div>"])); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // contextHelper.runTasks(); |
| // resolveIndex(); |
| // assertNoErrors(); |
| // // "scopeProperty" is resolved |
| // Element element = assertResolvedIdentifier2("scopeProperty}}", "String"); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularScopePropertyElement, AngularScopePropertyElement, AngularHtmlUnitResolver.getAngularElement(element)); |
| // } |
| // void test_scopeProperties_hideWithComponent() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Component(", |
| // " templateUrl: 'my_template.html', cssUrl: 'my_styles.css',", |
| // " publishAs: 'ctrl',", |
| // " selector: 'myComponent')", |
| // "class MyComponent {", |
| // "}", |
| // "", |
| // "void setScopeProperties(Scope scope) {", |
| // " scope.context['ctrl'] = 1;", |
| // "}", |
| // ""])); |
| // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAngular([])); |
| // addIndexSource2("/my_template.html", EngineTestCase.createSource([" <div>", " {{ctrl}}", " </div>"])); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // contextHelper.runTasks(); |
| // resolveIndex(); |
| // assertNoErrors(); |
| // // "ctrl" is resolved |
| // LocalVariableElement element = assertResolvedIdentifier("ctrl}}") as LocalVariableElement; |
| // List<ToolkitObjectElement> toolkitObjects = element.toolkitObjects; |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularComponentElement, AngularComponentElement, toolkitObjects[0]); |
| // } |
| // void test_view_resolveTemplateFile() { |
| // addMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "@Controller(", |
| // " selector: '[my-controller]',", |
| // " publishAs: 'ctrl')", |
| // "class MyController {", |
| // " String field;", |
| // "}", |
| // "", |
| // "class MyRouteInitializer {", |
| // " init(ViewFactory view) {", |
| // " view('my_template.html');", |
| // " }", |
| // "}"])); |
| // contextHelper.addSource("/entry-point.html", AngularTest.createHtmlWithAngular([])); |
| // addIndexSource2("/my_template.html", EngineTestCase.createSource([ |
| // " <div my-controller>", |
| // " {{ctrl.field}}", |
| // " </div>"])); |
| // contextHelper.addSource("/my_styles.css", ""); |
| // contextHelper.runTasks(); |
| // resolveIndex(); |
| // assertNoErrors(); |
| // assertResolvedIdentifier2("ctrl.", "MyController"); |
| // assertResolvedIdentifier2("field}}", "String"); |
| // } |
| // String _getSourceContent(Source source) => context.getContents(source).data.toString(); |
| // void _resolveIndexNoErrors(String content) { |
| // resolveIndex2(content); |
| // assertNoErrors(); |
| // verify([indexSource]); |
| // } |
| // static dartSuite() { |
| // _ut.group('AngularHtmlUnitResolverTest', () { |
| // _ut.test('test_NgComponent_resolveTemplateFile', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_resolveTemplateFile); |
| // }); |
| // _ut.test('test_NgComponent_updateDartFile', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_updateDartFile); |
| // }); |
| // _ut.test('test_NgComponent_use_resolveAttributes', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_NgComponent_use_resolveAttributes); |
| // }); |
| // _ut.test('test_NgDirective_noAttribute', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_NgDirective_noAttribute); |
| // }); |
| // _ut.test('test_NgDirective_noExpression', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_NgDirective_noExpression); |
| // }); |
| // _ut.test('test_NgDirective_resolvedExpression', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_NgDirective_resolvedExpression); |
| // }); |
| // _ut.test('test_NgDirective_resolvedExpression_attrString', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_NgDirective_resolvedExpression_attrString); |
| // }); |
| // _ut.test('test_NgDirective_resolvedExpression_dotAsName', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_NgDirective_resolvedExpression_dotAsName); |
| // }); |
| // _ut.test('test_analysisContext_changeDart_invalidateApplication', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_analysisContext_changeDart_invalidateApplication); |
| // }); |
| // _ut.test('test_analysisContext_changeEntryPoint_clearAngularErrors_inDart', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_analysisContext_changeEntryPoint_clearAngularErrors_inDart); |
| // }); |
| // _ut.test('test_analysisContext_changeEntryPoint_clearAngularErrors_inTemplate', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_analysisContext_changeEntryPoint_clearAngularErrors_inTemplate); |
| // }); |
| // _ut.test('test_analysisContext_removeEntryPoint_clearAngularErrors_inDart', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_analysisContext_removeEntryPoint_clearAngularErrors_inDart); |
| // }); |
| // _ut.test('test_contextProperties', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_contextProperties); |
| // }); |
| // _ut.test('test_getAngularElement_isAngular', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_getAngularElement_isAngular); |
| // }); |
| // _ut.test('test_getAngularElement_notAngular', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_getAngularElement_notAngular); |
| // }); |
| // _ut.test('test_getAngularElement_notLocal', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_getAngularElement_notLocal); |
| // }); |
| // _ut.test('test_ngClick', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngClick); |
| // }); |
| // _ut.test('test_ngIf', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngIf); |
| // }); |
| // _ut.test('test_ngModel_modelAfterUsage', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngModel_modelAfterUsage); |
| // }); |
| // _ut.test('test_ngModel_modelBeforeUsage', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngModel_modelBeforeUsage); |
| // }); |
| // _ut.test('test_ngModel_notIdentifier', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngModel_notIdentifier); |
| // }); |
| // _ut.test('test_ngMouseOut', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngMouseOut); |
| // }); |
| // _ut.test('test_ngRepeat_additionalVariables', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_additionalVariables); |
| // }); |
| // _ut.test('test_ngRepeat_bad_expectedIdentifier', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_bad_expectedIdentifier); |
| // }); |
| // _ut.test('test_ngRepeat_bad_expectedIn', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_bad_expectedIn); |
| // }); |
| // _ut.test('test_ngRepeat_filters_filter_literal', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_filters_filter_literal); |
| // }); |
| // _ut.test('test_ngRepeat_filters_filter_propertyMap', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_filters_filter_propertyMap); |
| // }); |
| // _ut.test('test_ngRepeat_filters_missingColon', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_filters_missingColon); |
| // }); |
| // _ut.test('test_ngRepeat_filters_noArgs', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_filters_noArgs); |
| // }); |
| // _ut.test('test_ngRepeat_filters_orderBy_emptyString', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_emptyString); |
| // }); |
| // _ut.test('test_ngRepeat_filters_orderBy_propertyList', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_propertyList); |
| // }); |
| // _ut.test('test_ngRepeat_filters_orderBy_propertyName', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_propertyName); |
| // }); |
| // _ut.test('test_ngRepeat_filters_orderBy_propertyName_minus', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_propertyName_minus); |
| // }); |
| // _ut.test('test_ngRepeat_filters_orderBy_propertyName_plus', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_propertyName_plus); |
| // }); |
| // _ut.test('test_ngRepeat_filters_orderBy_propertyName_untypedItems', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_filters_orderBy_propertyName_untypedItems); |
| // }); |
| // _ut.test('test_ngRepeat_filters_two', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_filters_two); |
| // }); |
| // _ut.test('test_ngRepeat_resolvedExpressions', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_resolvedExpressions); |
| // }); |
| // _ut.test('test_ngRepeat_trackBy', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngRepeat_trackBy); |
| // }); |
| // _ut.test('test_ngShow', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_ngShow); |
| // }); |
| // _ut.test('test_notResolved_noDartScript', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_notResolved_noDartScript); |
| // }); |
| // _ut.test('test_notResolved_notAngular', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_notResolved_notAngular); |
| // }); |
| // _ut.test('test_notResolved_wrongControllerMarker', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_notResolved_wrongControllerMarker); |
| // }); |
| // _ut.test('test_resolveExpression_evenWithout_ngBootstrap', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_resolveExpression_evenWithout_ngBootstrap); |
| // }); |
| // _ut.test('test_resolveExpression_ignoreUnresolved', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_resolveExpression_ignoreUnresolved); |
| // }); |
| // _ut.test('test_resolveExpression_inAttribute', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_resolveExpression_inAttribute); |
| // }); |
| // _ut.test('test_resolveExpression_ngApp_onBody', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_resolveExpression_ngApp_onBody); |
| // }); |
| // _ut.test('test_resolveExpression_withFilter', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_resolveExpression_withFilter); |
| // }); |
| // _ut.test('test_resolveExpression_withFilter_notSimpleIdentifier', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_resolveExpression_withFilter_notSimpleIdentifier); |
| // }); |
| // _ut.test('test_scopeProperties', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_scopeProperties); |
| // }); |
| // _ut.test('test_scopeProperties_hideWithComponent', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_scopeProperties_hideWithComponent); |
| // }); |
| // _ut.test('test_view_resolveTemplateFile', () { |
| // final __test = new AngularHtmlUnitResolverTest(); |
| // runJUnitTest(__test, __test.test_view_resolveTemplateFile); |
| // }); |
| // }); |
| // } |
| // } |
| // /** |
| // * Tests for [HtmlUnitUtils] for Angular HTMLs. |
| // */ |
| // class AngularHtmlUnitUtilsTest extends AngularTest { |
| // void test_getElement_forExpression() { |
| // addMyController(); |
| // _resolveSimpleCtrlFieldHtml(); |
| // // prepare expression |
| // int offset = indexContent.indexOf("ctrl"); |
| // Expression expression = HtmlUnitUtils.getExpression(indexUnit, offset); |
| // // get element |
| // Element element = HtmlUnitUtils.getElement(expression); |
| // EngineTestCase.assertInstanceOf((obj) => obj is VariableElement, VariableElement, element); |
| // JUnitTestCase.assertEquals("ctrl", element.name); |
| // } |
| // void test_getElement_forExpression_null() { |
| // Element element = HtmlUnitUtils.getElement(null); |
| // JUnitTestCase.assertNull(element); |
| // } |
| // void test_getElement_forOffset() { |
| // addMyController(); |
| // _resolveSimpleCtrlFieldHtml(); |
| // // no expression |
| // { |
| // Element element = HtmlUnitUtils.getElementAtOffset(indexUnit, 0); |
| // JUnitTestCase.assertNull(element); |
| // } |
| // // has expression at offset |
| // { |
| // int offset = indexContent.indexOf("field"); |
| // Element element = HtmlUnitUtils.getElementAtOffset(indexUnit, offset); |
| // EngineTestCase.assertInstanceOf((obj) => obj is PropertyAccessorElement, PropertyAccessorElement, element); |
| // JUnitTestCase.assertEquals("field", element.name); |
| // } |
| // } |
| // void test_getElementToOpen_controller() { |
| // addMyController(); |
| // _resolveSimpleCtrlFieldHtml(); |
| // // prepare expression |
| // int offset = indexContent.indexOf("ctrl"); |
| // Expression expression = HtmlUnitUtils.getExpression(indexUnit, offset); |
| // // get element |
| // Element element = HtmlUnitUtils.getElementToOpen(indexUnit, expression); |
| // EngineTestCase.assertInstanceOf((obj) => obj is AngularControllerElement, AngularControllerElement, element); |
| // JUnitTestCase.assertEquals("ctrl", element.name); |
| // } |
| // void test_getElementToOpen_field() { |
| // addMyController(); |
| // _resolveSimpleCtrlFieldHtml(); |
| // // prepare expression |
| // int offset = indexContent.indexOf("field"); |
| // Expression expression = HtmlUnitUtils.getExpression(indexUnit, offset); |
| // // get element |
| // Element element = HtmlUnitUtils.getElementToOpen(indexUnit, expression); |
| // EngineTestCase.assertInstanceOf((obj) => obj is PropertyAccessorElement, PropertyAccessorElement, element); |
| // JUnitTestCase.assertEquals("field", element.name); |
| // } |
| // void test_getEnclosingTagNode() { |
| // resolveIndex2(EngineTestCase.createSource([ |
| // "<html>", |
| // " <body ng-app>", |
| // " <badge name='abc'> 123 </badge>", |
| // " </body>", |
| // "</html>"])); |
| // // no unit |
| // JUnitTestCase.assertNull(HtmlUnitUtils.getEnclosingTagNode(null, 0)); |
| // // wrong offset |
| // JUnitTestCase.assertNull(HtmlUnitUtils.getEnclosingTagNode(indexUnit, -1)); |
| // // valid offset |
| // XmlTagNode expected = _getEnclosingTagNode("<badge"); |
| // JUnitTestCase.assertNotNull(expected); |
| // JUnitTestCase.assertEquals("badge", expected.tag); |
| // JUnitTestCase.assertSame(expected, _getEnclosingTagNode("badge")); |
| // JUnitTestCase.assertSame(expected, _getEnclosingTagNode("name=")); |
| // JUnitTestCase.assertSame(expected, _getEnclosingTagNode("123")); |
| // JUnitTestCase.assertSame(expected, _getEnclosingTagNode("/badge")); |
| // } |
| // void test_getExpression() { |
| // addMyController(); |
| // _resolveSimpleCtrlFieldHtml(); |
| // // try offset without expression |
| // JUnitTestCase.assertNull(HtmlUnitUtils.getExpression(indexUnit, 0)); |
| // // try offset with expression |
| // int offset = indexContent.indexOf("ctrl"); |
| // JUnitTestCase.assertNotNull(HtmlUnitUtils.getExpression(indexUnit, offset)); |
| // JUnitTestCase.assertNotNull(HtmlUnitUtils.getExpression(indexUnit, offset + 1)); |
| // JUnitTestCase.assertNotNull(HtmlUnitUtils.getExpression(indexUnit, offset + 2)); |
| // JUnitTestCase.assertNotNull(HtmlUnitUtils.getExpression(indexUnit, offset + "ctrl.field".length)); |
| // // try without unit |
| // JUnitTestCase.assertNull(HtmlUnitUtils.getExpression(null, offset)); |
| // } |
| // void test_getTagNode() { |
| // resolveIndex2(EngineTestCase.createSource([ |
| // "<html>", |
| // " <body ng-app>", |
| // " <badge name='abc'> 123 </badge> done", |
| // " </body>", |
| // "</html>"])); |
| // // no unit |
| // JUnitTestCase.assertNull(HtmlUnitUtils.getTagNode(null, 0)); |
| // // wrong offset |
| // JUnitTestCase.assertNull(HtmlUnitUtils.getTagNode(indexUnit, -1)); |
| // // on tag name |
| // XmlTagNode expected = _getTagNode("badge name="); |
| // JUnitTestCase.assertNotNull(expected); |
| // JUnitTestCase.assertEquals("badge", expected.tag); |
| // JUnitTestCase.assertSame(expected, _getTagNode("badge")); |
| // JUnitTestCase.assertSame(expected, _getTagNode(" name=")); |
| // JUnitTestCase.assertSame(expected, _getTagNode("adge name=")); |
| // JUnitTestCase.assertSame(expected, _getTagNode("badge>")); |
| // JUnitTestCase.assertSame(expected, _getTagNode("adge>")); |
| // JUnitTestCase.assertSame(expected, _getTagNode("> done")); |
| // // in tag node, but not on the name token |
| // JUnitTestCase.assertNull(_getTagNode("name=")); |
| // JUnitTestCase.assertNull(_getTagNode("123")); |
| // } |
| // XmlTagNode _getEnclosingTagNode(String search) => HtmlUnitUtils.getEnclosingTagNode(indexUnit, indexContent.indexOf(search)); |
| // XmlTagNode _getTagNode(String search) => HtmlUnitUtils.getTagNode(indexUnit, indexContent.indexOf(search)); |
| // void _resolveSimpleCtrlFieldHtml() { |
| // resolveIndex2(EngineTestCase.createSource([ |
| // "<html>", |
| // " <body ng-app>", |
| // " <div my-controller>", |
| // " {{ctrl.field}}", |
| // " </div>", |
| // " <script type='application/dart' src='main.dart'></script>", |
| // " </body>", |
| // "</html>"])); |
| // } |
| // static dartSuite() { |
| // _ut.group('AngularHtmlUnitUtilsTest', () { |
| // _ut.test('test_getElementToOpen_controller', () { |
| // final __test = new AngularHtmlUnitUtilsTest(); |
| // runJUnitTest(__test, __test.test_getElementToOpen_controller); |
| // }); |
| // _ut.test('test_getElementToOpen_field', () { |
| // final __test = new AngularHtmlUnitUtilsTest(); |
| // runJUnitTest(__test, __test.test_getElementToOpen_field); |
| // }); |
| // _ut.test('test_getElement_forExpression', () { |
| // final __test = new AngularHtmlUnitUtilsTest(); |
| // runJUnitTest(__test, __test.test_getElement_forExpression); |
| // }); |
| // _ut.test('test_getElement_forExpression_null', () { |
| // final __test = new AngularHtmlUnitUtilsTest(); |
| // runJUnitTest(__test, __test.test_getElement_forExpression_null); |
| // }); |
| // _ut.test('test_getElement_forOffset', () { |
| // final __test = new AngularHtmlUnitUtilsTest(); |
| // runJUnitTest(__test, __test.test_getElement_forOffset); |
| // }); |
| // _ut.test('test_getEnclosingTagNode', () { |
| // final __test = new AngularHtmlUnitUtilsTest(); |
| // runJUnitTest(__test, __test.test_getEnclosingTagNode); |
| // }); |
| // _ut.test('test_getExpression', () { |
| // final __test = new AngularHtmlUnitUtilsTest(); |
| // runJUnitTest(__test, __test.test_getExpression); |
| // }); |
| // _ut.test('test_getTagNode', () { |
| // final __test = new AngularHtmlUnitUtilsTest(); |
| // runJUnitTest(__test, __test.test_getTagNode); |
| // }); |
| // }); |
| // } |
| // } |
| // abstract class AngularTest extends EngineTestCase { |
| // /** |
| // * Creates an HTML content that has Angular marker and script with "main.dart" reference. |
| // */ |
| // static String createHtmlWithAngular(List<String> lines) { |
| // String source = EngineTestCase.createSource(["<html ng-app>", " <body>"]); |
| // source += EngineTestCase.createSource(lines); |
| // source += EngineTestCase.createSource([ |
| // " <script type='application/dart' src='main.dart'></script>", |
| // " </body>", |
| // "</html>"]); |
| // return source; |
| // } |
| // /** |
| // * Creates an HTML content that has Angular marker, script with "main.dart" reference and |
| // * "MyController" injected. |
| // */ |
| // static String createHtmlWithMyController(List<String> lines) { |
| // String source = EngineTestCase.createSource(["<html ng-app>", " <body>", " <div my-controller>"]); |
| // source += EngineTestCase.createSource(lines); |
| // source += EngineTestCase.createSource([ |
| // " </div>", |
| // " <script type='application/dart' src='main.dart'></script>", |
| // " </body>", |
| // "</html>"]); |
| // return source; |
| // } |
| // /** |
| // * Finds an [Element] with the given names inside of the given root [Element]. |
| // * |
| // * TODO(scheglov) maybe move this method to Element |
| // * |
| // * @param root the root [Element] to start searching from |
| // * @param kind the kind of the [Element] to find, if `null` then any kind |
| // * @param name the name of an [Element] to find |
| // * @return the found [Element] or `null` if not found |
| // */ |
| // static Element findElement(Element root, ElementKind kind, String name) { |
| // List<Element> result = [null]; |
| // root.accept(new GeneralizingElementVisitor_AngularTest_findElement(kind, name, result)); |
| // return result[0] as Element; |
| // } |
| // /** |
| // * Finds an [Element] with the given names inside of the given root [Element]. |
| // * |
| // * @param root the root [Element] to start searching from |
| // * @param name the name of an [Element] to find |
| // * @return the found [Element] or `null` if not found |
| // */ |
| // static Element findElement2(Element root, String name) => findElement(root, null, name); |
| // /** |
| // * @return the offset of given <code>search</code> string in <code>content</code>. Fails test if |
| // * not found. |
| // */ |
| // static int findOffset(String content, String search) { |
| // int offset = content.indexOf(search); |
| // assertThat(offset).describedAs(content).isNotEqualTo(-1); |
| // return offset; |
| // } |
| // AnalysisContextHelper contextHelper = new AnalysisContextHelper(); |
| // AnalysisContext context; |
| // String mainContent; |
| // Source mainSource; |
| // CompilationUnit mainUnit; |
| // CompilationUnitElement mainUnitElement; |
| // String indexContent; |
| // Source indexSource; |
| // HtmlUnit indexUnit; |
| // HtmlElement indexHtmlUnit; |
| // CompilationUnitElement indexDartUnitElement; |
| // /** |
| // * Fills [indexContent] and [indexSource]. |
| // */ |
| // void addIndexSource(String content) { |
| // addIndexSource2("/index.html", content); |
| // } |
| // /** |
| // * Fills [indexContent] and [indexSource]. |
| // */ |
| // void addIndexSource2(String name, String content) { |
| // indexContent = content; |
| // indexSource = contextHelper.addSource(name, indexContent); |
| // } |
| // /** |
| // * Fills [mainContent] and [mainSource]. |
| // */ |
| // void addMainSource(String content) { |
| // mainContent = content; |
| // mainSource = contextHelper.addSource("/main.dart", content); |
| // } |
| // void addMyController() { |
| // resolveMainSource(EngineTestCase.createSource([ |
| // "", |
| // "import 'angular.dart';", |
| // "", |
| // "class Item {", |
| // " String name;", |
| // " bool done;", |
| // "}", |
| // "", |
| // "@Controller(", |
| // " selector: '[my-controller]',", |
| // " publishAs: 'ctrl')", |
| // "class MyController {", |
| // " String field;", |
| // " List<String> names;", |
| // " List<Item> items;", |
| // " var untypedItems;", |
| // " doSomething(event) {}", |
| // "}"])); |
| // } |
| // /** |
| // * Assert that the number of errors reported against the given source matches the number of errors |
| // * that are given and that they have the expected error codes. The order in which the errors were |
| // * gathered is ignored. |
| // * |
| // * @param source the source against which the errors should have been reported |
| // * @param expectedErrorCodes the error codes of the errors that should have been reported |
| // * @throws AnalysisException if the reported errors could not be computed |
| // * @throws AssertionFailedError if a different number of errors have been reported than were |
| // * expected |
| // */ |
| // void assertErrors(Source source, List<ErrorCode> expectedErrorCodes) { |
| // GatheringErrorListener errorListener = new GatheringErrorListener(); |
| // AnalysisErrorInfo errorsInfo = context.getErrors(source); |
| // for (AnalysisError error in errorsInfo.errors) { |
| // errorListener.onError(error); |
| // } |
| // errorListener.assertErrorsWithCodes(expectedErrorCodes); |
| // } |
| // void assertMainErrors(List<ErrorCode> expectedErrorCodes) { |
| // assertErrors(mainSource, expectedErrorCodes); |
| // } |
| // /** |
| // * Assert that no errors have been reported against the [indexSource]. |
| // */ |
| // void assertNoErrors() { |
| // assertErrors(indexSource, []); |
| // } |
| // void assertNoErrors2(Source source) { |
| // assertErrors(source, []); |
| // } |
| // /** |
| // * Assert that no errors have been reported against the [mainSource]. |
| // */ |
| // void assertNoMainErrors() { |
| // assertErrors(mainSource, []); |
| // } |
| // /** |
| // * Checks that [indexHtmlUnit] has [SimpleIdentifier] with given name, resolved to |
| // * not `null` [Element]. |
| // */ |
| // Element assertResolvedIdentifier(String name) { |
| // SimpleIdentifier identifier = findIdentifier(name); |
| // // check Element |
| // Element element = identifier.bestElement; |
| // JUnitTestCase.assertNotNull(element); |
| // // return Element for further analysis |
| // return element; |
| // } |
| // Element assertResolvedIdentifier2(String name, String expectedTypeName) { |
| // SimpleIdentifier identifier = findIdentifier(name); |
| // // check Element |
| // Element element = identifier.bestElement; |
| // JUnitTestCase.assertNotNull(element); |
| // // check Type |
| // DartType type = identifier.bestType; |
| // JUnitTestCase.assertNotNull(type); |
| // JUnitTestCase.assertEquals(expectedTypeName, type.toString()); |
| // // return Element for further analysis |
| // return element; |
| // } |
| // /** |
| // * @return [AstNode] which has required offset and type. |
| // */ |
| // AstNode findExpression(int offset, Type clazz) { |
| // Expression expression = HtmlUnitUtils.getExpression(indexUnit, offset); |
| // return expression != null ? expression.getAncestor(predicate) : null; |
| // } |
| // /** |
| // * Returns the [SimpleIdentifier] at the given search pattern. Fails if not found. |
| // */ |
| // SimpleIdentifier findIdentifier(String search) { |
| // SimpleIdentifier identifier = findIdentifierMaybe(search); |
| // JUnitTestCase.assertNotNullMsg("${search} in ${indexContent}", identifier); |
| // // check that offset/length of the identifier is valid |
| // { |
| // int offset = identifier.offset; |
| // int end = identifier.end; |
| // String contentStr = indexContent.substring(offset, end); |
| // JUnitTestCase.assertEquals(identifier.name, contentStr); |
| // } |
| // // done |
| // return identifier; |
| // } |
| // /** |
| // * Returns the [SimpleIdentifier] at the given search pattern, or `null` if not found. |
| // */ |
| // SimpleIdentifier findIdentifierMaybe(String search) => findExpression(findOffset2(search), SimpleIdentifier); |
| // /** |
| // * Returns [Element] from [indexDartUnitElement]. |
| // */ |
| // Element findIndexElement(String name) => findElement2(indexDartUnitElement, name); |
| // /** |
| // * Returns [Element] from [mainUnitElement]. |
| // */ |
| // Element findMainElement(ElementKind kind, String name) => findElement(mainUnitElement, kind, name); |
| // /** |
| // * Returns [Element] from [mainUnitElement]. |
| // */ |
| // Element findMainElement2(String name) => findElement2(mainUnitElement, name); |
| // /** |
| // * @return the offset of given <code>search</code> string in [mainContent]. Fails test if |
| // * not found. |
| // */ |
| // int findMainOffset(String search) => findOffset(mainContent, search); |
| // /** |
| // * @return the offset of given <code>search</code> string in [indexContent]. Fails test if |
| // * not found. |
| // */ |
| // int findOffset2(String search) => findOffset(indexContent, search); |
| // /** |
| // * Resolves [indexSource]. |
| // */ |
| // void resolveIndex() { |
| // indexUnit = context.resolveHtmlUnit(indexSource); |
| // indexHtmlUnit = indexUnit.element; |
| // indexDartUnitElement = indexHtmlUnit.angularCompilationUnit; |
| // } |
| // void resolveIndex2(String content) { |
| // addIndexSource(content); |
| // contextHelper.runTasks(); |
| // resolveIndex(); |
| // } |
| // /** |
| // * Resolves [mainSource]. |
| // */ |
| // void resolveMain() { |
| // mainUnit = contextHelper.resolveDefiningUnit(mainSource); |
| // mainUnitElement = mainUnit.element; |
| // } |
| // /** |
| // * Resolves [mainSource]. |
| // */ |
| // void resolveMainNoErrors() { |
| // resolveMain(); |
| // assertNoErrors2(mainSource); |
| // } |
| // void resolveMainSource(String content) { |
| // addMainSource(content); |
| // resolveMain(); |
| // } |
| // void resolveMainSourceNoErrors(String content) { |
| // resolveMainSource(content); |
| // assertNoErrors2(mainSource); |
| // } |
| // @override |
| // void setUp() { |
| // super.setUp(); |
| // _configureForAngular(contextHelper); |
| // context = contextHelper.context; |
| // } |
| // @override |
| // void tearDown() { |
| // contextHelper = null; |
| // context = null; |
| // // main |
| // mainContent = null; |
| // mainSource = null; |
| // mainUnit = null; |
| // mainUnitElement = null; |
| // // index |
| // indexContent = null; |
| // indexSource = null; |
| // indexUnit = null; |
| // indexHtmlUnit = null; |
| // indexDartUnitElement = null; |
| // // super |
| // super.tearDown(); |
| // } |
| // /** |
| // * Verify that all of the identifiers in the HTML units associated with the given sources have |
| // * been resolved. |
| // * |
| // * @param sources the sources identifying the compilation units to be verified |
| // * @throws Exception if the contents of the compilation unit cannot be accessed |
| // */ |
| // void verify(List<Source> sources) { |
| // ResolutionVerifier verifier = new ResolutionVerifier(); |
| // for (Source source in sources) { |
| // HtmlUnit htmlUnit = context.getResolvedHtmlUnit(source); |
| // htmlUnit.accept(new ExpressionVisitor_AngularTest_verify(verifier)); |
| // } |
| // verifier.assertResolved(); |
| // } |
| // void _configureForAngular(AnalysisContextHelper contextHelper) { |
| // contextHelper.addSource("/angular.dart", EngineTestCase.createSource([ |
| // "library angular;", |
| // "", |
| // "class Scope {", |
| // " Map context;", |
| // "}", |
| // "", |
| // "class Formatter {", |
| // " final String name;", |
| // " const Formatter({this.name});", |
| // "}", |
| // "", |
| // "class Directive {", |
| // " const Directive({", |
| // " selector,", |
| // " children,", |
| // " visibility,", |
| // " module,", |
| // " map,", |
| // " exportedExpressions,", |
| // " exportedExpressionAttrs", |
| // " });", |
| // "}", |
| // "", |
| // "class Decorator {", |
| // " const Decorator({", |
| // " children/*: Directive.COMPILE_CHILDREN*/,", |
| // " map,", |
| // " selector,", |
| // " module,", |
| // " visibility,", |
| // " exportedExpressions,", |
| // " exportedExpressionAttrs", |
| // " });", |
| // "}", |
| // "", |
| // "class Controller {", |
| // " const Controller({", |
| // " children,", |
| // " publishAs,", |
| // " map,", |
| // " selector,", |
| // " visibility,", |
| // " publishTypes,", |
| // " exportedExpressions,", |
| // " exportedExpressionAttrs", |
| // " });", |
| // "}", |
| // "", |
| // "class NgAttr {", |
| // " const NgAttr(String name);", |
| // "}", |
| // "class NgCallback {", |
| // " const NgCallback(String name);", |
| // "}", |
| // "class NgOneWay {", |
| // " const NgOneWay(String name);", |
| // "}", |
| // "class NgOneWayOneTime {", |
| // " const NgOneWayOneTime(String name);", |
| // "}", |
| // "class NgTwoWay {", |
| // " const NgTwoWay(String name);", |
| // "}", |
| // "", |
| // "class Component extends Directive {", |
| // " const Component({", |
| // " this.template,", |
| // " this.templateUrl,", |
| // " this.cssUrl,", |
| // " this.applyAuthorStyles,", |
| // " this.resetStyleInheritance,", |
| // " publishAs,", |
| // " module,", |
| // " map,", |
| // " selector,", |
| // " visibility,", |
| // " exportExpressions,", |
| // " exportExpressionAttrs", |
| // " }) : super(selector: selector,", |
| // " children: null/*NgAnnotation.COMPILE_CHILDREN*/,", |
| // " visibility: visibility,", |
| // " map: map,", |
| // " module: module,", |
| // " exportExpressions: exportExpressions,", |
| // " exportExpressionAttrs: exportExpressionAttrs);", |
| // "}", |
| // "", |
| // "@Decorator(selector: '[ng-click]', map: const {'ng-click': '&onEvent'})", |
| // "@Decorator(selector: '[ng-mouseout]', map: const {'ng-mouseout': '&onEvent'})", |
| // "class NgEventDirective {", |
| // " set onEvent(value) {}", |
| // "}", |
| // "", |
| // "@Decorator(selector: '[ng-if]', map: const {'ng-if': '=>condition'})", |
| // "class NgIfDirective {", |
| // " set condition(value) {}", |
| // "}", |
| // "", |
| // "@Decorator(selector: '[ng-show]', map: const {'ng-show': '=>show'})", |
| // "class NgShowDirective {", |
| // " set show(value) {}", |
| // "}", |
| // "", |
| // "@Formatter(name: 'filter')", |
| // "class FilterFormatter {}", |
| // "", |
| // "@Formatter(name: 'orderBy')", |
| // "class OrderByFilter {}", |
| // "", |
| // "@Formatter(name: 'uppercase')", |
| // "class UppercaseFilter {}", |
| // "", |
| // "class ViewFactory {", |
| // " call(String templateUrl) => null;", |
| // "}", |
| // "", |
| // "class Module {", |
| // " install(Module m) {}", |
| // " type(Type t) {}", |
| // " value(Type t, value) {}", |
| // "}", |
| // "", |
| // "class Injector {}", |
| // "", |
| // "Injector ngBootstrap({", |
| // " Module module: null,", |
| // " List<Module> modules: null,", |
| // " /*dom.Element*/ element: null,", |
| // " String selector: '[ng-app]',", |
| // " /*Injector*/ injectorFactory/*(List<Module> modules): _defaultInjectorFactory*/}) {}", |
| // ""])); |
| // } |
| // } |
| // class ConstantEvaluatorTest extends ResolverTestCase { |
| // void fail_constructor() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_identifier_class() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_identifier_function() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_identifier_static() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_identifier_staticMethod() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_identifier_topLevel() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_identifier_typeParameter() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_prefixedIdentifier_invalid() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_prefixedIdentifier_valid() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_propertyAccess_invalid() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_propertyAccess_valid() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_simpleIdentifier_invalid() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void fail_simpleIdentifier_valid() { |
| // EvaluationResult result = _getExpressionValue("?"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals(null, value); |
| // } |
| // void test_bitAnd_int_int() { |
| // _assertValue3(74 & 42, "74 & 42"); |
| // } |
| // void test_bitNot() { |
| // _assertValue3(~42, "~42"); |
| // } |
| // void test_bitOr_int_int() { |
| // _assertValue3(74 | 42, "74 | 42"); |
| // } |
| // void test_bitXor_int_int() { |
| // _assertValue3(74 ^ 42, "74 ^ 42"); |
| // } |
| // void test_divide_double_double() { |
| // _assertValue2(3.2 / 2.3, "3.2 / 2.3"); |
| // } |
| // void test_divide_double_double_byZero() { |
| // EvaluationResult result = _getExpressionValue("3.2 / 0.0"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals("double", value.type.name); |
| // JUnitTestCase.assertTrue(value.doubleValue.isInfinite()); |
| // } |
| // void test_divide_int_int() { |
| // _assertValue3(1, "3 / 2"); |
| // } |
| // void test_divide_int_int_byZero() { |
| // EvaluationResult result = _getExpressionValue("3 / 0"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // } |
| // void test_equal_boolean_boolean() { |
| // _assertValue(false, "true == false"); |
| // } |
| // void test_equal_int_int() { |
| // _assertValue(false, "2 == 3"); |
| // } |
| // void test_equal_invalidLeft() { |
| // EvaluationResult result = _getExpressionValue("a == 3"); |
| // JUnitTestCase.assertFalse(result.isValid); |
| // } |
| // void test_equal_invalidRight() { |
| // EvaluationResult result = _getExpressionValue("2 == a"); |
| // JUnitTestCase.assertFalse(result.isValid); |
| // } |
| // void test_equal_string_string() { |
| // _assertValue(false, "'a' == 'b'"); |
| // } |
| // void test_greaterThan_int_int() { |
| // _assertValue(false, "2 > 3"); |
| // } |
| // void test_greaterThanOrEqual_int_int() { |
| // _assertValue(false, "2 >= 3"); |
| // } |
| // void test_leftShift_int_int() { |
| // _assertValue3(64, "16 << 2"); |
| // } |
| // void test_lessThan_int_int() { |
| // _assertValue(true, "2 < 3"); |
| // } |
| // void test_lessThanOrEqual_int_int() { |
| // _assertValue(true, "2 <= 3"); |
| // } |
| // void test_literal_boolean_false() { |
| // _assertValue(false, "false"); |
| // } |
| // void test_literal_boolean_true() { |
| // _assertValue(true, "true"); |
| // } |
| // void test_literal_list() { |
| // EvaluationResult result = _getExpressionValue("const ['a', 'b', 'c']"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // } |
| // void test_literal_map() { |
| // EvaluationResult result = _getExpressionValue("const {'a' : 'm', 'b' : 'n', 'c' : 'o'}"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // } |
| // void test_literal_null() { |
| // EvaluationResult result = _getExpressionValue("null"); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertTrue(value.isNull); |
| // } |
| // void test_literal_number_double() { |
| // _assertValue2(3.45, "3.45"); |
| // } |
| // void test_literal_number_integer() { |
| // _assertValue3(42, "42"); |
| // } |
| // void test_literal_string_adjacent() { |
| // _assertValue4("abcdef", "'abc' 'def'"); |
| // } |
| // void test_literal_string_interpolation_invalid() { |
| // EvaluationResult result = _getExpressionValue("'a\${f()}c'"); |
| // JUnitTestCase.assertFalse(result.isValid); |
| // } |
| // void test_literal_string_interpolation_valid() { |
| // _assertValue4("a3c", "'a\${3}c'"); |
| // } |
| // void test_literal_string_simple() { |
| // _assertValue4("abc", "'abc'"); |
| // } |
| // void test_logicalAnd() { |
| // _assertValue(false, "true && false"); |
| // } |
| // void test_logicalNot() { |
| // _assertValue(false, "!true"); |
| // } |
| // void test_logicalOr() { |
| // _assertValue(true, "true || false"); |
| // } |
| // void test_minus_double_double() { |
| // _assertValue2(3.2 - 2.3, "3.2 - 2.3"); |
| // } |
| // void test_minus_int_int() { |
| // _assertValue3(1, "3 - 2"); |
| // } |
| // void test_negated_boolean() { |
| // EvaluationResult result = _getExpressionValue("-true"); |
| // JUnitTestCase.assertFalse(result.isValid); |
| // } |
| // void test_negated_double() { |
| // _assertValue2(-42.3, "-42.3"); |
| // } |
| // void test_negated_integer() { |
| // _assertValue3(-42, "-42"); |
| // } |
| // void test_notEqual_boolean_boolean() { |
| // _assertValue(true, "true != false"); |
| // } |
| // void test_notEqual_int_int() { |
| // _assertValue(true, "2 != 3"); |
| // } |
| // void test_notEqual_invalidLeft() { |
| // EvaluationResult result = _getExpressionValue("a != 3"); |
| // JUnitTestCase.assertFalse(result.isValid); |
| // } |
| // void test_notEqual_invalidRight() { |
| // EvaluationResult result = _getExpressionValue("2 != a"); |
| // JUnitTestCase.assertFalse(result.isValid); |
| // } |
| // void test_notEqual_string_string() { |
| // _assertValue(true, "'a' != 'b'"); |
| // } |
| // void test_parenthesizedExpression() { |
| // _assertValue4("a", "('a')"); |
| // } |
| // void test_plus_double_double() { |
| // _assertValue2(2.3 + 3.2, "2.3 + 3.2"); |
| // } |
| // void test_plus_int_int() { |
| // _assertValue3(5, "2 + 3"); |
| // } |
| // void test_remainder_double_double() { |
| // _assertValue2(3.2 % 2.3, "3.2 % 2.3"); |
| // } |
| // void test_remainder_int_int() { |
| // _assertValue3(2, "8 % 3"); |
| // } |
| // void test_rightShift() { |
| // _assertValue3(16, "64 >> 2"); |
| // } |
| // void test_times_double_double() { |
| // _assertValue2(2.3 * 3.2, "2.3 * 3.2"); |
| // } |
| // void test_times_int_int() { |
| // _assertValue3(6, "2 * 3"); |
| // } |
| // void test_truncatingDivide_double_double() { |
| // _assertValue3(1, "3.2 ~/ 2.3"); |
| // } |
| // void test_truncatingDivide_int_int() { |
| // _assertValue3(3, "10 ~/ 3"); |
| // } |
| // void _assertValue(bool expectedValue, String contents) { |
| // EvaluationResult result = _getExpressionValue(contents); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals("bool", value.type.name); |
| // JUnitTestCase.assertEquals(expectedValue, value.boolValue); |
| // } |
| // void _assertValue2(double expectedValue, String contents) { |
| // EvaluationResult result = _getExpressionValue(contents); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals("double", value.type.name); |
| // JUnitTestCase.assertEqualsMsg(expectedValue, value.doubleValue, 0.0); |
| // } |
| // void _assertValue3(int expectedValue, String contents) { |
| // EvaluationResult result = _getExpressionValue(contents); |
| // JUnitTestCase.assertTrue(result.isValid); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals("int", value.type.name); |
| // JUnitTestCase.assertEquals(expectedValue, value.intValue.longValue()); |
| // } |
| // void _assertValue4(String expectedValue, String contents) { |
| // EvaluationResult result = _getExpressionValue(contents); |
| // DartObject value = result.value; |
| // JUnitTestCase.assertEquals("String", value.type.name); |
| // JUnitTestCase.assertEquals(expectedValue, value.stringValue); |
| // } |
| // EvaluationResult _getExpressionValue(String contents) { |
| // Source source = addSource("var x = ${contents};"); |
| // LibraryElement library = resolve(source); |
| // CompilationUnit unit = analysisContext.resolveCompilationUnit(source, library); |
| // JUnitTestCase.assertNotNull(unit); |
| // NodeList<CompilationUnitMember> declarations = unit.declarations; |
| // EngineTestCase.assertSizeOfList(1, declarations); |
| // CompilationUnitMember declaration = declarations[0]; |
| // EngineTestCase.assertInstanceOf((obj) => obj is TopLevelVariableDeclaration, TopLevelVariableDeclaration, declaration); |
| // NodeList<VariableDeclaration> variables = (declaration as TopLevelVariableDeclaration).variables.variables; |
| // EngineTestCase.assertSizeOfList(1, variables); |
| // ConstantEvaluator evaluator = new ConstantEvaluator(source, new TestTypeProvider()); |
| // return evaluator.evaluate(variables[0].initializer); |
| // } |
| // static dartSuite() { |
| // _ut.group('ConstantEvaluatorTest', () { |
| // _ut.test('test_bitAnd_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_bitAnd_int_int); |
| // }); |
| // _ut.test('test_bitNot', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_bitNot); |
| // }); |
| // _ut.test('test_bitOr_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_bitOr_int_int); |
| // }); |
| // _ut.test('test_bitXor_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_bitXor_int_int); |
| // }); |
| // _ut.test('test_divide_double_double', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_divide_double_double); |
| // }); |
| // _ut.test('test_divide_double_double_byZero', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_divide_double_double_byZero); |
| // }); |
| // _ut.test('test_divide_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_divide_int_int); |
| // }); |
| // _ut.test('test_divide_int_int_byZero', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_divide_int_int_byZero); |
| // }); |
| // _ut.test('test_equal_boolean_boolean', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_equal_boolean_boolean); |
| // }); |
| // _ut.test('test_equal_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_equal_int_int); |
| // }); |
| // _ut.test('test_equal_invalidLeft', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_equal_invalidLeft); |
| // }); |
| // _ut.test('test_equal_invalidRight', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_equal_invalidRight); |
| // }); |
| // _ut.test('test_equal_string_string', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_equal_string_string); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_int_int); |
| // }); |
| // _ut.test('test_greaterThan_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_int_int); |
| // }); |
| // _ut.test('test_leftShift_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_leftShift_int_int); |
| // }); |
| // _ut.test('test_lessThanOrEqual_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_int_int); |
| // }); |
| // _ut.test('test_lessThan_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_lessThan_int_int); |
| // }); |
| // _ut.test('test_literal_boolean_false', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_literal_boolean_false); |
| // }); |
| // _ut.test('test_literal_boolean_true', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_literal_boolean_true); |
| // }); |
| // _ut.test('test_literal_list', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_literal_list); |
| // }); |
| // _ut.test('test_literal_map', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_literal_map); |
| // }); |
| // _ut.test('test_literal_null', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_literal_null); |
| // }); |
| // _ut.test('test_literal_number_double', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_literal_number_double); |
| // }); |
| // _ut.test('test_literal_number_integer', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_literal_number_integer); |
| // }); |
| // _ut.test('test_literal_string_adjacent', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_literal_string_adjacent); |
| // }); |
| // _ut.test('test_literal_string_interpolation_invalid', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_literal_string_interpolation_invalid); |
| // }); |
| // _ut.test('test_literal_string_interpolation_valid', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_literal_string_interpolation_valid); |
| // }); |
| // _ut.test('test_literal_string_simple', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_literal_string_simple); |
| // }); |
| // _ut.test('test_logicalAnd', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd); |
| // }); |
| // _ut.test('test_logicalNot', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_logicalNot); |
| // }); |
| // _ut.test('test_logicalOr', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_logicalOr); |
| // }); |
| // _ut.test('test_minus_double_double', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_minus_double_double); |
| // }); |
| // _ut.test('test_minus_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_minus_int_int); |
| // }); |
| // _ut.test('test_negated_boolean', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_negated_boolean); |
| // }); |
| // _ut.test('test_negated_double', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_negated_double); |
| // }); |
| // _ut.test('test_negated_integer', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_negated_integer); |
| // }); |
| // _ut.test('test_notEqual_boolean_boolean', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_notEqual_boolean_boolean); |
| // }); |
| // _ut.test('test_notEqual_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_notEqual_int_int); |
| // }); |
| // _ut.test('test_notEqual_invalidLeft', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_notEqual_invalidLeft); |
| // }); |
| // _ut.test('test_notEqual_invalidRight', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_notEqual_invalidRight); |
| // }); |
| // _ut.test('test_notEqual_string_string', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_notEqual_string_string); |
| // }); |
| // _ut.test('test_parenthesizedExpression', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_parenthesizedExpression); |
| // }); |
| // _ut.test('test_plus_double_double', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_plus_double_double); |
| // }); |
| // _ut.test('test_plus_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_plus_int_int); |
| // }); |
| // _ut.test('test_remainder_double_double', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_remainder_double_double); |
| // }); |
| // _ut.test('test_remainder_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_remainder_int_int); |
| // }); |
| // _ut.test('test_rightShift', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_rightShift); |
| // }); |
| // _ut.test('test_times_double_double', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_times_double_double); |
| // }); |
| // _ut.test('test_times_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_times_int_int); |
| // }); |
| // _ut.test('test_truncatingDivide_double_double', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_truncatingDivide_double_double); |
| // }); |
| // _ut.test('test_truncatingDivide_int_int', () { |
| // final __test = new ConstantEvaluatorTest(); |
| // runJUnitTest(__test, __test.test_truncatingDivide_int_int); |
| // }); |
| // }); |
| // } |
| // } |
| // class ConstantFinderTest extends EngineTestCase { |
| // AstNode _node; |
| // void test_visitConstructorDeclaration_const() { |
| // ConstructorElement element = _setupConstructorDeclaration("A", true); |
| // JUnitTestCase.assertSame(_node, _findConstantDeclarations()[element]); |
| // } |
| // void test_visitConstructorDeclaration_nonConst() { |
| // _setupConstructorDeclaration("A", false); |
| // JUnitTestCase.assertTrue(_findConstantDeclarations().isEmpty); |
| // } |
| // void test_visitInstanceCreationExpression_const() { |
| // _setupInstanceCreationExpression("A", true); |
| // JUnitTestCase.assertTrue(_findConstructorInvocations().contains(_node)); |
| // } |
| // void test_visitInstanceCreationExpression_nonConst() { |
| // _setupInstanceCreationExpression("A", false); |
| // JUnitTestCase.assertTrue(_findConstructorInvocations().isEmpty); |
| // } |
| // void test_visitVariableDeclaration_const() { |
| // VariableElement element = _setupVariableDeclaration("v", true, true); |
| // JUnitTestCase.assertSame(_node, _findVariableDeclarations()[element]); |
| // } |
| // void test_visitVariableDeclaration_noInitializer() { |
| // _setupVariableDeclaration("v", true, false); |
| // JUnitTestCase.assertTrue(_findVariableDeclarations().isEmpty); |
| // } |
| // void test_visitVariableDeclaration_nonConst() { |
| // _setupVariableDeclaration("v", false, true); |
| // JUnitTestCase.assertTrue(_findVariableDeclarations().isEmpty); |
| // } |
| // HashMap<ConstructorElement, ConstructorDeclaration> _findConstantDeclarations() { |
| // ConstantFinder finder = new ConstantFinder(); |
| // _node.accept(finder); |
| // HashMap<ConstructorElement, ConstructorDeclaration> constructorMap = finder.constructorMap; |
| // JUnitTestCase.assertNotNull(constructorMap); |
| // return constructorMap; |
| // } |
| // List<InstanceCreationExpression> _findConstructorInvocations() { |
| // ConstantFinder finder = new ConstantFinder(); |
| // _node.accept(finder); |
| // List<InstanceCreationExpression> constructorInvocations = finder.constructorInvocations; |
| // JUnitTestCase.assertNotNull(constructorInvocations); |
| // return constructorInvocations; |
| // } |
| // HashMap<VariableElement, VariableDeclaration> _findVariableDeclarations() { |
| // ConstantFinder finder = new ConstantFinder(); |
| // _node.accept(finder); |
| // HashMap<VariableElement, VariableDeclaration> variableMap = finder.variableMap; |
| // JUnitTestCase.assertNotNull(variableMap); |
| // return variableMap; |
| // } |
| // ConstructorElement _setupConstructorDeclaration(String name, bool isConst) { |
| // Keyword constKeyword = isConst ? Keyword.CONST : null; |
| // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDeclaration2(constKeyword, null, null, name, AstFactory.formalParameterList([]), null, AstFactory.blockFunctionBody2([])); |
| // ClassElement classElement = ElementFactory.classElement2(name, []); |
| // ConstructorElement element = ElementFactory.constructorElement(classElement, name, isConst, []); |
| // constructorDeclaration.element = element; |
| // _node = constructorDeclaration; |
| // return element; |
| // } |
| // void _setupInstanceCreationExpression(String name, bool isConst) { |
| // _node = AstFactory.instanceCreationExpression2(isConst ? Keyword.CONST : null, AstFactory.typeName3(AstFactory.identifier3(name), []), []); |
| // } |
| // VariableElement _setupVariableDeclaration(String name, bool isConst, bool isInitialized) { |
| // VariableDeclaration variableDeclaration = isInitialized ? AstFactory.variableDeclaration2(name, AstFactory.integer(0)) : AstFactory.variableDeclaration(name); |
| // SimpleIdentifier identifier = variableDeclaration.name; |
| // VariableElement element = ElementFactory.localVariableElement(identifier); |
| // identifier.staticElement = element; |
| // AstFactory.variableDeclarationList2(isConst ? Keyword.CONST : null, [variableDeclaration]); |
| // _node = variableDeclaration; |
| // return element; |
| // } |
| // static dartSuite() { |
| // _ut.group('ConstantFinderTest', () { |
| // _ut.test('test_visitConstructorDeclaration_const', () { |
| // final __test = new ConstantFinderTest(); |
| // runJUnitTest(__test, __test.test_visitConstructorDeclaration_const); |
| // }); |
| // _ut.test('test_visitConstructorDeclaration_nonConst', () { |
| // final __test = new ConstantFinderTest(); |
| // runJUnitTest(__test, __test.test_visitConstructorDeclaration_nonConst); |
| // }); |
| // _ut.test('test_visitInstanceCreationExpression_const', () { |
| // final __test = new ConstantFinderTest(); |
| // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_const); |
| // }); |
| // _ut.test('test_visitInstanceCreationExpression_nonConst', () { |
| // final __test = new ConstantFinderTest(); |
| // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_nonConst); |
| // }); |
| // _ut.test('test_visitVariableDeclaration_const', () { |
| // final __test = new ConstantFinderTest(); |
| // runJUnitTest(__test, __test.test_visitVariableDeclaration_const); |
| // }); |
| // _ut.test('test_visitVariableDeclaration_noInitializer', () { |
| // final __test = new ConstantFinderTest(); |
| // runJUnitTest(__test, __test.test_visitVariableDeclaration_noInitializer); |
| // }); |
| // _ut.test('test_visitVariableDeclaration_nonConst', () { |
| // final __test = new ConstantFinderTest(); |
| // runJUnitTest(__test, __test.test_visitVariableDeclaration_nonConst); |
| // }); |
| // }); |
| // } |
| // } |
| // class ConstantValueComputerTest extends ResolverTestCase { |
| // void test_computeValues_cycle() { |
| // TestLogger logger = new TestLogger(); |
| // AnalysisEngine.instance.logger = logger; |
| // Source librarySource = addSource(EngineTestCase.createSource([ |
| // "const int a = c;", |
| // "const int b = a;", |
| // "const int c = b;"])); |
| // LibraryElement libraryElement = resolve(librarySource); |
| // CompilationUnit unit = analysisContext.resolveCompilationUnit(librarySource, libraryElement); |
| // analysisContext.computeErrors(librarySource); |
| // JUnitTestCase.assertNotNull(unit); |
| // ConstantValueComputer computer = _makeConstantValueComputer(); |
| // computer.add(unit); |
| // computer.computeValues(); |
| // NodeList<CompilationUnitMember> members = unit.declarations; |
| // EngineTestCase.assertSizeOfList(3, members); |
| // _validate(false, (members[0] as TopLevelVariableDeclaration).variables); |
| // _validate(false, (members[1] as TopLevelVariableDeclaration).variables); |
| // _validate(false, (members[2] as TopLevelVariableDeclaration).variables); |
| // } |
| // void test_computeValues_dependentVariables() { |
| // Source librarySource = addSource(EngineTestCase.createSource(["const int b = a;", "const int a = 0;"])); |
| // LibraryElement libraryElement = resolve(librarySource); |
| // CompilationUnit unit = analysisContext.resolveCompilationUnit(librarySource, libraryElement); |
| // JUnitTestCase.assertNotNull(unit); |
| // ConstantValueComputer computer = _makeConstantValueComputer(); |
| // computer.add(unit); |
| // computer.computeValues(); |
| // NodeList<CompilationUnitMember> members = unit.declarations; |
| // EngineTestCase.assertSizeOfList(2, members); |
| // _validate(true, (members[0] as TopLevelVariableDeclaration).variables); |
| // _validate(true, (members[1] as TopLevelVariableDeclaration).variables); |
| // } |
| // void test_computeValues_empty() { |
| // ConstantValueComputer computer = _makeConstantValueComputer(); |
| // computer.computeValues(); |
| // } |
| // void test_computeValues_multipleSources() { |
| // Source librarySource = addNamedSource("/lib.dart", EngineTestCase.createSource([ |
| // "library lib;", |
| // "part 'part.dart';", |
| // "const int c = b;", |
| // "const int a = 0;"])); |
| // Source partSource = addNamedSource("/part.dart", EngineTestCase.createSource(["part of lib;", "const int b = a;", "const int d = c;"])); |
| // LibraryElement libraryElement = resolve(librarySource); |
| // CompilationUnit libraryUnit = analysisContext.resolveCompilationUnit(librarySource, libraryElement); |
| // JUnitTestCase.assertNotNull(libraryUnit); |
| // CompilationUnit partUnit = analysisContext.resolveCompilationUnit(partSource, libraryElement); |
| // JUnitTestCase.assertNotNull(partUnit); |
| // ConstantValueComputer computer = _makeConstantValueComputer(); |
| // computer.add(libraryUnit); |
| // computer.add(partUnit); |
| // computer.computeValues(); |
| // NodeList<CompilationUnitMember> libraryMembers = libraryUnit.declarations; |
| // EngineTestCase.assertSizeOfList(2, libraryMembers); |
| // _validate(true, (libraryMembers[0] as TopLevelVariableDeclaration).variables); |
| // _validate(true, (libraryMembers[1] as TopLevelVariableDeclaration).variables); |
| // NodeList<CompilationUnitMember> partMembers = libraryUnit.declarations; |
| // EngineTestCase.assertSizeOfList(2, partMembers); |
| // _validate(true, (partMembers[0] as TopLevelVariableDeclaration).variables); |
| // _validate(true, (partMembers[1] as TopLevelVariableDeclaration).variables); |
| // } |
| // void test_computeValues_singleVariable() { |
| // Source librarySource = addSource("const int a = 0;"); |
| // LibraryElement libraryElement = resolve(librarySource); |
| // CompilationUnit unit = analysisContext.resolveCompilationUnit(librarySource, libraryElement); |
| // JUnitTestCase.assertNotNull(unit); |
| // ConstantValueComputer computer = _makeConstantValueComputer(); |
| // computer.add(unit); |
| // computer.computeValues(); |
| // NodeList<CompilationUnitMember> members = unit.declarations; |
| // EngineTestCase.assertSizeOfList(1, members); |
| // _validate(true, (members[0] as TopLevelVariableDeclaration).variables); |
| // } |
| // void test_dependencyOnConstructor() { |
| // // x depends on "const A()" |
| // _assertProperDependencies(EngineTestCase.createSource(["class A {", " const A();", "}", "const x = const A();"]), []); |
| // } |
| // void test_dependencyOnConstructorArgument() { |
| // // "const A(x)" depends on x |
| // _assertProperDependencies(EngineTestCase.createSource([ |
| // "class A {", |
| // " const A(this.next);", |
| // " final A next;", |
| // "}", |
| // "const A x = const A(null);", |
| // "const A y = const A(x);"]), []); |
| // } |
| // void test_dependencyOnConstructorArgument_unresolvedConstructor() { |
| // // "const A.a(x)" depends on x even if the constructor A.a can't be found. |
| // // TODO(paulberry): the error CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE is redundant and |
| // // probably shouldn't be issued. |
| // _assertProperDependencies(EngineTestCase.createSource([ |
| // "class A {", |
| // "}", |
| // "const int x = 1;", |
| // "const A y = const A.a(x);"]), [ |
| // CompileTimeErrorCode.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE, |
| // CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR]); |
| // } |
| // void test_dependencyOnConstructorInitializer() { |
| // // "const A()" depends on x |
| // _assertProperDependencies(EngineTestCase.createSource([ |
| // "const int x = 1;", |
| // "class A {", |
| // " const A() : v = x;", |
| // " final int v;", |
| // "}"]), []); |
| // } |
| // void test_dependencyOnExplicitSuperConstructor() { |
| // // b depends on B() depends on A() |
| // _assertProperDependencies(EngineTestCase.createSource([ |
| // "class A {", |
| // " const A(this.x);", |
| // " final int x;", |
| // "}", |
| // "class B extends A {", |
| // " const B() : super(5);", |
| // "}", |
| // "const B b = const B();"]), []); |
| // } |
| // void test_dependencyOnExplicitSuperConstructorParameters() { |
| // // b depends on B() depends on i |
| // _assertProperDependencies(EngineTestCase.createSource([ |
| // "class A {", |
| // " const A(this.x);", |
| // " final int x;", |
| // "}", |
| // "class B extends A {", |
| // " const B() : super(i);", |
| // "}", |
| // "const B b = const B();", |
| // "const int i = 5;"]), []); |
| // } |
| // void test_dependencyOnFactoryRedirect() { |
| // // a depends on A.foo() depends on A.bar() |
| // _assertProperDependencies(EngineTestCase.createSource([ |
| // "const A a = const A.foo();", |
| // "class A {", |
| // " factory const A.foo() = A.bar;", |
| // " const A.bar();", |
| // "}"]), []); |
| // } |
| // void test_dependencyOnFactoryRedirectWithTypeParams() { |
| // _assertProperDependencies(EngineTestCase.createSource([ |
| // "class A {", |
| // " const factory A(var a) = B<int>;", |
| // "}", |
| // "", |
| // "class B<T> implements A {", |
| // " final T x;", |
| // " const B(this.x);", |
| // "}", |
| // "", |
| // "const A a = const A(10);"]), []); |
| // } |
| // void test_dependencyOnImplicitSuperConstructor() { |
| // // b depends on B() depends on A() |
| // _assertProperDependencies(EngineTestCase.createSource([ |
| // "class A {", |
| // " const A() : x = 5;", |
| // " final int x;", |
| // "}", |
| // "class B extends A {", |
| // " const B();", |
| // "}", |
| // "const B b = const B();"]), []); |
| // } |
| // void test_dependencyOnOptionalParameterDefault() { |
| // // a depends on A() depends on B() |
| // _assertProperDependencies(EngineTestCase.createSource([ |
| // "class A {", |
| // " const A([x = const B()]) : b = x;", |
| // " final B b;", |
| // "}", |
| // "class B {", |
| // " const B();", |
| // "}", |
| // "const A a = const A();"]), []); |
| // } |
| // void test_dependencyOnVariable() { |
| // // x depends on y |
| // _assertProperDependencies(EngineTestCase.createSource(["const x = y + 1;", "const y = 2;"]), []); |
| // } |
| // void test_fromEnvironment_bool_default_false() { |
| // JUnitTestCase.assertEquals(false, _assertValidBool(_check_fromEnvironment_bool(null, "false"))); |
| // } |
| // void test_fromEnvironment_bool_default_overridden() { |
| // JUnitTestCase.assertEquals(false, _assertValidBool(_check_fromEnvironment_bool("false", "true"))); |
| // } |
| // void test_fromEnvironment_bool_default_parseError() { |
| // JUnitTestCase.assertEquals(true, _assertValidBool(_check_fromEnvironment_bool("parseError", "true"))); |
| // } |
| // void test_fromEnvironment_bool_default_true() { |
| // JUnitTestCase.assertEquals(true, _assertValidBool(_check_fromEnvironment_bool(null, "true"))); |
| // } |
| // void test_fromEnvironment_bool_false() { |
| // JUnitTestCase.assertEquals(false, _assertValidBool(_check_fromEnvironment_bool("false", null))); |
| // } |
| // void test_fromEnvironment_bool_parseError() { |
| // JUnitTestCase.assertEquals(false, _assertValidBool(_check_fromEnvironment_bool("parseError", null))); |
| // } |
| // void test_fromEnvironment_bool_true() { |
| // JUnitTestCase.assertEquals(true, _assertValidBool(_check_fromEnvironment_bool("true", null))); |
| // } |
| // void test_fromEnvironment_bool_undeclared() { |
| // _assertValidUnknown(_check_fromEnvironment_bool(null, null)); |
| // } |
| // void test_fromEnvironment_int_default_overridden() { |
| // JUnitTestCase.assertEquals(234, _assertValidInt(_check_fromEnvironment_int("234", "123"))); |
| // } |
| // void test_fromEnvironment_int_default_parseError() { |
| // JUnitTestCase.assertEquals(123, _assertValidInt(_check_fromEnvironment_int("parseError", "123"))); |
| // } |
| // void test_fromEnvironment_int_default_undeclared() { |
| // JUnitTestCase.assertEquals(123, _assertValidInt(_check_fromEnvironment_int(null, "123"))); |
| // } |
| // void test_fromEnvironment_int_ok() { |
| // JUnitTestCase.assertEquals(234, _assertValidInt(_check_fromEnvironment_int("234", null))); |
| // } |
| // void test_fromEnvironment_int_parseError() { |
| // _assertValidNull(_check_fromEnvironment_int("parseError", null)); |
| // } |
| // void test_fromEnvironment_int_parseError_nullDefault() { |
| // _assertValidNull(_check_fromEnvironment_int("parseError", "null")); |
| // } |
| // void test_fromEnvironment_int_undeclared() { |
| // _assertValidUnknown(_check_fromEnvironment_int(null, null)); |
| // } |
| // void test_fromEnvironment_int_undeclared_nullDefault() { |
| // _assertValidNull(_check_fromEnvironment_int(null, "null")); |
| // } |
| // void test_fromEnvironment_string_default_overridden() { |
| // JUnitTestCase.assertEquals("abc", _assertValidString(_check_fromEnvironment_string("abc", "'def'"))); |
| // } |
| // void test_fromEnvironment_string_default_undeclared() { |
| // JUnitTestCase.assertEquals("def", _assertValidString(_check_fromEnvironment_string(null, "'def'"))); |
| // } |
| // void test_fromEnvironment_string_empty() { |
| // JUnitTestCase.assertEquals("", _assertValidString(_check_fromEnvironment_string("", null))); |
| // } |
| // void test_fromEnvironment_string_ok() { |
| // JUnitTestCase.assertEquals("abc", _assertValidString(_check_fromEnvironment_string("abc", null))); |
| // } |
| // void test_fromEnvironment_string_undeclared() { |
| // _assertValidUnknown(_check_fromEnvironment_string(null, null)); |
| // } |
| // void test_fromEnvironment_string_undeclared_nullDefault() { |
| // _assertValidNull(_check_fromEnvironment_string(null, "null")); |
| // } |
| // void test_instanceCreationExpression_computedField() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const foo = const A(4, 5);", |
| // "class A {", |
| // " const A(int i, int j) : k = 2 * i + j;", |
| // " final int k;", |
| // "}"])); |
| // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compilationUnit, "foo"); |
| // HashMap<String, DartObjectImpl> fields = _assertType(result, "A"); |
| // EngineTestCase.assertSizeOfMap(1, fields); |
| // _assertIntField(fields, "k", 13); |
| // } |
| // void test_instanceCreationExpression_computedField_namedOptionalWithDefault() { |
| // _checkInstanceCreationOptionalParams(false, true, true); |
| // } |
| // void test_instanceCreationExpression_computedField_namedOptionalWithoutDefault() { |
| // _checkInstanceCreationOptionalParams(false, true, false); |
| // } |
| // void test_instanceCreationExpression_computedField_unnamedOptionalWithDefault() { |
| // _checkInstanceCreationOptionalParams(false, false, true); |
| // } |
| // void test_instanceCreationExpression_computedField_unnamedOptionalWithoutDefault() { |
| // _checkInstanceCreationOptionalParams(false, false, false); |
| // } |
| // void test_instanceCreationExpression_computedField_usesConstConstructor() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const foo = const A(3);", |
| // "class A {", |
| // " const A(int i) : b = const B(4);", |
| // " final int b;", |
| // "}", |
| // "class B {", |
| // " const B(this.k);", |
| // " final int k;", |
| // "}"])); |
| // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compilationUnit, "foo"); |
| // HashMap<String, DartObjectImpl> fieldsOfA = _assertType(result, "A"); |
| // EngineTestCase.assertSizeOfMap(1, fieldsOfA); |
| // HashMap<String, DartObjectImpl> fieldsOfB = _assertFieldType(fieldsOfA, "b", "B"); |
| // EngineTestCase.assertSizeOfMap(1, fieldsOfB); |
| // _assertIntField(fieldsOfB, "k", 4); |
| // } |
| // void test_instanceCreationExpression_computedField_usesStaticConst() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const foo = const A(3);", |
| // "class A {", |
| // " const A(int i) : k = i + B.bar;", |
| // " final int k;", |
| // "}", |
| // "class B {", |
| // " static const bar = 4;", |
| // "}"])); |
| // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compilationUnit, "foo"); |
| // HashMap<String, DartObjectImpl> fields = _assertType(result, "A"); |
| // EngineTestCase.assertSizeOfMap(1, fields); |
| // _assertIntField(fields, "k", 7); |
| // } |
| // void test_instanceCreationExpression_computedField_usesToplevelConst() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const foo = const A(3);", |
| // "const bar = 4;", |
| // "class A {", |
| // " const A(int i) : k = i + bar;", |
| // " final int k;", |
| // "}"])); |
| // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compilationUnit, "foo"); |
| // HashMap<String, DartObjectImpl> fields = _assertType(result, "A"); |
| // EngineTestCase.assertSizeOfMap(1, fields); |
| // _assertIntField(fields, "k", 7); |
| // } |
| // void test_instanceCreationExpression_explicitSuper() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const foo = const B(4, 5);", |
| // "class A {", |
| // " const A(this.x);", |
| // " final int x;", |
| // "}", |
| // "class B extends A {", |
| // " const B(int x, this.y) : super(x * 2);", |
| // " final int y;", |
| // "}"])); |
| // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compilationUnit, "foo"); |
| // HashMap<String, DartObjectImpl> fields = _assertType(result, "B"); |
| // EngineTestCase.assertSizeOfMap(2, fields); |
| // _assertIntField(fields, "y", 5); |
| // HashMap<String, DartObjectImpl> superclassFields = _assertFieldType(fields, GenericState.SUPERCLASS_FIELD, "A"); |
| // EngineTestCase.assertSizeOfMap(1, superclassFields); |
| // _assertIntField(superclassFields, "x", 8); |
| // } |
| // void test_instanceCreationExpression_fieldFormalParameter() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const foo = const A(42);", |
| // "class A {", |
| // " int x;", |
| // " const A(this.x)", |
| // "}"])); |
| // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compilationUnit, "foo"); |
| // HashMap<String, DartObjectImpl> fields = _assertType(result, "A"); |
| // EngineTestCase.assertSizeOfMap(1, fields); |
| // _assertIntField(fields, "x", 42); |
| // } |
| // void test_instanceCreationExpression_fieldFormalParameter_namedOptionalWithDefault() { |
| // _checkInstanceCreationOptionalParams(true, true, true); |
| // } |
| // void test_instanceCreationExpression_fieldFormalParameter_namedOptionalWithoutDefault() { |
| // _checkInstanceCreationOptionalParams(true, true, false); |
| // } |
| // void test_instanceCreationExpression_fieldFormalParameter_unnamedOptionalWithDefault() { |
| // _checkInstanceCreationOptionalParams(true, false, true); |
| // } |
| // void test_instanceCreationExpression_fieldFormalParameter_unnamedOptionalWithoutDefault() { |
| // _checkInstanceCreationOptionalParams(true, false, false); |
| // } |
| // void test_instanceCreationExpression_implicitSuper() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const foo = const B(4);", |
| // "class A {", |
| // " const A() : x(3);", |
| // " final int x;", |
| // "}", |
| // "class B extends A {", |
| // " const B(this.y);", |
| // " final int y;", |
| // "}"])); |
| // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compilationUnit, "foo"); |
| // HashMap<String, DartObjectImpl> fields = _assertType(result, "B"); |
| // EngineTestCase.assertSizeOfMap(2, fields); |
| // _assertIntField(fields, "y", 4); |
| // HashMap<String, DartObjectImpl> superclassFields = _assertFieldType(fields, GenericState.SUPERCLASS_FIELD, "A"); |
| // EngineTestCase.assertSizeOfMap(1, superclassFields); |
| // _assertIntField(superclassFields, "x", 3); |
| // } |
| // void test_instanceCreationExpression_redirect() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const foo = const A();", |
| // "class A {", |
| // " const factory A() = B;", |
| // "}", |
| // "class B implements A {", |
| // " const B();", |
| // "}"])); |
| // _assertType(_evaluateInstanceCreationExpression(compilationUnit, "foo"), "B"); |
| // } |
| // void test_instanceCreationExpression_redirect_cycle() { |
| // // It is an error to have a cycle in factory redirects; however, we need |
| // // to make sure that even if the error occurs, attempting to evaluate the |
| // // constant will terminate. |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const foo = const A();", |
| // "class A {", |
| // " const factory A() = A.b;", |
| // " const factory A.b() = A;", |
| // "}"])); |
| // _assertValidUnknown(_evaluateInstanceCreationExpression(compilationUnit, "foo")); |
| // } |
| // void test_instanceCreationExpression_redirect_extern() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const foo = const A();", |
| // "class A {", |
| // " external const factory A();", |
| // "}"])); |
| // _assertValidUnknown(_evaluateInstanceCreationExpression(compilationUnit, "foo")); |
| // } |
| // void test_instanceCreationExpression_redirect_nonConst() { |
| // // It is an error for a const factory constructor redirect to a non-const |
| // // constructor; however, we need to make sure that even if the error |
| // // attempting to evaluate the constant won't cause a crash. |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const foo = const A();", |
| // "class A {", |
| // " const factory A() = A.b;", |
| // " A.b();", |
| // "}"])); |
| // _assertValidUnknown(_evaluateInstanceCreationExpression(compilationUnit, "foo")); |
| // } |
| // void test_instanceCreationExpression_redirectWithTypeParams() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "class A {", |
| // " const factory A(var a) = B<int>;", |
| // "}", |
| // "", |
| // "class B<T> implements A {", |
| // " final T x;", |
| // " const B(this.x);", |
| // "}", |
| // "", |
| // "const A a = const A(10);"])); |
| // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compilationUnit, "a"); |
| // HashMap<String, DartObjectImpl> fields = _assertType(result, "B<int>"); |
| // EngineTestCase.assertSizeOfMap(1, fields); |
| // _assertIntField(fields, "x", 10); |
| // } |
| // void test_instanceCreationExpression_redirectWithTypeSubstitution() { |
| // // To evaluate the redirection of A<int>, A's template argument (T=int) must be substituted |
| // // into B's template argument (B<U> where U=T) to get B<int>. |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "class A<T> {", |
| // " const factory A(var a) = B<T>;", |
| // "}", |
| // "", |
| // "class B<U> implements A {", |
| // " final U x;", |
| // " const B(this.x);", |
| // "}", |
| // "", |
| // "const A<int> a = const A<int>(10);"])); |
| // EvaluationResultImpl result = _evaluateInstanceCreationExpression(compilationUnit, "a"); |
| // HashMap<String, DartObjectImpl> fields = _assertType(result, "B<int>"); |
| // EngineTestCase.assertSizeOfMap(1, fields); |
| // _assertIntField(fields, "x", 10); |
| // } |
| // void test_instanceCreationExpression_symbol() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource(["const foo = const Symbol('a');"])); |
| // EvaluationResultImpl evaluationResult = _evaluateInstanceCreationExpression(compilationUnit, "foo"); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, evaluationResult); |
| // DartObjectImpl value = (evaluationResult as ValidResult).value; |
| // JUnitTestCase.assertEquals(typeProvider.symbolType, value.type); |
| // JUnitTestCase.assertEquals("a", value.value); |
| // } |
| // void test_instanceCreationExpression_withSupertypeParams_explicit() { |
| // _checkInstanceCreation_withSupertypeParams(true); |
| // } |
| // void test_instanceCreationExpression_withSupertypeParams_implicit() { |
| // _checkInstanceCreation_withSupertypeParams(false); |
| // } |
| // void test_instanceCreationExpression_withTypeParams() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "class C<E> {", |
| // " const C();", |
| // "}", |
| // "const c_int = const C<int>();", |
| // "const c_num = const C<num>();"])); |
| // EvaluationResultImpl c_int = _evaluateInstanceCreationExpression(compilationUnit, "c_int"); |
| // _assertType(c_int, "C<int>"); |
| // DartObjectImpl c_int_value = (c_int as ValidResult).value; |
| // EvaluationResultImpl c_num = _evaluateInstanceCreationExpression(compilationUnit, "c_num"); |
| // _assertType(c_num, "C<num>"); |
| // DartObjectImpl c_num_value = (c_num as ValidResult).value; |
| // JUnitTestCase.assertFalse(c_int_value == c_num_value); |
| // } |
| // void test_isValidSymbol() { |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo.bar")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo\$")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo\$bar")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("iff")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("gif")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("if\$")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("\$if")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo=")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo.bar=")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("foo.+")); |
| // JUnitTestCase.assertTrue(ConstantValueComputer.isValidPublicSymbol("void")); |
| // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("_foo")); |
| // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("_foo.bar")); |
| // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("foo._bar")); |
| // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("if")); |
| // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("if.foo")); |
| // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("foo.if")); |
| // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("foo=.bar")); |
| // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("foo.")); |
| // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("+.foo")); |
| // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("void.foo")); |
| // JUnitTestCase.assertFalse(ConstantValueComputer.isValidPublicSymbol("foo.void")); |
| // } |
| // void test_symbolLiteral_void() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource(["const voidSymbol = #void;"])); |
| // VariableDeclaration voidSymbol = findTopLevelDeclaration(compilationUnit, "voidSymbol"); |
| // EvaluationResultImpl voidSymbolResult = (voidSymbol.element as VariableElementImpl).evaluationResult; |
| // DartObjectImpl value = (voidSymbolResult as ValidResult).value; |
| // JUnitTestCase.assertEquals(typeProvider.symbolType, value.type); |
| // JUnitTestCase.assertEquals("void", value.value); |
| // } |
| // HashMap<String, DartObjectImpl> _assertFieldType(HashMap<String, DartObjectImpl> fields, String fieldName, String expectedType) { |
| // DartObjectImpl field = fields[fieldName]; |
| // JUnitTestCase.assertEquals(expectedType, field.type.displayName); |
| // return field.fields; |
| // } |
| // void _assertIntField(HashMap<String, DartObjectImpl> fields, String fieldName, int expectedValue) { |
| // DartObjectImpl field = fields[fieldName]; |
| // JUnitTestCase.assertEquals("int", field.type.name); |
| // JUnitTestCase.assertEquals(expectedValue, field.intValue.longValue()); |
| // } |
| // void _assertNullField(HashMap<String, DartObjectImpl> fields, String fieldName) { |
| // DartObjectImpl field = fields[fieldName]; |
| // JUnitTestCase.assertTrue(field.isNull); |
| // } |
| // void _assertProperDependencies(String sourceText, List<ErrorCode> expectedErrorCodes) { |
| // Source source = addSource(sourceText); |
| // LibraryElement element = resolve(source); |
| // CompilationUnit unit = analysisContext.resolveCompilationUnit(source, element); |
| // JUnitTestCase.assertNotNull(unit); |
| // ConstantValueComputer computer = _makeConstantValueComputer(); |
| // computer.add(unit); |
| // computer.computeValues(); |
| // assertErrors(source, expectedErrorCodes); |
| // } |
| // HashMap<String, DartObjectImpl> _assertType(EvaluationResultImpl result, String typeName) { |
| // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result); |
| // DartObjectImpl value = (result as ValidResult).value; |
| // JUnitTestCase.assertEquals(typeName, value.type.displayName); |
| // return value.fields; |
| // } |
| // bool _assertValidBool(EvaluationResultImpl result) { |
| // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result); |
| // DartObjectImpl value = (result as ValidResult).value; |
| // JUnitTestCase.assertEquals(typeProvider.boolType, value.type); |
| // bool boolValue = value.boolValue; |
| // JUnitTestCase.assertNotNull(boolValue); |
| // return boolValue; |
| // } |
| // int _assertValidInt(EvaluationResultImpl result) { |
| // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result); |
| // DartObjectImpl value = (result as ValidResult).value; |
| // JUnitTestCase.assertEquals(typeProvider.intType, value.type); |
| // return value.intValue; |
| // } |
| // void _assertValidNull(EvaluationResultImpl result) { |
| // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result); |
| // DartObjectImpl value = (result as ValidResult).value; |
| // JUnitTestCase.assertEquals(typeProvider.nullType, value.type); |
| // } |
| // String _assertValidString(EvaluationResultImpl result) { |
| // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result); |
| // DartObjectImpl value = (result as ValidResult).value; |
| // JUnitTestCase.assertEquals(typeProvider.stringType, value.type); |
| // return value.stringValue; |
| // } |
| // void _assertValidUnknown(EvaluationResultImpl result) { |
| // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result); |
| // DartObjectImpl value = (result as ValidResult).value; |
| // JUnitTestCase.assertTrue(value.isUnknown); |
| // } |
| // EvaluationResultImpl _check_fromEnvironment_bool(String valueInEnvironment, String defaultExpr) { |
| // String envVarName = "x"; |
| // String varName = "foo"; |
| // if (valueInEnvironment != null) { |
| // analysisContext2.declaredVariables.define(envVarName, valueInEnvironment); |
| // } |
| // String defaultArg = defaultExpr == null ? "" : ", defaultValue: ${defaultExpr}"; |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource(["const ${varName} = const bool.fromEnvironment('${envVarName}'${defaultArg});"])); |
| // return _evaluateInstanceCreationExpression(compilationUnit, varName); |
| // } |
| // EvaluationResultImpl _check_fromEnvironment_int(String valueInEnvironment, String defaultExpr) { |
| // String envVarName = "x"; |
| // String varName = "foo"; |
| // if (valueInEnvironment != null) { |
| // analysisContext2.declaredVariables.define(envVarName, valueInEnvironment); |
| // } |
| // String defaultArg = defaultExpr == null ? "" : ", defaultValue: ${defaultExpr}"; |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource(["const ${varName} = const int.fromEnvironment('${envVarName}'${defaultArg});"])); |
| // return _evaluateInstanceCreationExpression(compilationUnit, varName); |
| // } |
| // EvaluationResultImpl _check_fromEnvironment_string(String valueInEnvironment, String defaultExpr) { |
| // String envVarName = "x"; |
| // String varName = "foo"; |
| // if (valueInEnvironment != null) { |
| // analysisContext2.declaredVariables.define(envVarName, valueInEnvironment); |
| // } |
| // String defaultArg = defaultExpr == null ? "" : ", defaultValue: ${defaultExpr}"; |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource(["const ${varName} = const String.fromEnvironment('${envVarName}'${defaultArg});"])); |
| // return _evaluateInstanceCreationExpression(compilationUnit, varName); |
| // } |
| // void _checkInstanceCreation_withSupertypeParams(bool isExplicit) { |
| // String superCall = isExplicit ? " : super()" : ""; |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "class A<T> {", |
| // " const A();", |
| // "}", |
| // "class B<T, U> extends A<T> {", |
| // " const B()${superCall};", |
| // "}", |
| // "class C<T, U> extends A<U> {", |
| // " const C()${superCall};", |
| // "}", |
| // "const b_int_num = const B<int, num>();", |
| // "const c_int_num = const C<int, num>();"])); |
| // EvaluationResultImpl b_int_num = _evaluateInstanceCreationExpression(compilationUnit, "b_int_num"); |
| // HashMap<String, DartObjectImpl> b_int_num_fields = _assertType(b_int_num, "B<int, num>"); |
| // _assertFieldType(b_int_num_fields, GenericState.SUPERCLASS_FIELD, "A<int>"); |
| // EvaluationResultImpl c_int_num = _evaluateInstanceCreationExpression(compilationUnit, "c_int_num"); |
| // HashMap<String, DartObjectImpl> c_int_num_fields = _assertType(c_int_num, "C<int, num>"); |
| // _assertFieldType(c_int_num_fields, GenericState.SUPERCLASS_FIELD, "A<num>"); |
| // } |
| // void _checkInstanceCreationOptionalParams(bool isFieldFormal, bool isNamed, bool hasDefault) { |
| // String fieldName = "j"; |
| // String paramName = isFieldFormal ? fieldName : "i"; |
| // String formalParam = "${(isFieldFormal ? "this." : "int ")}${paramName}${(hasDefault ? " = 3" : "")}"; |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource([ |
| // "const x = const A();", |
| // "const y = const A(${(isNamed ? "${paramName}: " : "")}10);", |
| // "class A {", |
| // " const A(${(isNamed ? "{${formalParam}}" : "[${formalParam}]")})${(isFieldFormal ? "" : " : ${fieldName} = ${paramName}")};", |
| // " final int ${fieldName};", |
| // "}"])); |
| // EvaluationResultImpl x = _evaluateInstanceCreationExpression(compilationUnit, "x"); |
| // HashMap<String, DartObjectImpl> fieldsOfX = _assertType(x, "A"); |
| // EngineTestCase.assertSizeOfMap(1, fieldsOfX); |
| // if (hasDefault) { |
| // _assertIntField(fieldsOfX, fieldName, 3); |
| // } else { |
| // _assertNullField(fieldsOfX, fieldName); |
| // } |
| // EvaluationResultImpl y = _evaluateInstanceCreationExpression(compilationUnit, "y"); |
| // HashMap<String, DartObjectImpl> fieldsOfY = _assertType(y, "A"); |
| // EngineTestCase.assertSizeOfMap(1, fieldsOfY); |
| // _assertIntField(fieldsOfY, fieldName, 10); |
| // } |
| // EvaluationResultImpl _evaluateInstanceCreationExpression(CompilationUnit compilationUnit, String name) { |
| // Expression expression = findTopLevelConstantExpression(compilationUnit, name); |
| // return (expression as InstanceCreationExpression).evaluationResult; |
| // } |
| // ConstantValueComputer _makeConstantValueComputer() => new ConstantValueComputerTest_ValidatingConstantValueComputer(new TestTypeProvider(), analysisContext2.declaredVariables); |
| // void _validate(bool shouldBeValid, VariableDeclarationList declarationList) { |
| // for (VariableDeclaration declaration in declarationList.variables) { |
| // VariableElementImpl element = declaration.element as VariableElementImpl; |
| // JUnitTestCase.assertNotNull(element); |
| // EvaluationResultImpl result = element.evaluationResult; |
| // if (shouldBeValid) { |
| // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result); |
| // Object value = (result as ValidResult).value; |
| // JUnitTestCase.assertNotNull(value); |
| // } else { |
| // EngineTestCase.assertInstanceOf((obj) => obj is ErrorResult, ErrorResult, result); |
| // } |
| // } |
| // } |
| // static dartSuite() { |
| // _ut.group('ConstantValueComputerTest', () { |
| // _ut.test('test_computeValues_cycle', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_computeValues_cycle); |
| // }); |
| // _ut.test('test_computeValues_dependentVariables', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_computeValues_dependentVariables); |
| // }); |
| // _ut.test('test_computeValues_empty', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_computeValues_empty); |
| // }); |
| // _ut.test('test_computeValues_multipleSources', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_computeValues_multipleSources); |
| // }); |
| // _ut.test('test_computeValues_singleVariable', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_computeValues_singleVariable); |
| // }); |
| // _ut.test('test_dependencyOnConstructor', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_dependencyOnConstructor); |
| // }); |
| // _ut.test('test_dependencyOnConstructorArgument', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_dependencyOnConstructorArgument); |
| // }); |
| // _ut.test('test_dependencyOnConstructorArgument_unresolvedConstructor', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_dependencyOnConstructorArgument_unresolvedConstructor); |
| // }); |
| // _ut.test('test_dependencyOnConstructorInitializer', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_dependencyOnConstructorInitializer); |
| // }); |
| // _ut.test('test_dependencyOnExplicitSuperConstructor', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_dependencyOnExplicitSuperConstructor); |
| // }); |
| // _ut.test('test_dependencyOnExplicitSuperConstructorParameters', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_dependencyOnExplicitSuperConstructorParameters); |
| // }); |
| // _ut.test('test_dependencyOnFactoryRedirect', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_dependencyOnFactoryRedirect); |
| // }); |
| // _ut.test('test_dependencyOnFactoryRedirectWithTypeParams', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_dependencyOnFactoryRedirectWithTypeParams); |
| // }); |
| // _ut.test('test_dependencyOnImplicitSuperConstructor', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_dependencyOnImplicitSuperConstructor); |
| // }); |
| // _ut.test('test_dependencyOnOptionalParameterDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_dependencyOnOptionalParameterDefault); |
| // }); |
| // _ut.test('test_dependencyOnVariable', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_dependencyOnVariable); |
| // }); |
| // _ut.test('test_fromEnvironment_bool_default_false', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_bool_default_false); |
| // }); |
| // _ut.test('test_fromEnvironment_bool_default_overridden', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_bool_default_overridden); |
| // }); |
| // _ut.test('test_fromEnvironment_bool_default_parseError', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_bool_default_parseError); |
| // }); |
| // _ut.test('test_fromEnvironment_bool_default_true', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_bool_default_true); |
| // }); |
| // _ut.test('test_fromEnvironment_bool_false', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_bool_false); |
| // }); |
| // _ut.test('test_fromEnvironment_bool_parseError', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_bool_parseError); |
| // }); |
| // _ut.test('test_fromEnvironment_bool_true', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_bool_true); |
| // }); |
| // _ut.test('test_fromEnvironment_bool_undeclared', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_bool_undeclared); |
| // }); |
| // _ut.test('test_fromEnvironment_int_default_overridden', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_int_default_overridden); |
| // }); |
| // _ut.test('test_fromEnvironment_int_default_parseError', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_int_default_parseError); |
| // }); |
| // _ut.test('test_fromEnvironment_int_default_undeclared', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_int_default_undeclared); |
| // }); |
| // _ut.test('test_fromEnvironment_int_ok', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_int_ok); |
| // }); |
| // _ut.test('test_fromEnvironment_int_parseError', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_int_parseError); |
| // }); |
| // _ut.test('test_fromEnvironment_int_parseError_nullDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_int_parseError_nullDefault); |
| // }); |
| // _ut.test('test_fromEnvironment_int_undeclared', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_int_undeclared); |
| // }); |
| // _ut.test('test_fromEnvironment_int_undeclared_nullDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_int_undeclared_nullDefault); |
| // }); |
| // _ut.test('test_fromEnvironment_string_default_overridden', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_string_default_overridden); |
| // }); |
| // _ut.test('test_fromEnvironment_string_default_undeclared', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_string_default_undeclared); |
| // }); |
| // _ut.test('test_fromEnvironment_string_empty', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_string_empty); |
| // }); |
| // _ut.test('test_fromEnvironment_string_ok', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_string_ok); |
| // }); |
| // _ut.test('test_fromEnvironment_string_undeclared', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_string_undeclared); |
| // }); |
| // _ut.test('test_fromEnvironment_string_undeclared_nullDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_fromEnvironment_string_undeclared_nullDefault); |
| // }); |
| // _ut.test('test_instanceCreationExpression_computedField', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_computedField); |
| // }); |
| // _ut.test('test_instanceCreationExpression_computedField_namedOptionalWithDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_computedField_namedOptionalWithDefault); |
| // }); |
| // _ut.test('test_instanceCreationExpression_computedField_namedOptionalWithoutDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_computedField_namedOptionalWithoutDefault); |
| // }); |
| // _ut.test('test_instanceCreationExpression_computedField_unnamedOptionalWithDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_computedField_unnamedOptionalWithDefault); |
| // }); |
| // _ut.test('test_instanceCreationExpression_computedField_unnamedOptionalWithoutDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_computedField_unnamedOptionalWithoutDefault); |
| // }); |
| // _ut.test('test_instanceCreationExpression_computedField_usesConstConstructor', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_computedField_usesConstConstructor); |
| // }); |
| // _ut.test('test_instanceCreationExpression_computedField_usesStaticConst', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_computedField_usesStaticConst); |
| // }); |
| // _ut.test('test_instanceCreationExpression_computedField_usesToplevelConst', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_computedField_usesToplevelConst); |
| // }); |
| // _ut.test('test_instanceCreationExpression_explicitSuper', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_explicitSuper); |
| // }); |
| // _ut.test('test_instanceCreationExpression_fieldFormalParameter', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_fieldFormalParameter); |
| // }); |
| // _ut.test('test_instanceCreationExpression_fieldFormalParameter_namedOptionalWithDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_fieldFormalParameter_namedOptionalWithDefault); |
| // }); |
| // _ut.test('test_instanceCreationExpression_fieldFormalParameter_namedOptionalWithoutDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_fieldFormalParameter_namedOptionalWithoutDefault); |
| // }); |
| // _ut.test('test_instanceCreationExpression_fieldFormalParameter_unnamedOptionalWithDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_fieldFormalParameter_unnamedOptionalWithDefault); |
| // }); |
| // _ut.test('test_instanceCreationExpression_fieldFormalParameter_unnamedOptionalWithoutDefault', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_fieldFormalParameter_unnamedOptionalWithoutDefault); |
| // }); |
| // _ut.test('test_instanceCreationExpression_implicitSuper', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_implicitSuper); |
| // }); |
| // _ut.test('test_instanceCreationExpression_redirect', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_redirect); |
| // }); |
| // _ut.test('test_instanceCreationExpression_redirectWithTypeParams', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_redirectWithTypeParams); |
| // }); |
| // _ut.test('test_instanceCreationExpression_redirectWithTypeSubstitution', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_redirectWithTypeSubstitution); |
| // }); |
| // _ut.test('test_instanceCreationExpression_redirect_cycle', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_redirect_cycle); |
| // }); |
| // _ut.test('test_instanceCreationExpression_redirect_extern', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_redirect_extern); |
| // }); |
| // _ut.test('test_instanceCreationExpression_redirect_nonConst', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_redirect_nonConst); |
| // }); |
| // _ut.test('test_instanceCreationExpression_symbol', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_symbol); |
| // }); |
| // _ut.test('test_instanceCreationExpression_withSupertypeParams_explicit', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_withSupertypeParams_explicit); |
| // }); |
| // _ut.test('test_instanceCreationExpression_withSupertypeParams_implicit', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_withSupertypeParams_implicit); |
| // }); |
| // _ut.test('test_instanceCreationExpression_withTypeParams', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_withTypeParams); |
| // }); |
| // _ut.test('test_isValidSymbol', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_isValidSymbol); |
| // }); |
| // _ut.test('test_symbolLiteral_void', () { |
| // final __test = new ConstantValueComputerTest(); |
| // runJUnitTest(__test, __test.test_symbolLiteral_void); |
| // }); |
| // }); |
| // } |
| // } |
| // class ConstantValueComputerTest_ValidatingConstantValueComputer extends ConstantValueComputer { |
| // AstNode _nodeBeingEvaluated; |
| // ConstantValueComputerTest_ValidatingConstantValueComputer(TypeProvider typeProvider, DeclaredVariables declaredVariables) : super(typeProvider, declaredVariables); |
| // @override |
| // void beforeComputeValue(AstNode constNode) { |
| // super.beforeComputeValue(constNode); |
| // _nodeBeingEvaluated = constNode; |
| // } |
| // @override |
| // void beforeGetConstantInitializers(ConstructorElement constructor) { |
| // super.beforeGetConstantInitializers(constructor); |
| // // If we are getting the constant initializers for a node in the graph, make sure we properly |
| // // recorded the dependency. |
| // ConstructorDeclaration node = findConstructorDeclaration(constructor); |
| // if (node != null && referenceGraph.nodes.contains(node)) { |
| // JUnitTestCase.assertTrue(referenceGraph.containsPath(_nodeBeingEvaluated, node)); |
| // } |
| // } |
| // @override |
| // void beforeGetParameterDefault(ParameterElement parameter) { |
| // super.beforeGetParameterDefault(parameter); |
| // // Find the ConstructorElement and figure out which parameter we're talking about. |
| // ConstructorElement constructor = parameter.getAncestor((element) => element is ConstructorElement); |
| // int parameterIndex; |
| // List<ParameterElement> parameters = constructor.parameters; |
| // int numParameters = parameters.length; |
| // for (parameterIndex = 0; parameterIndex < numParameters; parameterIndex++) { |
| // if (identical(parameters[parameterIndex], parameter)) { |
| // break; |
| // } |
| // } |
| // JUnitTestCase.assertTrue(parameterIndex < numParameters); |
| // // If we are getting the default parameter for a constructor in the graph, make sure we properly |
| // // recorded the dependency on the parameter. |
| // ConstructorDeclaration constructorNode = constructorDeclarationMap[constructor]; |
| // if (constructorNode != null) { |
| // FormalParameter parameterNode = constructorNode.parameters.parameters[parameterIndex]; |
| // JUnitTestCase.assertTrue(referenceGraph.nodes.contains(parameterNode)); |
| // JUnitTestCase.assertTrue(referenceGraph.containsPath(_nodeBeingEvaluated, parameterNode)); |
| // } |
| // } |
| // @override |
| // ConstantVisitor createConstantVisitor() => new ConstantValueComputerTest_ValidatingConstantVisitor(typeProvider, referenceGraph, _nodeBeingEvaluated); |
| // } |
| // class ConstantValueComputerTest_ValidatingConstantVisitor extends ConstantVisitor { |
| // final DirectedGraph<AstNode> _referenceGraph; |
| // final AstNode _nodeBeingEvaluated; |
| // ConstantValueComputerTest_ValidatingConstantVisitor(TypeProvider typeProvider, this._referenceGraph, this._nodeBeingEvaluated) : super.con1(typeProvider); |
| // @override |
| // void beforeGetEvaluationResult(AstNode node) { |
| // super.beforeGetEvaluationResult(node); |
| // // If we are getting the evaluation result for a node in the graph, make sure we properly |
| // // recorded the dependency. |
| // if (_referenceGraph.nodes.contains(node)) { |
| // JUnitTestCase.assertTrue(_referenceGraph.containsPath(_nodeBeingEvaluated, node)); |
| // } |
| // } |
| // } |
| // class ConstantVisitorTest extends ResolverTestCase { |
| // void test_visitConditionalExpression_false() { |
| // Expression thenExpression = AstFactory.integer(1); |
| // Expression elseExpression = AstFactory.integer(0); |
| // ConditionalExpression expression = AstFactory.conditionalExpression(AstFactory.booleanLiteral(false), thenExpression, elseExpression); |
| // _assertValue(0, expression.accept(new ConstantVisitor.con1(new TestTypeProvider()))); |
| // } |
| // void test_visitConditionalExpression_instanceCreation_invalidFieldInitializer() { |
| // TestTypeProvider typeProvider = new TestTypeProvider(); |
| // LibraryElementImpl libraryElement = ElementFactory.library(null, "lib"); |
| // String className = "C"; |
| // ClassElementImpl classElement = ElementFactory.classElement2(className, []); |
| // (libraryElement.definingCompilationUnit as CompilationUnitElementImpl).types = <ClassElement> [classElement]; |
| // ConstructorElementImpl constructorElement = ElementFactory.constructorElement(classElement, null, true, [typeProvider.intType]); |
| // constructorElement.parameters[0] = new FieldFormalParameterElementImpl(AstFactory.identifier3("x")); |
| // InstanceCreationExpression expression = AstFactory.instanceCreationExpression2(Keyword.CONST, AstFactory.typeName4(className, []), [AstFactory.integer(0)]); |
| // expression.staticElement = constructorElement; |
| // expression.accept(new ConstantVisitor.con1(typeProvider)); |
| // } |
| // void test_visitConditionalExpression_nonBooleanCondition() { |
| // Expression thenExpression = AstFactory.integer(1); |
| // Expression elseExpression = AstFactory.integer(0); |
| // ConditionalExpression expression = AstFactory.conditionalExpression(AstFactory.nullLiteral(), thenExpression, elseExpression); |
| // EvaluationResultImpl result = expression.accept(new ConstantVisitor.con1(new TestTypeProvider())); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ErrorResult, ErrorResult, result); |
| // } |
| // void test_visitConditionalExpression_nonConstantElse() { |
| // Expression thenExpression = AstFactory.integer(1); |
| // Expression elseExpression = AstFactory.identifier3("x"); |
| // ConditionalExpression expression = AstFactory.conditionalExpression(AstFactory.booleanLiteral(true), thenExpression, elseExpression); |
| // EvaluationResultImpl result = expression.accept(new ConstantVisitor.con1(new TestTypeProvider())); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ErrorResult, ErrorResult, result); |
| // } |
| // void test_visitConditionalExpression_nonConstantThen() { |
| // Expression thenExpression = AstFactory.identifier3("x"); |
| // Expression elseExpression = AstFactory.integer(0); |
| // ConditionalExpression expression = AstFactory.conditionalExpression(AstFactory.booleanLiteral(true), thenExpression, elseExpression); |
| // EvaluationResultImpl result = expression.accept(new ConstantVisitor.con1(new TestTypeProvider())); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ErrorResult, ErrorResult, result); |
| // } |
| // void test_visitConditionalExpression_true() { |
| // Expression thenExpression = AstFactory.integer(1); |
| // Expression elseExpression = AstFactory.integer(0); |
| // ConditionalExpression expression = AstFactory.conditionalExpression(AstFactory.booleanLiteral(true), thenExpression, elseExpression); |
| // _assertValue(1, expression.accept(new ConstantVisitor.con1(new TestTypeProvider()))); |
| // } |
| // void test_visitSimpleIdentifier_inEnvironment() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource(["const a = b;", "const b = 3;"])); |
| // HashMap<String, DartObjectImpl> environment = new HashMap<String, DartObjectImpl>(); |
| // DartObjectImpl six = new DartObjectImpl(typeProvider.intType, new IntState(6)); |
| // environment["b"] = six; |
| // _assertValue(6, _evaluateConstant(compilationUnit, "a", environment)); |
| // } |
| // void test_visitSimpleIdentifier_notInEnvironment() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource(["const a = b;", "const b = 3;"])); |
| // HashMap<String, DartObjectImpl> environment = new HashMap<String, DartObjectImpl>(); |
| // DartObjectImpl six = new DartObjectImpl(typeProvider.intType, new IntState(6)); |
| // environment["c"] = six; |
| // _assertValue(3, _evaluateConstant(compilationUnit, "a", environment)); |
| // } |
| // void test_visitSimpleIdentifier_withoutEnvironment() { |
| // CompilationUnit compilationUnit = resolveSource(EngineTestCase.createSource(["const a = b;", "const b = 3;"])); |
| // _assertValue(3, _evaluateConstant(compilationUnit, "a", null)); |
| // } |
| // void _assertValue(int expectedValue, EvaluationResultImpl result) { |
| // EngineTestCase.assertInstanceOf((obj) => obj is ValidResult, ValidResult, result); |
| // DartObjectImpl value = (result as ValidResult).value; |
| // JUnitTestCase.assertEquals("int", value.type.name); |
| // JUnitTestCase.assertEquals(expectedValue, value.intValue.longValue()); |
| // } |
| // EvaluationResultImpl _evaluateConstant(CompilationUnit compilationUnit, String name, HashMap<String, DartObjectImpl> lexicalEnvironment) { |
| // Expression expression = findTopLevelConstantExpression(compilationUnit, name); |
| // return expression.accept(new ConstantVisitor.con2(typeProvider, lexicalEnvironment)); |
| // } |
| // static dartSuite() { |
| // _ut.group('ConstantVisitorTest', () { |
| // _ut.test('test_visitConditionalExpression_false', () { |
| // final __test = new ConstantVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitConditionalExpression_false); |
| // }); |
| // _ut.test('test_visitConditionalExpression_instanceCreation_invalidFieldInitializer', () { |
| // final __test = new ConstantVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitConditionalExpression_instanceCreation_invalidFieldInitializer); |
| // }); |
| // _ut.test('test_visitConditionalExpression_nonBooleanCondition', () { |
| // final __test = new ConstantVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitConditionalExpression_nonBooleanCondition); |
| // }); |
| // _ut.test('test_visitConditionalExpression_nonConstantElse', () { |
| // final __test = new ConstantVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitConditionalExpression_nonConstantElse); |
| // }); |
| // _ut.test('test_visitConditionalExpression_nonConstantThen', () { |
| // final __test = new ConstantVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitConditionalExpression_nonConstantThen); |
| // }); |
| // _ut.test('test_visitConditionalExpression_true', () { |
| // final __test = new ConstantVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitConditionalExpression_true); |
| // }); |
| // _ut.test('test_visitSimpleIdentifier_inEnvironment', () { |
| // final __test = new ConstantVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitSimpleIdentifier_inEnvironment); |
| // }); |
| // _ut.test('test_visitSimpleIdentifier_notInEnvironment', () { |
| // final __test = new ConstantVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitSimpleIdentifier_notInEnvironment); |
| // }); |
| // _ut.test('test_visitSimpleIdentifier_withoutEnvironment', () { |
| // final __test = new ConstantVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitSimpleIdentifier_withoutEnvironment); |
| // }); |
| // }); |
| // } |
| // } |
| // class ContentCacheTest extends JUnitTestCase { |
| // void test_setContents() { |
| // Source source = new TestSource(); |
| // ContentCache cache = new ContentCache(); |
| // JUnitTestCase.assertNull(cache.getContents(source)); |
| // JUnitTestCase.assertNull(cache.getModificationStamp(source)); |
| // String contents = "library lib;"; |
| // JUnitTestCase.assertNull(cache.setContents(source, contents)); |
| // JUnitTestCase.assertEquals(contents, cache.getContents(source)); |
| // JUnitTestCase.assertNotNull(cache.getModificationStamp(source)); |
| // JUnitTestCase.assertEquals(contents, cache.setContents(source, contents)); |
| // JUnitTestCase.assertEquals(contents, cache.setContents(source, null)); |
| // JUnitTestCase.assertNull(cache.getContents(source)); |
| // JUnitTestCase.assertNull(cache.getModificationStamp(source)); |
| // JUnitTestCase.assertNull(cache.setContents(source, null)); |
| // } |
| // static dartSuite() { |
| // _ut.group('ContentCacheTest', () { |
| // _ut.test('test_setContents', () { |
| // final __test = new ContentCacheTest(); |
| // runJUnitTest(__test, __test.test_setContents); |
| // }); |
| // }); |
| // } |
| // } |
| // class DartObjectImplTest extends EngineTestCase { |
| // TypeProvider _typeProvider = new TestTypeProvider(); |
| // void test_add_invalid_knownInt() { |
| // _assertAdd(null, _stringValue("1"), _intValue(2)); |
| // } |
| // void test_add_knownDouble_knownDouble() { |
| // _assertAdd(_doubleValue(3.0), _doubleValue(1.0), _doubleValue(2.0)); |
| // } |
| // void test_add_knownDouble_knownInt() { |
| // _assertAdd(_doubleValue(3.0), _doubleValue(1.0), _intValue(2)); |
| // } |
| // void test_add_knownDouble_unknownDouble() { |
| // _assertAdd(_doubleValue(null), _doubleValue(1.0), _doubleValue(null)); |
| // } |
| // void test_add_knownDouble_unknownInt() { |
| // _assertAdd(_doubleValue(null), _doubleValue(1.0), _intValue(null)); |
| // } |
| // void test_add_knownInt_invalid() { |
| // _assertAdd(null, _intValue(1), _stringValue("2")); |
| // } |
| // void test_add_knownInt_knownInt() { |
| // _assertAdd(_intValue(3), _intValue(1), _intValue(2)); |
| // } |
| // void test_add_knownInt_unknownDouble() { |
| // _assertAdd(_doubleValue(null), _intValue(1), _doubleValue(null)); |
| // } |
| // void test_add_knownInt_unknownInt() { |
| // _assertAdd(_intValue(null), _intValue(1), _intValue(null)); |
| // } |
| // void test_add_unknownDouble_knownDouble() { |
| // _assertAdd(_doubleValue(null), _doubleValue(null), _doubleValue(2.0)); |
| // } |
| // void test_add_unknownDouble_knownInt() { |
| // _assertAdd(_doubleValue(null), _doubleValue(null), _intValue(2)); |
| // } |
| // void test_add_unknownInt_knownDouble() { |
| // _assertAdd(_doubleValue(null), _intValue(null), _doubleValue(2.0)); |
| // } |
| // void test_add_unknownInt_knownInt() { |
| // _assertAdd(_intValue(null), _intValue(null), _intValue(2)); |
| // } |
| // void test_bitAnd_invalid_knownInt() { |
| // _assertBitAnd(null, _stringValue("6"), _intValue(3)); |
| // } |
| // void test_bitAnd_knownInt_invalid() { |
| // _assertBitAnd(null, _intValue(6), _stringValue("3")); |
| // } |
| // void test_bitAnd_knownInt_knownInt() { |
| // _assertBitAnd(_intValue(2), _intValue(6), _intValue(3)); |
| // } |
| // void test_bitAnd_knownInt_unknownInt() { |
| // _assertBitAnd(_intValue(null), _intValue(6), _intValue(null)); |
| // } |
| // void test_bitAnd_unknownInt_knownInt() { |
| // _assertBitAnd(_intValue(null), _intValue(null), _intValue(3)); |
| // } |
| // void test_bitAnd_unknownInt_unknownInt() { |
| // _assertBitAnd(_intValue(null), _intValue(null), _intValue(null)); |
| // } |
| // void test_bitNot_invalid() { |
| // _assertBitNot(null, _stringValue("6")); |
| // } |
| // void test_bitNot_knownInt() { |
| // _assertBitNot(_intValue(-4), _intValue(3)); |
| // } |
| // void test_bitNot_unknownInt() { |
| // _assertBitNot(_intValue(null), _intValue(null)); |
| // } |
| // void test_bitOr_invalid_knownInt() { |
| // _assertBitOr(null, _stringValue("6"), _intValue(3)); |
| // } |
| // void test_bitOr_knownInt_invalid() { |
| // _assertBitOr(null, _intValue(6), _stringValue("3")); |
| // } |
| // void test_bitOr_knownInt_knownInt() { |
| // _assertBitOr(_intValue(7), _intValue(6), _intValue(3)); |
| // } |
| // void test_bitOr_knownInt_unknownInt() { |
| // _assertBitOr(_intValue(null), _intValue(6), _intValue(null)); |
| // } |
| // void test_bitOr_unknownInt_knownInt() { |
| // _assertBitOr(_intValue(null), _intValue(null), _intValue(3)); |
| // } |
| // void test_bitOr_unknownInt_unknownInt() { |
| // _assertBitOr(_intValue(null), _intValue(null), _intValue(null)); |
| // } |
| // void test_bitXor_invalid_knownInt() { |
| // _assertBitXor(null, _stringValue("6"), _intValue(3)); |
| // } |
| // void test_bitXor_knownInt_invalid() { |
| // _assertBitXor(null, _intValue(6), _stringValue("3")); |
| // } |
| // void test_bitXor_knownInt_knownInt() { |
| // _assertBitXor(_intValue(5), _intValue(6), _intValue(3)); |
| // } |
| // void test_bitXor_knownInt_unknownInt() { |
| // _assertBitXor(_intValue(null), _intValue(6), _intValue(null)); |
| // } |
| // void test_bitXor_unknownInt_knownInt() { |
| // _assertBitXor(_intValue(null), _intValue(null), _intValue(3)); |
| // } |
| // void test_bitXor_unknownInt_unknownInt() { |
| // _assertBitXor(_intValue(null), _intValue(null), _intValue(null)); |
| // } |
| // void test_concatenate_invalid_knownString() { |
| // _assertConcatenate(null, _intValue(2), _stringValue("def")); |
| // } |
| // void test_concatenate_knownString_invalid() { |
| // _assertConcatenate(null, _stringValue("abc"), _intValue(3)); |
| // } |
| // void test_concatenate_knownString_knownString() { |
| // _assertConcatenate(_stringValue("abcdef"), _stringValue("abc"), _stringValue("def")); |
| // } |
| // void test_concatenate_knownString_unknownString() { |
| // _assertConcatenate(_stringValue(null), _stringValue("abc"), _stringValue(null)); |
| // } |
| // void test_concatenate_unknownString_knownString() { |
| // _assertConcatenate(_stringValue(null), _stringValue(null), _stringValue("def")); |
| // } |
| // void test_divide_invalid_knownInt() { |
| // _assertDivide(null, _stringValue("6"), _intValue(2)); |
| // } |
| // void test_divide_knownDouble_knownDouble() { |
| // _assertDivide(_doubleValue(3.0), _doubleValue(6.0), _doubleValue(2.0)); |
| // } |
| // void test_divide_knownDouble_knownInt() { |
| // _assertDivide(_doubleValue(3.0), _doubleValue(6.0), _intValue(2)); |
| // } |
| // void test_divide_knownDouble_unknownDouble() { |
| // _assertDivide(_doubleValue(null), _doubleValue(6.0), _doubleValue(null)); |
| // } |
| // void test_divide_knownDouble_unknownInt() { |
| // _assertDivide(_doubleValue(null), _doubleValue(6.0), _intValue(null)); |
| // } |
| // void test_divide_knownInt_invalid() { |
| // _assertDivide(null, _intValue(6), _stringValue("2")); |
| // } |
| // void test_divide_knownInt_knownInt() { |
| // _assertDivide(_intValue(3), _intValue(6), _intValue(2)); |
| // } |
| // void test_divide_knownInt_unknownDouble() { |
| // _assertDivide(_doubleValue(null), _intValue(6), _doubleValue(null)); |
| // } |
| // void test_divide_knownInt_unknownInt() { |
| // _assertDivide(_intValue(null), _intValue(6), _intValue(null)); |
| // } |
| // void test_divide_unknownDouble_knownDouble() { |
| // _assertDivide(_doubleValue(null), _doubleValue(null), _doubleValue(2.0)); |
| // } |
| // void test_divide_unknownDouble_knownInt() { |
| // _assertDivide(_doubleValue(null), _doubleValue(null), _intValue(2)); |
| // } |
| // void test_divide_unknownInt_knownDouble() { |
| // _assertDivide(_doubleValue(null), _intValue(null), _doubleValue(2.0)); |
| // } |
| // void test_divide_unknownInt_knownInt() { |
| // _assertDivide(_intValue(null), _intValue(null), _intValue(2)); |
| // } |
| // void test_equalEqual_bool_false() { |
| // _assertEqualEqual(_boolValue(false), _boolValue(false), _boolValue(true)); |
| // } |
| // void test_equalEqual_bool_true() { |
| // _assertEqualEqual(_boolValue(true), _boolValue(true), _boolValue(true)); |
| // } |
| // void test_equalEqual_bool_unknown() { |
| // _assertEqualEqual(_boolValue(null), _boolValue(null), _boolValue(false)); |
| // } |
| // void test_equalEqual_double_false() { |
| // _assertEqualEqual(_boolValue(false), _doubleValue(2.0), _doubleValue(4.0)); |
| // } |
| // void test_equalEqual_double_true() { |
| // _assertEqualEqual(_boolValue(true), _doubleValue(2.0), _doubleValue(2.0)); |
| // } |
| // void test_equalEqual_double_unknown() { |
| // _assertEqualEqual(_boolValue(null), _doubleValue(1.0), _doubleValue(null)); |
| // } |
| // void test_equalEqual_int_false() { |
| // _assertEqualEqual(_boolValue(false), _intValue(-5), _intValue(5)); |
| // } |
| // void test_equalEqual_int_true() { |
| // _assertEqualEqual(_boolValue(true), _intValue(5), _intValue(5)); |
| // } |
| // void test_equalEqual_int_unknown() { |
| // _assertEqualEqual(_boolValue(null), _intValue(null), _intValue(3)); |
| // } |
| // void test_equalEqual_list_empty() { |
| // _assertEqualEqual(null, _listValue([]), _listValue([])); |
| // } |
| // void test_equalEqual_list_false() { |
| // _assertEqualEqual(null, _listValue([]), _listValue([])); |
| // } |
| // void test_equalEqual_map_empty() { |
| // _assertEqualEqual(null, _mapValue([]), _mapValue([])); |
| // } |
| // void test_equalEqual_map_false() { |
| // _assertEqualEqual(null, _mapValue([]), _mapValue([])); |
| // } |
| // void test_equalEqual_null() { |
| // _assertEqualEqual(_boolValue(true), _nullValue(), _nullValue()); |
| // } |
| // void test_equalEqual_string_false() { |
| // _assertEqualEqual(_boolValue(false), _stringValue("abc"), _stringValue("def")); |
| // } |
| // void test_equalEqual_string_true() { |
| // _assertEqualEqual(_boolValue(true), _stringValue("abc"), _stringValue("abc")); |
| // } |
| // void test_equalEqual_string_unknown() { |
| // _assertEqualEqual(_boolValue(null), _stringValue(null), _stringValue("def")); |
| // } |
| // void test_equals_list_false_differentSizes() { |
| // JUnitTestCase.assertFalse(_listValue([_boolValue(true)]) == _listValue([_boolValue(true), _boolValue(false)])); |
| // } |
| // void test_equals_list_false_sameSize() { |
| // JUnitTestCase.assertFalse(_listValue([_boolValue(true)]) == _listValue([_boolValue(false)])); |
| // } |
| // void test_equals_list_true_empty() { |
| // JUnitTestCase.assertEquals(_listValue([]), _listValue([])); |
| // } |
| // void test_equals_list_true_nonEmpty() { |
| // JUnitTestCase.assertEquals(_listValue([_boolValue(true)]), _listValue([_boolValue(true)])); |
| // } |
| // void test_equals_map_true_empty() { |
| // JUnitTestCase.assertEquals(_mapValue([]), _mapValue([])); |
| // } |
| // void test_equals_symbol_false() { |
| // JUnitTestCase.assertFalse(_symbolValue("a") == _symbolValue("b")); |
| // } |
| // void test_equals_symbol_true() { |
| // JUnitTestCase.assertEquals(_symbolValue("a"), _symbolValue("a")); |
| // } |
| // void test_getValue_bool_false() { |
| // JUnitTestCase.assertEquals(false, _boolValue(false).value); |
| // } |
| // void test_getValue_bool_true() { |
| // JUnitTestCase.assertEquals(true, _boolValue(true).value); |
| // } |
| // void test_getValue_bool_unknown() { |
| // JUnitTestCase.assertNull(_boolValue(null).value); |
| // } |
| // void test_getValue_double_known() { |
| // double value = 2.3; |
| // JUnitTestCase.assertEquals(value, _doubleValue(value).value); |
| // } |
| // void test_getValue_double_unknown() { |
| // JUnitTestCase.assertNull(_doubleValue(null).value); |
| // } |
| // void test_getValue_int_known() { |
| // int value = 23; |
| // JUnitTestCase.assertEquals(value, _intValue(value).value); |
| // } |
| // void test_getValue_int_unknown() { |
| // JUnitTestCase.assertNull(_intValue(null).value); |
| // } |
| // void test_getValue_list_empty() { |
| // Object result = _listValue([]).value; |
| // _assertInstanceOfObjectArray(result); |
| // List<Object> array = result as List<Object>; |
| // EngineTestCase.assertLength(0, array); |
| // } |
| // void test_getValue_list_valid() { |
| // Object result = _listValue([_intValue(23)]).value; |
| // _assertInstanceOfObjectArray(result); |
| // List<Object> array = result as List<Object>; |
| // EngineTestCase.assertLength(1, array); |
| // } |
| // void test_getValue_map_empty() { |
| // Object result = _mapValue([]).value; |
| // EngineTestCase.assertInstanceOf((obj) => obj is Map, Map, result); |
| // Map map = result as Map; |
| // EngineTestCase.assertSizeOfMap(0, map); |
| // } |
| // void test_getValue_map_valid() { |
| // Object result = _mapValue([_stringValue("key"), _stringValue("value")]).value; |
| // EngineTestCase.assertInstanceOf((obj) => obj is Map, Map, result); |
| // Map map = result as Map; |
| // EngineTestCase.assertSizeOfMap(1, map); |
| // } |
| // void test_getValue_null() { |
| // JUnitTestCase.assertNull(_nullValue().value); |
| // } |
| // void test_getValue_string_known() { |
| // String value = "twenty-three"; |
| // JUnitTestCase.assertEquals(value, _stringValue(value).value); |
| // } |
| // void test_getValue_string_unknown() { |
| // JUnitTestCase.assertNull(_stringValue(null).value); |
| // } |
| // void test_greaterThan_invalid_knownInt() { |
| // _assertGreaterThan(null, _stringValue("1"), _intValue(2)); |
| // } |
| // void test_greaterThan_knownDouble_knownDouble_false() { |
| // _assertGreaterThan(_boolValue(false), _doubleValue(1.0), _doubleValue(2.0)); |
| // } |
| // void test_greaterThan_knownDouble_knownDouble_true() { |
| // _assertGreaterThan(_boolValue(true), _doubleValue(2.0), _doubleValue(1.0)); |
| // } |
| // void test_greaterThan_knownDouble_knownInt_false() { |
| // _assertGreaterThan(_boolValue(false), _doubleValue(1.0), _intValue(2)); |
| // } |
| // void test_greaterThan_knownDouble_knownInt_true() { |
| // _assertGreaterThan(_boolValue(true), _doubleValue(2.0), _intValue(1)); |
| // } |
| // void test_greaterThan_knownDouble_unknownDouble() { |
| // _assertGreaterThan(_boolValue(null), _doubleValue(1.0), _doubleValue(null)); |
| // } |
| // void test_greaterThan_knownDouble_unknownInt() { |
| // _assertGreaterThan(_boolValue(null), _doubleValue(1.0), _intValue(null)); |
| // } |
| // void test_greaterThan_knownInt_invalid() { |
| // _assertGreaterThan(null, _intValue(1), _stringValue("2")); |
| // } |
| // void test_greaterThan_knownInt_knownInt_false() { |
| // _assertGreaterThan(_boolValue(false), _intValue(1), _intValue(2)); |
| // } |
| // void test_greaterThan_knownInt_knownInt_true() { |
| // _assertGreaterThan(_boolValue(true), _intValue(2), _intValue(1)); |
| // } |
| // void test_greaterThan_knownInt_unknownDouble() { |
| // _assertGreaterThan(_boolValue(null), _intValue(1), _doubleValue(null)); |
| // } |
| // void test_greaterThan_knownInt_unknownInt() { |
| // _assertGreaterThan(_boolValue(null), _intValue(1), _intValue(null)); |
| // } |
| // void test_greaterThan_unknownDouble_knownDouble() { |
| // _assertGreaterThan(_boolValue(null), _doubleValue(null), _doubleValue(2.0)); |
| // } |
| // void test_greaterThan_unknownDouble_knownInt() { |
| // _assertGreaterThan(_boolValue(null), _doubleValue(null), _intValue(2)); |
| // } |
| // void test_greaterThan_unknownInt_knownDouble() { |
| // _assertGreaterThan(_boolValue(null), _intValue(null), _doubleValue(2.0)); |
| // } |
| // void test_greaterThan_unknownInt_knownInt() { |
| // _assertGreaterThan(_boolValue(null), _intValue(null), _intValue(2)); |
| // } |
| // void test_greaterThanOrEqual_invalid_knownInt() { |
| // _assertGreaterThanOrEqual(null, _stringValue("1"), _intValue(2)); |
| // } |
| // void test_greaterThanOrEqual_knownDouble_knownDouble_false() { |
| // _assertGreaterThanOrEqual(_boolValue(false), _doubleValue(1.0), _doubleValue(2.0)); |
| // } |
| // void test_greaterThanOrEqual_knownDouble_knownDouble_true() { |
| // _assertGreaterThanOrEqual(_boolValue(true), _doubleValue(2.0), _doubleValue(1.0)); |
| // } |
| // void test_greaterThanOrEqual_knownDouble_knownInt_false() { |
| // _assertGreaterThanOrEqual(_boolValue(false), _doubleValue(1.0), _intValue(2)); |
| // } |
| // void test_greaterThanOrEqual_knownDouble_knownInt_true() { |
| // _assertGreaterThanOrEqual(_boolValue(true), _doubleValue(2.0), _intValue(1)); |
| // } |
| // void test_greaterThanOrEqual_knownDouble_unknownDouble() { |
| // _assertGreaterThanOrEqual(_boolValue(null), _doubleValue(1.0), _doubleValue(null)); |
| // } |
| // void test_greaterThanOrEqual_knownDouble_unknownInt() { |
| // _assertGreaterThanOrEqual(_boolValue(null), _doubleValue(1.0), _intValue(null)); |
| // } |
| // void test_greaterThanOrEqual_knownInt_invalid() { |
| // _assertGreaterThanOrEqual(null, _intValue(1), _stringValue("2")); |
| // } |
| // void test_greaterThanOrEqual_knownInt_knownInt_false() { |
| // _assertGreaterThanOrEqual(_boolValue(false), _intValue(1), _intValue(2)); |
| // } |
| // void test_greaterThanOrEqual_knownInt_knownInt_true() { |
| // _assertGreaterThanOrEqual(_boolValue(true), _intValue(2), _intValue(2)); |
| // } |
| // void test_greaterThanOrEqual_knownInt_unknownDouble() { |
| // _assertGreaterThanOrEqual(_boolValue(null), _intValue(1), _doubleValue(null)); |
| // } |
| // void test_greaterThanOrEqual_knownInt_unknownInt() { |
| // _assertGreaterThanOrEqual(_boolValue(null), _intValue(1), _intValue(null)); |
| // } |
| // void test_greaterThanOrEqual_unknownDouble_knownDouble() { |
| // _assertGreaterThanOrEqual(_boolValue(null), _doubleValue(null), _doubleValue(2.0)); |
| // } |
| // void test_greaterThanOrEqual_unknownDouble_knownInt() { |
| // _assertGreaterThanOrEqual(_boolValue(null), _doubleValue(null), _intValue(2)); |
| // } |
| // void test_greaterThanOrEqual_unknownInt_knownDouble() { |
| // _assertGreaterThanOrEqual(_boolValue(null), _intValue(null), _doubleValue(2.0)); |
| // } |
| // void test_greaterThanOrEqual_unknownInt_knownInt() { |
| // _assertGreaterThanOrEqual(_boolValue(null), _intValue(null), _intValue(2)); |
| // } |
| // void test_hasExactValue_bool_false() { |
| // JUnitTestCase.assertTrue(_boolValue(false).hasExactValue); |
| // } |
| // void test_hasExactValue_bool_true() { |
| // JUnitTestCase.assertTrue(_boolValue(true).hasExactValue); |
| // } |
| // void test_hasExactValue_bool_unknown() { |
| // JUnitTestCase.assertTrue(_boolValue(null).hasExactValue); |
| // } |
| // void test_hasExactValue_double_known() { |
| // JUnitTestCase.assertTrue(_doubleValue(2.3).hasExactValue); |
| // } |
| // void test_hasExactValue_double_unknown() { |
| // JUnitTestCase.assertTrue(_doubleValue(null).hasExactValue); |
| // } |
| // void test_hasExactValue_dynamic() { |
| // JUnitTestCase.assertFalse(_dynamicValue().hasExactValue); |
| // } |
| // void test_hasExactValue_int_known() { |
| // JUnitTestCase.assertTrue(_intValue(23).hasExactValue); |
| // } |
| // void test_hasExactValue_int_unknown() { |
| // JUnitTestCase.assertTrue(_intValue(null).hasExactValue); |
| // } |
| // void test_hasExactValue_list_empty() { |
| // JUnitTestCase.assertTrue(_listValue([]).hasExactValue); |
| // } |
| // void test_hasExactValue_list_invalid() { |
| // JUnitTestCase.assertFalse(_dynamicValue().hasExactValue); |
| // } |
| // void test_hasExactValue_list_valid() { |
| // JUnitTestCase.assertTrue(_listValue([_intValue(23)]).hasExactValue); |
| // } |
| // void test_hasExactValue_map_empty() { |
| // JUnitTestCase.assertTrue(_mapValue([]).hasExactValue); |
| // } |
| // void test_hasExactValue_map_invalidKey() { |
| // JUnitTestCase.assertFalse(_mapValue([_dynamicValue(), _stringValue("value")]).hasExactValue); |
| // } |
| // void test_hasExactValue_map_invalidValue() { |
| // JUnitTestCase.assertFalse(_mapValue([_stringValue("key"), _dynamicValue()]).hasExactValue); |
| // } |
| // void test_hasExactValue_map_valid() { |
| // JUnitTestCase.assertTrue(_mapValue([_stringValue("key"), _stringValue("value")]).hasExactValue); |
| // } |
| // void test_hasExactValue_null() { |
| // JUnitTestCase.assertTrue(_nullValue().hasExactValue); |
| // } |
| // void test_hasExactValue_num() { |
| // JUnitTestCase.assertFalse(_numValue().hasExactValue); |
| // } |
| // void test_hasExactValue_string_known() { |
| // JUnitTestCase.assertTrue(_stringValue("twenty-three").hasExactValue); |
| // } |
| // void test_hasExactValue_string_unknown() { |
| // JUnitTestCase.assertTrue(_stringValue(null).hasExactValue); |
| // } |
| // void test_integerDivide_invalid_knownInt() { |
| // _assertIntegerDivide(null, _stringValue("6"), _intValue(2)); |
| // } |
| // void test_integerDivide_knownDouble_knownDouble() { |
| // _assertIntegerDivide(_intValue(3), _doubleValue(6.0), _doubleValue(2.0)); |
| // } |
| // void test_integerDivide_knownDouble_knownInt() { |
| // _assertIntegerDivide(_intValue(3), _doubleValue(6.0), _intValue(2)); |
| // } |
| // void test_integerDivide_knownDouble_unknownDouble() { |
| // _assertIntegerDivide(_intValue(null), _doubleValue(6.0), _doubleValue(null)); |
| // } |
| // void test_integerDivide_knownDouble_unknownInt() { |
| // _assertIntegerDivide(_intValue(null), _doubleValue(6.0), _intValue(null)); |
| // } |
| // void test_integerDivide_knownInt_invalid() { |
| // _assertIntegerDivide(null, _intValue(6), _stringValue("2")); |
| // } |
| // void test_integerDivide_knownInt_knownInt() { |
| // _assertIntegerDivide(_intValue(3), _intValue(6), _intValue(2)); |
| // } |
| // void test_integerDivide_knownInt_unknownDouble() { |
| // _assertIntegerDivide(_intValue(null), _intValue(6), _doubleValue(null)); |
| // } |
| // void test_integerDivide_knownInt_unknownInt() { |
| // _assertIntegerDivide(_intValue(null), _intValue(6), _intValue(null)); |
| // } |
| // void test_integerDivide_unknownDouble_knownDouble() { |
| // _assertIntegerDivide(_intValue(null), _doubleValue(null), _doubleValue(2.0)); |
| // } |
| // void test_integerDivide_unknownDouble_knownInt() { |
| // _assertIntegerDivide(_intValue(null), _doubleValue(null), _intValue(2)); |
| // } |
| // void test_integerDivide_unknownInt_knownDouble() { |
| // _assertIntegerDivide(_intValue(null), _intValue(null), _doubleValue(2.0)); |
| // } |
| // void test_integerDivide_unknownInt_knownInt() { |
| // _assertIntegerDivide(_intValue(null), _intValue(null), _intValue(2)); |
| // } |
| // void test_isBoolNumStringOrNull_bool_false() { |
| // JUnitTestCase.assertTrue(_boolValue(false).isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_bool_true() { |
| // JUnitTestCase.assertTrue(_boolValue(true).isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_bool_unknown() { |
| // JUnitTestCase.assertTrue(_boolValue(null).isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_double_known() { |
| // JUnitTestCase.assertTrue(_doubleValue(2.3).isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_double_unknown() { |
| // JUnitTestCase.assertTrue(_doubleValue(null).isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_dynamic() { |
| // JUnitTestCase.assertTrue(_dynamicValue().isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_int_known() { |
| // JUnitTestCase.assertTrue(_intValue(23).isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_int_unknown() { |
| // JUnitTestCase.assertTrue(_intValue(null).isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_list() { |
| // JUnitTestCase.assertFalse(_listValue([]).isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_null() { |
| // JUnitTestCase.assertTrue(_nullValue().isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_num() { |
| // JUnitTestCase.assertTrue(_numValue().isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_string_known() { |
| // JUnitTestCase.assertTrue(_stringValue("twenty-three").isBoolNumStringOrNull); |
| // } |
| // void test_isBoolNumStringOrNull_string_unknown() { |
| // JUnitTestCase.assertTrue(_stringValue(null).isBoolNumStringOrNull); |
| // } |
| // void test_lessThan_invalid_knownInt() { |
| // _assertLessThan(null, _stringValue("1"), _intValue(2)); |
| // } |
| // void test_lessThan_knownDouble_knownDouble_false() { |
| // _assertLessThan(_boolValue(false), _doubleValue(2.0), _doubleValue(1.0)); |
| // } |
| // void test_lessThan_knownDouble_knownDouble_true() { |
| // _assertLessThan(_boolValue(true), _doubleValue(1.0), _doubleValue(2.0)); |
| // } |
| // void test_lessThan_knownDouble_knownInt_false() { |
| // _assertLessThan(_boolValue(false), _doubleValue(2.0), _intValue(1)); |
| // } |
| // void test_lessThan_knownDouble_knownInt_true() { |
| // _assertLessThan(_boolValue(true), _doubleValue(1.0), _intValue(2)); |
| // } |
| // void test_lessThan_knownDouble_unknownDouble() { |
| // _assertLessThan(_boolValue(null), _doubleValue(1.0), _doubleValue(null)); |
| // } |
| // void test_lessThan_knownDouble_unknownInt() { |
| // _assertLessThan(_boolValue(null), _doubleValue(1.0), _intValue(null)); |
| // } |
| // void test_lessThan_knownInt_invalid() { |
| // _assertLessThan(null, _intValue(1), _stringValue("2")); |
| // } |
| // void test_lessThan_knownInt_knownInt_false() { |
| // _assertLessThan(_boolValue(false), _intValue(2), _intValue(1)); |
| // } |
| // void test_lessThan_knownInt_knownInt_true() { |
| // _assertLessThan(_boolValue(true), _intValue(1), _intValue(2)); |
| // } |
| // void test_lessThan_knownInt_unknownDouble() { |
| // _assertLessThan(_boolValue(null), _intValue(1), _doubleValue(null)); |
| // } |
| // void test_lessThan_knownInt_unknownInt() { |
| // _assertLessThan(_boolValue(null), _intValue(1), _intValue(null)); |
| // } |
| // void test_lessThan_unknownDouble_knownDouble() { |
| // _assertLessThan(_boolValue(null), _doubleValue(null), _doubleValue(2.0)); |
| // } |
| // void test_lessThan_unknownDouble_knownInt() { |
| // _assertLessThan(_boolValue(null), _doubleValue(null), _intValue(2)); |
| // } |
| // void test_lessThan_unknownInt_knownDouble() { |
| // _assertLessThan(_boolValue(null), _intValue(null), _doubleValue(2.0)); |
| // } |
| // void test_lessThan_unknownInt_knownInt() { |
| // _assertLessThan(_boolValue(null), _intValue(null), _intValue(2)); |
| // } |
| // void test_lessThanOrEqual_invalid_knownInt() { |
| // _assertLessThanOrEqual(null, _stringValue("1"), _intValue(2)); |
| // } |
| // void test_lessThanOrEqual_knownDouble_knownDouble_false() { |
| // _assertLessThanOrEqual(_boolValue(false), _doubleValue(2.0), _doubleValue(1.0)); |
| // } |
| // void test_lessThanOrEqual_knownDouble_knownDouble_true() { |
| // _assertLessThanOrEqual(_boolValue(true), _doubleValue(1.0), _doubleValue(2.0)); |
| // } |
| // void test_lessThanOrEqual_knownDouble_knownInt_false() { |
| // _assertLessThanOrEqual(_boolValue(false), _doubleValue(2.0), _intValue(1)); |
| // } |
| // void test_lessThanOrEqual_knownDouble_knownInt_true() { |
| // _assertLessThanOrEqual(_boolValue(true), _doubleValue(1.0), _intValue(2)); |
| // } |
| // void test_lessThanOrEqual_knownDouble_unknownDouble() { |
| // _assertLessThanOrEqual(_boolValue(null), _doubleValue(1.0), _doubleValue(null)); |
| // } |
| // void test_lessThanOrEqual_knownDouble_unknownInt() { |
| // _assertLessThanOrEqual(_boolValue(null), _doubleValue(1.0), _intValue(null)); |
| // } |
| // void test_lessThanOrEqual_knownInt_invalid() { |
| // _assertLessThanOrEqual(null, _intValue(1), _stringValue("2")); |
| // } |
| // void test_lessThanOrEqual_knownInt_knownInt_false() { |
| // _assertLessThanOrEqual(_boolValue(false), _intValue(2), _intValue(1)); |
| // } |
| // void test_lessThanOrEqual_knownInt_knownInt_true() { |
| // _assertLessThanOrEqual(_boolValue(true), _intValue(1), _intValue(2)); |
| // } |
| // void test_lessThanOrEqual_knownInt_unknownDouble() { |
| // _assertLessThanOrEqual(_boolValue(null), _intValue(1), _doubleValue(null)); |
| // } |
| // void test_lessThanOrEqual_knownInt_unknownInt() { |
| // _assertLessThanOrEqual(_boolValue(null), _intValue(1), _intValue(null)); |
| // } |
| // void test_lessThanOrEqual_unknownDouble_knownDouble() { |
| // _assertLessThanOrEqual(_boolValue(null), _doubleValue(null), _doubleValue(2.0)); |
| // } |
| // void test_lessThanOrEqual_unknownDouble_knownInt() { |
| // _assertLessThanOrEqual(_boolValue(null), _doubleValue(null), _intValue(2)); |
| // } |
| // void test_lessThanOrEqual_unknownInt_knownDouble() { |
| // _assertLessThanOrEqual(_boolValue(null), _intValue(null), _doubleValue(2.0)); |
| // } |
| // void test_lessThanOrEqual_unknownInt_knownInt() { |
| // _assertLessThanOrEqual(_boolValue(null), _intValue(null), _intValue(2)); |
| // } |
| // void test_logicalAnd_false_false() { |
| // _assertLogicalAnd(_boolValue(false), _boolValue(false), _boolValue(false)); |
| // } |
| // void test_logicalAnd_false_null() { |
| // try { |
| // _assertLogicalAnd(_boolValue(false), _boolValue(false), _nullValue()); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalAnd_false_string() { |
| // try { |
| // _assertLogicalAnd(_boolValue(false), _boolValue(false), _stringValue("false")); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalAnd_false_true() { |
| // _assertLogicalAnd(_boolValue(false), _boolValue(false), _boolValue(true)); |
| // } |
| // void test_logicalAnd_null_false() { |
| // try { |
| // _assertLogicalAnd(_boolValue(false), _nullValue(), _boolValue(false)); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalAnd_null_true() { |
| // try { |
| // _assertLogicalAnd(_boolValue(false), _nullValue(), _boolValue(true)); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalAnd_string_false() { |
| // try { |
| // _assertLogicalAnd(_boolValue(false), _stringValue("true"), _boolValue(false)); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalAnd_string_true() { |
| // try { |
| // _assertLogicalAnd(_boolValue(false), _stringValue("false"), _boolValue(true)); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalAnd_true_false() { |
| // _assertLogicalAnd(_boolValue(false), _boolValue(true), _boolValue(false)); |
| // } |
| // void test_logicalAnd_true_null() { |
| // _assertLogicalAnd(null, _boolValue(true), _nullValue()); |
| // } |
| // void test_logicalAnd_true_string() { |
| // try { |
| // _assertLogicalAnd(_boolValue(false), _boolValue(true), _stringValue("true")); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalAnd_true_true() { |
| // _assertLogicalAnd(_boolValue(true), _boolValue(true), _boolValue(true)); |
| // } |
| // void test_logicalNot_false() { |
| // _assertLogicalNot(_boolValue(true), _boolValue(false)); |
| // } |
| // void test_logicalNot_null() { |
| // _assertLogicalNot(null, _nullValue()); |
| // } |
| // void test_logicalNot_string() { |
| // try { |
| // _assertLogicalNot(_boolValue(true), _stringValue(null)); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalNot_true() { |
| // _assertLogicalNot(_boolValue(false), _boolValue(true)); |
| // } |
| // void test_logicalNot_unknown() { |
| // _assertLogicalNot(_boolValue(null), _boolValue(null)); |
| // } |
| // void test_logicalOr_false_false() { |
| // _assertLogicalOr(_boolValue(false), _boolValue(false), _boolValue(false)); |
| // } |
| // void test_logicalOr_false_null() { |
| // _assertLogicalOr(null, _boolValue(false), _nullValue()); |
| // } |
| // void test_logicalOr_false_string() { |
| // try { |
| // _assertLogicalOr(_boolValue(false), _boolValue(false), _stringValue("false")); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalOr_false_true() { |
| // _assertLogicalOr(_boolValue(true), _boolValue(false), _boolValue(true)); |
| // } |
| // void test_logicalOr_null_false() { |
| // try { |
| // _assertLogicalOr(_boolValue(false), _nullValue(), _boolValue(false)); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalOr_null_true() { |
| // try { |
| // _assertLogicalOr(_boolValue(true), _nullValue(), _boolValue(true)); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalOr_string_false() { |
| // try { |
| // _assertLogicalOr(_boolValue(false), _stringValue("true"), _boolValue(false)); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalOr_string_true() { |
| // try { |
| // _assertLogicalOr(_boolValue(true), _stringValue("false"), _boolValue(true)); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalOr_true_false() { |
| // _assertLogicalOr(_boolValue(true), _boolValue(true), _boolValue(false)); |
| // } |
| // void test_logicalOr_true_null() { |
| // try { |
| // _assertLogicalOr(_boolValue(true), _boolValue(true), _nullValue()); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalOr_true_string() { |
| // try { |
| // _assertLogicalOr(_boolValue(true), _boolValue(true), _stringValue("true")); |
| // JUnitTestCase.fail("Expected EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } |
| // void test_logicalOr_true_true() { |
| // _assertLogicalOr(_boolValue(true), _boolValue(true), _boolValue(true)); |
| // } |
| // void test_minus_invalid_knownInt() { |
| // _assertMinus(null, _stringValue("4"), _intValue(3)); |
| // } |
| // void test_minus_knownDouble_knownDouble() { |
| // _assertMinus(_doubleValue(1.0), _doubleValue(4.0), _doubleValue(3.0)); |
| // } |
| // void test_minus_knownDouble_knownInt() { |
| // _assertMinus(_doubleValue(1.0), _doubleValue(4.0), _intValue(3)); |
| // } |
| // void test_minus_knownDouble_unknownDouble() { |
| // _assertMinus(_doubleValue(null), _doubleValue(4.0), _doubleValue(null)); |
| // } |
| // void test_minus_knownDouble_unknownInt() { |
| // _assertMinus(_doubleValue(null), _doubleValue(4.0), _intValue(null)); |
| // } |
| // void test_minus_knownInt_invalid() { |
| // _assertMinus(null, _intValue(4), _stringValue("3")); |
| // } |
| // void test_minus_knownInt_knownInt() { |
| // _assertMinus(_intValue(1), _intValue(4), _intValue(3)); |
| // } |
| // void test_minus_knownInt_unknownDouble() { |
| // _assertMinus(_doubleValue(null), _intValue(4), _doubleValue(null)); |
| // } |
| // void test_minus_knownInt_unknownInt() { |
| // _assertMinus(_intValue(null), _intValue(4), _intValue(null)); |
| // } |
| // void test_minus_unknownDouble_knownDouble() { |
| // _assertMinus(_doubleValue(null), _doubleValue(null), _doubleValue(3.0)); |
| // } |
| // void test_minus_unknownDouble_knownInt() { |
| // _assertMinus(_doubleValue(null), _doubleValue(null), _intValue(3)); |
| // } |
| // void test_minus_unknownInt_knownDouble() { |
| // _assertMinus(_doubleValue(null), _intValue(null), _doubleValue(3.0)); |
| // } |
| // void test_minus_unknownInt_knownInt() { |
| // _assertMinus(_intValue(null), _intValue(null), _intValue(3)); |
| // } |
| // void test_negated_double_known() { |
| // _assertNegated(_doubleValue(2.0), _doubleValue(-2.0)); |
| // } |
| // void test_negated_double_unknown() { |
| // _assertNegated(_doubleValue(null), _doubleValue(null)); |
| // } |
| // void test_negated_int_known() { |
| // _assertNegated(_intValue(-3), _intValue(3)); |
| // } |
| // void test_negated_int_unknown() { |
| // _assertNegated(_intValue(null), _intValue(null)); |
| // } |
| // void test_negated_string() { |
| // _assertNegated(null, _stringValue(null)); |
| // } |
| // void test_notEqual_bool_false() { |
| // _assertNotEqual(_boolValue(false), _boolValue(true), _boolValue(true)); |
| // } |
| // void test_notEqual_bool_true() { |
| // _assertNotEqual(_boolValue(true), _boolValue(false), _boolValue(true)); |
| // } |
| // void test_notEqual_bool_unknown() { |
| // _assertNotEqual(_boolValue(null), _boolValue(null), _boolValue(false)); |
| // } |
| // void test_notEqual_double_false() { |
| // _assertNotEqual(_boolValue(false), _doubleValue(2.0), _doubleValue(2.0)); |
| // } |
| // void test_notEqual_double_true() { |
| // _assertNotEqual(_boolValue(true), _doubleValue(2.0), _doubleValue(4.0)); |
| // } |
| // void test_notEqual_double_unknown() { |
| // _assertNotEqual(_boolValue(null), _doubleValue(1.0), _doubleValue(null)); |
| // } |
| // void test_notEqual_int_false() { |
| // _assertNotEqual(_boolValue(false), _intValue(5), _intValue(5)); |
| // } |
| // void test_notEqual_int_true() { |
| // _assertNotEqual(_boolValue(true), _intValue(-5), _intValue(5)); |
| // } |
| // void test_notEqual_int_unknown() { |
| // _assertNotEqual(_boolValue(null), _intValue(null), _intValue(3)); |
| // } |
| // void test_notEqual_null() { |
| // _assertNotEqual(_boolValue(false), _nullValue(), _nullValue()); |
| // } |
| // void test_notEqual_string_false() { |
| // _assertNotEqual(_boolValue(false), _stringValue("abc"), _stringValue("abc")); |
| // } |
| // void test_notEqual_string_true() { |
| // _assertNotEqual(_boolValue(true), _stringValue("abc"), _stringValue("def")); |
| // } |
| // void test_notEqual_string_unknown() { |
| // _assertNotEqual(_boolValue(null), _stringValue(null), _stringValue("def")); |
| // } |
| // void test_performToString_bool_false() { |
| // _assertPerformToString(_stringValue("false"), _boolValue(false)); |
| // } |
| // void test_performToString_bool_true() { |
| // _assertPerformToString(_stringValue("true"), _boolValue(true)); |
| // } |
| // void test_performToString_bool_unknown() { |
| // _assertPerformToString(_stringValue(null), _boolValue(null)); |
| // } |
| // void test_performToString_double_known() { |
| // _assertPerformToString(_stringValue("2.0"), _doubleValue(2.0)); |
| // } |
| // void test_performToString_double_unknown() { |
| // _assertPerformToString(_stringValue(null), _doubleValue(null)); |
| // } |
| // void test_performToString_int_known() { |
| // _assertPerformToString(_stringValue("5"), _intValue(5)); |
| // } |
| // void test_performToString_int_unknown() { |
| // _assertPerformToString(_stringValue(null), _intValue(null)); |
| // } |
| // void test_performToString_null() { |
| // _assertPerformToString(_stringValue("null"), _nullValue()); |
| // } |
| // void test_performToString_string_known() { |
| // _assertPerformToString(_stringValue("abc"), _stringValue("abc")); |
| // } |
| // void test_performToString_string_unknown() { |
| // _assertPerformToString(_stringValue(null), _stringValue(null)); |
| // } |
| // void test_remainder_invalid_knownInt() { |
| // _assertRemainder(null, _stringValue("7"), _intValue(2)); |
| // } |
| // void test_remainder_knownDouble_knownDouble() { |
| // _assertRemainder(_doubleValue(1.0), _doubleValue(7.0), _doubleValue(2.0)); |
| // } |
| // void test_remainder_knownDouble_knownInt() { |
| // _assertRemainder(_doubleValue(1.0), _doubleValue(7.0), _intValue(2)); |
| // } |
| // void test_remainder_knownDouble_unknownDouble() { |
| // _assertRemainder(_doubleValue(null), _doubleValue(7.0), _doubleValue(null)); |
| // } |
| // void test_remainder_knownDouble_unknownInt() { |
| // _assertRemainder(_doubleValue(null), _doubleValue(6.0), _intValue(null)); |
| // } |
| // void test_remainder_knownInt_invalid() { |
| // _assertRemainder(null, _intValue(7), _stringValue("2")); |
| // } |
| // void test_remainder_knownInt_knownInt() { |
| // _assertRemainder(_intValue(1), _intValue(7), _intValue(2)); |
| // } |
| // void test_remainder_knownInt_unknownDouble() { |
| // _assertRemainder(_doubleValue(null), _intValue(7), _doubleValue(null)); |
| // } |
| // void test_remainder_knownInt_unknownInt() { |
| // _assertRemainder(_intValue(null), _intValue(7), _intValue(null)); |
| // } |
| // void test_remainder_unknownDouble_knownDouble() { |
| // _assertRemainder(_doubleValue(null), _doubleValue(null), _doubleValue(2.0)); |
| // } |
| // void test_remainder_unknownDouble_knownInt() { |
| // _assertRemainder(_doubleValue(null), _doubleValue(null), _intValue(2)); |
| // } |
| // void test_remainder_unknownInt_knownDouble() { |
| // _assertRemainder(_doubleValue(null), _intValue(null), _doubleValue(2.0)); |
| // } |
| // void test_remainder_unknownInt_knownInt() { |
| // _assertRemainder(_intValue(null), _intValue(null), _intValue(2)); |
| // } |
| // void test_shiftLeft_invalid_knownInt() { |
| // _assertShiftLeft(null, _stringValue(null), _intValue(3)); |
| // } |
| // void test_shiftLeft_knownInt_invalid() { |
| // _assertShiftLeft(null, _intValue(6), _stringValue(null)); |
| // } |
| // void test_shiftLeft_knownInt_knownInt() { |
| // _assertShiftLeft(_intValue(48), _intValue(6), _intValue(3)); |
| // } |
| // void test_shiftLeft_knownInt_tooLarge() { |
| // _assertShiftLeft(_intValue(null), _intValue(6), new DartObjectImpl(_typeProvider.intType, new IntState(Long.MAX_VALUE))); |
| // } |
| // void test_shiftLeft_knownInt_unknownInt() { |
| // _assertShiftLeft(_intValue(null), _intValue(6), _intValue(null)); |
| // } |
| // void test_shiftLeft_unknownInt_knownInt() { |
| // _assertShiftLeft(_intValue(null), _intValue(null), _intValue(3)); |
| // } |
| // void test_shiftLeft_unknownInt_unknownInt() { |
| // _assertShiftLeft(_intValue(null), _intValue(null), _intValue(null)); |
| // } |
| // void test_shiftRight_invalid_knownInt() { |
| // _assertShiftRight(null, _stringValue(null), _intValue(3)); |
| // } |
| // void test_shiftRight_knownInt_invalid() { |
| // _assertShiftRight(null, _intValue(48), _stringValue(null)); |
| // } |
| // void test_shiftRight_knownInt_knownInt() { |
| // _assertShiftRight(_intValue(6), _intValue(48), _intValue(3)); |
| // } |
| // void test_shiftRight_knownInt_tooLarge() { |
| // _assertShiftRight(_intValue(null), _intValue(48), new DartObjectImpl(_typeProvider.intType, new IntState(Long.MAX_VALUE))); |
| // } |
| // void test_shiftRight_knownInt_unknownInt() { |
| // _assertShiftRight(_intValue(null), _intValue(48), _intValue(null)); |
| // } |
| // void test_shiftRight_unknownInt_knownInt() { |
| // _assertShiftRight(_intValue(null), _intValue(null), _intValue(3)); |
| // } |
| // void test_shiftRight_unknownInt_unknownInt() { |
| // _assertShiftRight(_intValue(null), _intValue(null), _intValue(null)); |
| // } |
| // void test_times_invalid_knownInt() { |
| // _assertTimes(null, _stringValue("2"), _intValue(3)); |
| // } |
| // void test_times_knownDouble_knownDouble() { |
| // _assertTimes(_doubleValue(6.0), _doubleValue(2.0), _doubleValue(3.0)); |
| // } |
| // void test_times_knownDouble_knownInt() { |
| // _assertTimes(_doubleValue(6.0), _doubleValue(2.0), _intValue(3)); |
| // } |
| // void test_times_knownDouble_unknownDouble() { |
| // _assertTimes(_doubleValue(null), _doubleValue(2.0), _doubleValue(null)); |
| // } |
| // void test_times_knownDouble_unknownInt() { |
| // _assertTimes(_doubleValue(null), _doubleValue(2.0), _intValue(null)); |
| // } |
| // void test_times_knownInt_invalid() { |
| // _assertTimes(null, _intValue(2), _stringValue("3")); |
| // } |
| // void test_times_knownInt_knownInt() { |
| // _assertTimes(_intValue(6), _intValue(2), _intValue(3)); |
| // } |
| // void test_times_knownInt_unknownDouble() { |
| // _assertTimes(_doubleValue(null), _intValue(2), _doubleValue(null)); |
| // } |
| // void test_times_knownInt_unknownInt() { |
| // _assertTimes(_intValue(null), _intValue(2), _intValue(null)); |
| // } |
| // void test_times_unknownDouble_knownDouble() { |
| // _assertTimes(_doubleValue(null), _doubleValue(null), _doubleValue(3.0)); |
| // } |
| // void test_times_unknownDouble_knownInt() { |
| // _assertTimes(_doubleValue(null), _doubleValue(null), _intValue(3)); |
| // } |
| // void test_times_unknownInt_knownDouble() { |
| // _assertTimes(_doubleValue(null), _intValue(null), _doubleValue(3.0)); |
| // } |
| // void test_times_unknownInt_knownInt() { |
| // _assertTimes(_intValue(null), _intValue(null), _intValue(3)); |
| // } |
| // /** |
| // * Assert that the result of adding the left and right operands is the expected value, or that the |
| // * operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertAdd(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.add(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.add(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of bit-anding the left and right operands is the expected value, or that |
| // * the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertBitAnd(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.bitAnd(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.bitAnd(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the bit-not of the operand is the expected value, or that the operation throws an |
| // * exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param operand the operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertBitNot(DartObjectImpl expected, DartObjectImpl operand) { |
| // if (expected == null) { |
| // try { |
| // operand.bitNot(_typeProvider); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = operand.bitNot(_typeProvider); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of bit-oring the left and right operands is the expected value, or that |
| // * the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertBitOr(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.bitOr(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.bitOr(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of bit-xoring the left and right operands is the expected value, or that |
| // * the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertBitXor(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.bitXor(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.bitXor(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of concatenating the left and right operands is the expected value, or |
| // * that the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertConcatenate(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.concatenate(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.concatenate(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of dividing the left and right operands is the expected value, or that |
| // * the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertDivide(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.divide(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.divide(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of comparing the left and right operands for equality is the expected |
| // * value, or that the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertEqualEqual(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.equalEqual(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.equalEqual(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of comparing the left and right operands is the expected value, or that |
| // * the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertGreaterThan(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.greaterThan(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.greaterThan(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of comparing the left and right operands is the expected value, or that |
| // * the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertGreaterThanOrEqual(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.greaterThanOrEqual(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.greaterThanOrEqual(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // void _assertInstanceOfObjectArray(Object result) { |
| // // TODO(scheglov) implement |
| // } |
| // /** |
| // * Assert that the result of dividing the left and right operands as integers is the expected |
| // * value, or that the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertIntegerDivide(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.integerDivide(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.integerDivide(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of comparing the left and right operands is the expected value, or that |
| // * the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertLessThan(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.lessThan(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.lessThan(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of comparing the left and right operands is the expected value, or that |
| // * the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertLessThanOrEqual(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.lessThanOrEqual(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.lessThanOrEqual(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of logical-anding the left and right operands is the expected value, or |
| // * that the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertLogicalAnd(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.logicalAnd(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.logicalAnd(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the logical-not of the operand is the expected value, or that the operation throws |
| // * an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param operand the operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertLogicalNot(DartObjectImpl expected, DartObjectImpl operand) { |
| // if (expected == null) { |
| // try { |
| // operand.logicalNot(_typeProvider); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = operand.logicalNot(_typeProvider); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of logical-oring the left and right operands is the expected value, or |
| // * that the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertLogicalOr(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.logicalOr(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.logicalOr(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of subtracting the left and right operands is the expected value, or |
| // * that the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertMinus(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.minus(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.minus(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the negation of the operand is the expected value, or that the operation throws an |
| // * exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param operand the operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertNegated(DartObjectImpl expected, DartObjectImpl operand) { |
| // if (expected == null) { |
| // try { |
| // operand.negated(_typeProvider); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = operand.negated(_typeProvider); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of comparing the left and right operands for inequality is the expected |
| // * value, or that the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertNotEqual(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.notEqual(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.notEqual(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that converting the operand to a string is the expected value, or that the operation |
| // * throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param operand the operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertPerformToString(DartObjectImpl expected, DartObjectImpl operand) { |
| // if (expected == null) { |
| // try { |
| // operand.performToString(_typeProvider); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = operand.performToString(_typeProvider); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of taking the remainder of the left and right operands is the expected |
| // * value, or that the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertRemainder(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.remainder(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.remainder(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of multiplying the left and right operands is the expected value, or |
| // * that the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertShiftLeft(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.shiftLeft(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.shiftLeft(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of multiplying the left and right operands is the expected value, or |
| // * that the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertShiftRight(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.shiftRight(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.shiftRight(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // /** |
| // * Assert that the result of multiplying the left and right operands is the expected value, or |
| // * that the operation throws an exception if the expected value is `null`. |
| // * |
| // * @param expected the expected result of the operation |
| // * @param leftOperand the left operand to the operation |
| // * @param rightOperand the left operand to the operation |
| // * @throws EvaluationException if the result is an exception when it should not be |
| // */ |
| // void _assertTimes(DartObjectImpl expected, DartObjectImpl leftOperand, DartObjectImpl rightOperand) { |
| // if (expected == null) { |
| // try { |
| // leftOperand.times(_typeProvider, rightOperand); |
| // JUnitTestCase.fail("Expected an EvaluationException"); |
| // } on EvaluationException catch (exception) { |
| // } |
| // } else { |
| // DartObjectImpl result = leftOperand.times(_typeProvider, rightOperand); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(expected, result); |
| // } |
| // } |
| // DartObjectImpl _boolValue(bool value) { |
| // if (value == null) { |
| // return new DartObjectImpl(_typeProvider.boolType, BoolState.UNKNOWN_VALUE); |
| // } else if (identical(value, false)) { |
| // return new DartObjectImpl(_typeProvider.boolType, BoolState.FALSE_STATE); |
| // } else if (identical(value, true)) { |
| // return new DartObjectImpl(_typeProvider.boolType, BoolState.TRUE_STATE); |
| // } |
| // JUnitTestCase.fail("Invalid boolean value used in test"); |
| // return null; |
| // } |
| // DartObjectImpl _doubleValue(double value) { |
| // if (value == null) { |
| // return new DartObjectImpl(_typeProvider.doubleType, DoubleState.UNKNOWN_VALUE); |
| // } else { |
| // return new DartObjectImpl(_typeProvider.doubleType, new DoubleState(value)); |
| // } |
| // } |
| // DartObjectImpl _dynamicValue() => new DartObjectImpl(_typeProvider.nullType, DynamicState.DYNAMIC_STATE); |
| // DartObjectImpl _intValue(int value) { |
| // if (value == null) { |
| // return new DartObjectImpl(_typeProvider.intType, IntState.UNKNOWN_VALUE); |
| // } else { |
| // return new DartObjectImpl(_typeProvider.intType, new IntState(value.longValue())); |
| // } |
| // } |
| // DartObjectImpl _listValue(List<DartObjectImpl> elements) => new DartObjectImpl(_typeProvider.listType, new ListState(elements)); |
| // DartObjectImpl _mapValue(List<DartObjectImpl> keyElementPairs) { |
| // HashMap<DartObjectImpl, DartObjectImpl> map = new HashMap<DartObjectImpl, DartObjectImpl>(); |
| // int count = keyElementPairs.length; |
| // for (int i = 0; i < count;) { |
| // map[keyElementPairs[i++]] = keyElementPairs[i++]; |
| // } |
| // return new DartObjectImpl(_typeProvider.mapType, new MapState(map)); |
| // } |
| // DartObjectImpl _nullValue() => new DartObjectImpl(_typeProvider.nullType, NullState.NULL_STATE); |
| // DartObjectImpl _numValue() => new DartObjectImpl(_typeProvider.nullType, NumState.UNKNOWN_VALUE); |
| // DartObjectImpl _stringValue(String value) { |
| // if (value == null) { |
| // return new DartObjectImpl(_typeProvider.stringType, StringState.UNKNOWN_VALUE); |
| // } else { |
| // return new DartObjectImpl(_typeProvider.stringType, new StringState(value)); |
| // } |
| // } |
| // DartObjectImpl _symbolValue(String value) => new DartObjectImpl(_typeProvider.symbolType, new SymbolState(value)); |
| // static dartSuite() { |
| // _ut.group('DartObjectImplTest', () { |
| // _ut.test('test_add_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_invalid_knownInt); |
| // }); |
| // _ut.test('test_add_knownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_knownDouble_knownDouble); |
| // }); |
| // _ut.test('test_add_knownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_knownDouble_knownInt); |
| // }); |
| // _ut.test('test_add_knownDouble_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_knownDouble_unknownDouble); |
| // }); |
| // _ut.test('test_add_knownDouble_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_knownDouble_unknownInt); |
| // }); |
| // _ut.test('test_add_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_knownInt_invalid); |
| // }); |
| // _ut.test('test_add_knownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_knownInt_knownInt); |
| // }); |
| // _ut.test('test_add_knownInt_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_knownInt_unknownDouble); |
| // }); |
| // _ut.test('test_add_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_add_unknownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_unknownDouble_knownDouble); |
| // }); |
| // _ut.test('test_add_unknownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_unknownDouble_knownInt); |
| // }); |
| // _ut.test('test_add_unknownInt_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_unknownInt_knownDouble); |
| // }); |
| // _ut.test('test_add_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_add_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_bitAnd_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitAnd_invalid_knownInt); |
| // }); |
| // _ut.test('test_bitAnd_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitAnd_knownInt_invalid); |
| // }); |
| // _ut.test('test_bitAnd_knownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitAnd_knownInt_knownInt); |
| // }); |
| // _ut.test('test_bitAnd_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitAnd_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_bitAnd_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitAnd_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_bitAnd_unknownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitAnd_unknownInt_unknownInt); |
| // }); |
| // _ut.test('test_bitNot_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitNot_invalid); |
| // }); |
| // _ut.test('test_bitNot_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitNot_knownInt); |
| // }); |
| // _ut.test('test_bitNot_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitNot_unknownInt); |
| // }); |
| // _ut.test('test_bitOr_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitOr_invalid_knownInt); |
| // }); |
| // _ut.test('test_bitOr_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitOr_knownInt_invalid); |
| // }); |
| // _ut.test('test_bitOr_knownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitOr_knownInt_knownInt); |
| // }); |
| // _ut.test('test_bitOr_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitOr_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_bitOr_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitOr_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_bitOr_unknownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitOr_unknownInt_unknownInt); |
| // }); |
| // _ut.test('test_bitXor_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitXor_invalid_knownInt); |
| // }); |
| // _ut.test('test_bitXor_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitXor_knownInt_invalid); |
| // }); |
| // _ut.test('test_bitXor_knownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitXor_knownInt_knownInt); |
| // }); |
| // _ut.test('test_bitXor_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitXor_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_bitXor_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitXor_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_bitXor_unknownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_bitXor_unknownInt_unknownInt); |
| // }); |
| // _ut.test('test_concatenate_invalid_knownString', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_concatenate_invalid_knownString); |
| // }); |
| // _ut.test('test_concatenate_knownString_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_concatenate_knownString_invalid); |
| // }); |
| // _ut.test('test_concatenate_knownString_knownString', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_concatenate_knownString_knownString); |
| // }); |
| // _ut.test('test_concatenate_knownString_unknownString', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_concatenate_knownString_unknownString); |
| // }); |
| // _ut.test('test_concatenate_unknownString_knownString', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_concatenate_unknownString_knownString); |
| // }); |
| // _ut.test('test_divide_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_invalid_knownInt); |
| // }); |
| // _ut.test('test_divide_knownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_knownDouble_knownDouble); |
| // }); |
| // _ut.test('test_divide_knownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_knownDouble_knownInt); |
| // }); |
| // _ut.test('test_divide_knownDouble_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_knownDouble_unknownDouble); |
| // }); |
| // _ut.test('test_divide_knownDouble_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_knownDouble_unknownInt); |
| // }); |
| // _ut.test('test_divide_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_knownInt_invalid); |
| // }); |
| // _ut.test('test_divide_knownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_knownInt_knownInt); |
| // }); |
| // _ut.test('test_divide_knownInt_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_knownInt_unknownDouble); |
| // }); |
| // _ut.test('test_divide_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_divide_unknownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_unknownDouble_knownDouble); |
| // }); |
| // _ut.test('test_divide_unknownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_unknownDouble_knownInt); |
| // }); |
| // _ut.test('test_divide_unknownInt_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_unknownInt_knownDouble); |
| // }); |
| // _ut.test('test_divide_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_divide_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_equalEqual_bool_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_bool_false); |
| // }); |
| // _ut.test('test_equalEqual_bool_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_bool_true); |
| // }); |
| // _ut.test('test_equalEqual_bool_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_bool_unknown); |
| // }); |
| // _ut.test('test_equalEqual_double_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_double_false); |
| // }); |
| // _ut.test('test_equalEqual_double_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_double_true); |
| // }); |
| // _ut.test('test_equalEqual_double_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_double_unknown); |
| // }); |
| // _ut.test('test_equalEqual_int_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_int_false); |
| // }); |
| // _ut.test('test_equalEqual_int_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_int_true); |
| // }); |
| // _ut.test('test_equalEqual_int_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_int_unknown); |
| // }); |
| // _ut.test('test_equalEqual_list_empty', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_list_empty); |
| // }); |
| // _ut.test('test_equalEqual_list_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_list_false); |
| // }); |
| // _ut.test('test_equalEqual_map_empty', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_map_empty); |
| // }); |
| // _ut.test('test_equalEqual_map_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_map_false); |
| // }); |
| // _ut.test('test_equalEqual_null', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_null); |
| // }); |
| // _ut.test('test_equalEqual_string_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_string_false); |
| // }); |
| // _ut.test('test_equalEqual_string_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_string_true); |
| // }); |
| // _ut.test('test_equalEqual_string_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equalEqual_string_unknown); |
| // }); |
| // _ut.test('test_equals_list_false_differentSizes', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equals_list_false_differentSizes); |
| // }); |
| // _ut.test('test_equals_list_false_sameSize', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equals_list_false_sameSize); |
| // }); |
| // _ut.test('test_equals_list_true_empty', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equals_list_true_empty); |
| // }); |
| // _ut.test('test_equals_list_true_nonEmpty', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equals_list_true_nonEmpty); |
| // }); |
| // _ut.test('test_equals_map_true_empty', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equals_map_true_empty); |
| // }); |
| // _ut.test('test_equals_symbol_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equals_symbol_false); |
| // }); |
| // _ut.test('test_equals_symbol_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_equals_symbol_true); |
| // }); |
| // _ut.test('test_getValue_bool_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_bool_false); |
| // }); |
| // _ut.test('test_getValue_bool_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_bool_true); |
| // }); |
| // _ut.test('test_getValue_bool_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_bool_unknown); |
| // }); |
| // _ut.test('test_getValue_double_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_double_known); |
| // }); |
| // _ut.test('test_getValue_double_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_double_unknown); |
| // }); |
| // _ut.test('test_getValue_int_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_int_known); |
| // }); |
| // _ut.test('test_getValue_int_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_int_unknown); |
| // }); |
| // _ut.test('test_getValue_list_empty', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_list_empty); |
| // }); |
| // _ut.test('test_getValue_list_valid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_list_valid); |
| // }); |
| // _ut.test('test_getValue_map_empty', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_map_empty); |
| // }); |
| // _ut.test('test_getValue_map_valid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_map_valid); |
| // }); |
| // _ut.test('test_getValue_null', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_null); |
| // }); |
| // _ut.test('test_getValue_string_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_string_known); |
| // }); |
| // _ut.test('test_getValue_string_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_getValue_string_unknown); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_invalid_knownInt); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_knownDouble_knownDouble_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_knownDouble_false); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_knownDouble_knownDouble_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_knownDouble_true); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_knownDouble_knownInt_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_knownInt_false); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_knownDouble_knownInt_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_knownInt_true); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_knownDouble_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_unknownDouble); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_knownDouble_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownDouble_unknownInt); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownInt_invalid); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_knownInt_knownInt_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownInt_knownInt_false); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_knownInt_knownInt_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownInt_knownInt_true); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_knownInt_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownInt_unknownDouble); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_unknownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_unknownDouble_knownDouble); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_unknownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_unknownDouble_knownInt); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_unknownInt_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_unknownInt_knownDouble); |
| // }); |
| // _ut.test('test_greaterThanOrEqual_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThanOrEqual_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_greaterThan_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_invalid_knownInt); |
| // }); |
| // _ut.test('test_greaterThan_knownDouble_knownDouble_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_knownDouble_knownDouble_false); |
| // }); |
| // _ut.test('test_greaterThan_knownDouble_knownDouble_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_knownDouble_knownDouble_true); |
| // }); |
| // _ut.test('test_greaterThan_knownDouble_knownInt_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_knownDouble_knownInt_false); |
| // }); |
| // _ut.test('test_greaterThan_knownDouble_knownInt_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_knownDouble_knownInt_true); |
| // }); |
| // _ut.test('test_greaterThan_knownDouble_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_knownDouble_unknownDouble); |
| // }); |
| // _ut.test('test_greaterThan_knownDouble_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_knownDouble_unknownInt); |
| // }); |
| // _ut.test('test_greaterThan_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_knownInt_invalid); |
| // }); |
| // _ut.test('test_greaterThan_knownInt_knownInt_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_knownInt_knownInt_false); |
| // }); |
| // _ut.test('test_greaterThan_knownInt_knownInt_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_knownInt_knownInt_true); |
| // }); |
| // _ut.test('test_greaterThan_knownInt_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_knownInt_unknownDouble); |
| // }); |
| // _ut.test('test_greaterThan_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_greaterThan_unknownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_unknownDouble_knownDouble); |
| // }); |
| // _ut.test('test_greaterThan_unknownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_unknownDouble_knownInt); |
| // }); |
| // _ut.test('test_greaterThan_unknownInt_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_unknownInt_knownDouble); |
| // }); |
| // _ut.test('test_greaterThan_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_greaterThan_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_hasExactValue_bool_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_bool_false); |
| // }); |
| // _ut.test('test_hasExactValue_bool_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_bool_true); |
| // }); |
| // _ut.test('test_hasExactValue_bool_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_bool_unknown); |
| // }); |
| // _ut.test('test_hasExactValue_double_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_double_known); |
| // }); |
| // _ut.test('test_hasExactValue_double_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_double_unknown); |
| // }); |
| // _ut.test('test_hasExactValue_dynamic', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_dynamic); |
| // }); |
| // _ut.test('test_hasExactValue_int_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_int_known); |
| // }); |
| // _ut.test('test_hasExactValue_int_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_int_unknown); |
| // }); |
| // _ut.test('test_hasExactValue_list_empty', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_list_empty); |
| // }); |
| // _ut.test('test_hasExactValue_list_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_list_invalid); |
| // }); |
| // _ut.test('test_hasExactValue_list_valid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_list_valid); |
| // }); |
| // _ut.test('test_hasExactValue_map_empty', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_map_empty); |
| // }); |
| // _ut.test('test_hasExactValue_map_invalidKey', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_map_invalidKey); |
| // }); |
| // _ut.test('test_hasExactValue_map_invalidValue', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_map_invalidValue); |
| // }); |
| // _ut.test('test_hasExactValue_map_valid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_map_valid); |
| // }); |
| // _ut.test('test_hasExactValue_null', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_null); |
| // }); |
| // _ut.test('test_hasExactValue_num', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_num); |
| // }); |
| // _ut.test('test_hasExactValue_string_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_string_known); |
| // }); |
| // _ut.test('test_hasExactValue_string_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_hasExactValue_string_unknown); |
| // }); |
| // _ut.test('test_integerDivide_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_invalid_knownInt); |
| // }); |
| // _ut.test('test_integerDivide_knownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_knownDouble_knownDouble); |
| // }); |
| // _ut.test('test_integerDivide_knownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_knownDouble_knownInt); |
| // }); |
| // _ut.test('test_integerDivide_knownDouble_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_knownDouble_unknownDouble); |
| // }); |
| // _ut.test('test_integerDivide_knownDouble_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_knownDouble_unknownInt); |
| // }); |
| // _ut.test('test_integerDivide_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_knownInt_invalid); |
| // }); |
| // _ut.test('test_integerDivide_knownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_knownInt_knownInt); |
| // }); |
| // _ut.test('test_integerDivide_knownInt_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_knownInt_unknownDouble); |
| // }); |
| // _ut.test('test_integerDivide_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_integerDivide_unknownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_unknownDouble_knownDouble); |
| // }); |
| // _ut.test('test_integerDivide_unknownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_unknownDouble_knownInt); |
| // }); |
| // _ut.test('test_integerDivide_unknownInt_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_unknownInt_knownDouble); |
| // }); |
| // _ut.test('test_integerDivide_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_integerDivide_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_bool_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_bool_false); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_bool_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_bool_true); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_bool_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_bool_unknown); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_double_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_double_known); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_double_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_double_unknown); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_dynamic', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_dynamic); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_int_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_int_known); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_int_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_int_unknown); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_list', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_list); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_null', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_null); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_num', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_num); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_string_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_string_known); |
| // }); |
| // _ut.test('test_isBoolNumStringOrNull_string_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_isBoolNumStringOrNull_string_unknown); |
| // }); |
| // _ut.test('test_lessThanOrEqual_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_invalid_knownInt); |
| // }); |
| // _ut.test('test_lessThanOrEqual_knownDouble_knownDouble_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_knownDouble_false); |
| // }); |
| // _ut.test('test_lessThanOrEqual_knownDouble_knownDouble_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_knownDouble_true); |
| // }); |
| // _ut.test('test_lessThanOrEqual_knownDouble_knownInt_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_knownInt_false); |
| // }); |
| // _ut.test('test_lessThanOrEqual_knownDouble_knownInt_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_knownInt_true); |
| // }); |
| // _ut.test('test_lessThanOrEqual_knownDouble_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_unknownDouble); |
| // }); |
| // _ut.test('test_lessThanOrEqual_knownDouble_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_knownDouble_unknownInt); |
| // }); |
| // _ut.test('test_lessThanOrEqual_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_knownInt_invalid); |
| // }); |
| // _ut.test('test_lessThanOrEqual_knownInt_knownInt_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_knownInt_knownInt_false); |
| // }); |
| // _ut.test('test_lessThanOrEqual_knownInt_knownInt_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_knownInt_knownInt_true); |
| // }); |
| // _ut.test('test_lessThanOrEqual_knownInt_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_knownInt_unknownDouble); |
| // }); |
| // _ut.test('test_lessThanOrEqual_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_lessThanOrEqual_unknownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_unknownDouble_knownDouble); |
| // }); |
| // _ut.test('test_lessThanOrEqual_unknownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_unknownDouble_knownInt); |
| // }); |
| // _ut.test('test_lessThanOrEqual_unknownInt_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_unknownInt_knownDouble); |
| // }); |
| // _ut.test('test_lessThanOrEqual_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThanOrEqual_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_lessThan_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_invalid_knownInt); |
| // }); |
| // _ut.test('test_lessThan_knownDouble_knownDouble_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_knownDouble_knownDouble_false); |
| // }); |
| // _ut.test('test_lessThan_knownDouble_knownDouble_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_knownDouble_knownDouble_true); |
| // }); |
| // _ut.test('test_lessThan_knownDouble_knownInt_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_knownDouble_knownInt_false); |
| // }); |
| // _ut.test('test_lessThan_knownDouble_knownInt_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_knownDouble_knownInt_true); |
| // }); |
| // _ut.test('test_lessThan_knownDouble_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_knownDouble_unknownDouble); |
| // }); |
| // _ut.test('test_lessThan_knownDouble_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_knownDouble_unknownInt); |
| // }); |
| // _ut.test('test_lessThan_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_knownInt_invalid); |
| // }); |
| // _ut.test('test_lessThan_knownInt_knownInt_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_knownInt_knownInt_false); |
| // }); |
| // _ut.test('test_lessThan_knownInt_knownInt_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_knownInt_knownInt_true); |
| // }); |
| // _ut.test('test_lessThan_knownInt_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_knownInt_unknownDouble); |
| // }); |
| // _ut.test('test_lessThan_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_lessThan_unknownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_unknownDouble_knownDouble); |
| // }); |
| // _ut.test('test_lessThan_unknownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_unknownDouble_knownInt); |
| // }); |
| // _ut.test('test_lessThan_unknownInt_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_unknownInt_knownDouble); |
| // }); |
| // _ut.test('test_lessThan_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_lessThan_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_logicalAnd_false_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_false_false); |
| // }); |
| // _ut.test('test_logicalAnd_false_null', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_false_null); |
| // }); |
| // _ut.test('test_logicalAnd_false_string', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_false_string); |
| // }); |
| // _ut.test('test_logicalAnd_false_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_false_true); |
| // }); |
| // _ut.test('test_logicalAnd_null_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_null_false); |
| // }); |
| // _ut.test('test_logicalAnd_null_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_null_true); |
| // }); |
| // _ut.test('test_logicalAnd_string_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_string_false); |
| // }); |
| // _ut.test('test_logicalAnd_string_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_string_true); |
| // }); |
| // _ut.test('test_logicalAnd_true_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_true_false); |
| // }); |
| // _ut.test('test_logicalAnd_true_null', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_true_null); |
| // }); |
| // _ut.test('test_logicalAnd_true_string', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_true_string); |
| // }); |
| // _ut.test('test_logicalAnd_true_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalAnd_true_true); |
| // }); |
| // _ut.test('test_logicalNot_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalNot_false); |
| // }); |
| // _ut.test('test_logicalNot_null', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalNot_null); |
| // }); |
| // _ut.test('test_logicalNot_string', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalNot_string); |
| // }); |
| // _ut.test('test_logicalNot_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalNot_true); |
| // }); |
| // _ut.test('test_logicalNot_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalNot_unknown); |
| // }); |
| // _ut.test('test_logicalOr_false_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_false_false); |
| // }); |
| // _ut.test('test_logicalOr_false_null', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_false_null); |
| // }); |
| // _ut.test('test_logicalOr_false_string', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_false_string); |
| // }); |
| // _ut.test('test_logicalOr_false_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_false_true); |
| // }); |
| // _ut.test('test_logicalOr_null_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_null_false); |
| // }); |
| // _ut.test('test_logicalOr_null_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_null_true); |
| // }); |
| // _ut.test('test_logicalOr_string_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_string_false); |
| // }); |
| // _ut.test('test_logicalOr_string_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_string_true); |
| // }); |
| // _ut.test('test_logicalOr_true_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_true_false); |
| // }); |
| // _ut.test('test_logicalOr_true_null', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_true_null); |
| // }); |
| // _ut.test('test_logicalOr_true_string', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_true_string); |
| // }); |
| // _ut.test('test_logicalOr_true_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_logicalOr_true_true); |
| // }); |
| // _ut.test('test_minus_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_invalid_knownInt); |
| // }); |
| // _ut.test('test_minus_knownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_knownDouble_knownDouble); |
| // }); |
| // _ut.test('test_minus_knownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_knownDouble_knownInt); |
| // }); |
| // _ut.test('test_minus_knownDouble_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_knownDouble_unknownDouble); |
| // }); |
| // _ut.test('test_minus_knownDouble_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_knownDouble_unknownInt); |
| // }); |
| // _ut.test('test_minus_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_knownInt_invalid); |
| // }); |
| // _ut.test('test_minus_knownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_knownInt_knownInt); |
| // }); |
| // _ut.test('test_minus_knownInt_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_knownInt_unknownDouble); |
| // }); |
| // _ut.test('test_minus_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_minus_unknownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_unknownDouble_knownDouble); |
| // }); |
| // _ut.test('test_minus_unknownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_unknownDouble_knownInt); |
| // }); |
| // _ut.test('test_minus_unknownInt_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_unknownInt_knownDouble); |
| // }); |
| // _ut.test('test_minus_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_minus_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_negated_double_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_negated_double_known); |
| // }); |
| // _ut.test('test_negated_double_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_negated_double_unknown); |
| // }); |
| // _ut.test('test_negated_int_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_negated_int_known); |
| // }); |
| // _ut.test('test_negated_int_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_negated_int_unknown); |
| // }); |
| // _ut.test('test_negated_string', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_negated_string); |
| // }); |
| // _ut.test('test_notEqual_bool_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_bool_false); |
| // }); |
| // _ut.test('test_notEqual_bool_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_bool_true); |
| // }); |
| // _ut.test('test_notEqual_bool_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_bool_unknown); |
| // }); |
| // _ut.test('test_notEqual_double_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_double_false); |
| // }); |
| // _ut.test('test_notEqual_double_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_double_true); |
| // }); |
| // _ut.test('test_notEqual_double_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_double_unknown); |
| // }); |
| // _ut.test('test_notEqual_int_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_int_false); |
| // }); |
| // _ut.test('test_notEqual_int_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_int_true); |
| // }); |
| // _ut.test('test_notEqual_int_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_int_unknown); |
| // }); |
| // _ut.test('test_notEqual_null', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_null); |
| // }); |
| // _ut.test('test_notEqual_string_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_string_false); |
| // }); |
| // _ut.test('test_notEqual_string_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_string_true); |
| // }); |
| // _ut.test('test_notEqual_string_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_notEqual_string_unknown); |
| // }); |
| // _ut.test('test_performToString_bool_false', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_performToString_bool_false); |
| // }); |
| // _ut.test('test_performToString_bool_true', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_performToString_bool_true); |
| // }); |
| // _ut.test('test_performToString_bool_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_performToString_bool_unknown); |
| // }); |
| // _ut.test('test_performToString_double_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_performToString_double_known); |
| // }); |
| // _ut.test('test_performToString_double_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_performToString_double_unknown); |
| // }); |
| // _ut.test('test_performToString_int_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_performToString_int_known); |
| // }); |
| // _ut.test('test_performToString_int_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_performToString_int_unknown); |
| // }); |
| // _ut.test('test_performToString_null', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_performToString_null); |
| // }); |
| // _ut.test('test_performToString_string_known', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_performToString_string_known); |
| // }); |
| // _ut.test('test_performToString_string_unknown', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_performToString_string_unknown); |
| // }); |
| // _ut.test('test_remainder_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_invalid_knownInt); |
| // }); |
| // _ut.test('test_remainder_knownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_knownDouble_knownDouble); |
| // }); |
| // _ut.test('test_remainder_knownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_knownDouble_knownInt); |
| // }); |
| // _ut.test('test_remainder_knownDouble_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_knownDouble_unknownDouble); |
| // }); |
| // _ut.test('test_remainder_knownDouble_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_knownDouble_unknownInt); |
| // }); |
| // _ut.test('test_remainder_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_knownInt_invalid); |
| // }); |
| // _ut.test('test_remainder_knownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_knownInt_knownInt); |
| // }); |
| // _ut.test('test_remainder_knownInt_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_knownInt_unknownDouble); |
| // }); |
| // _ut.test('test_remainder_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_remainder_unknownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_unknownDouble_knownDouble); |
| // }); |
| // _ut.test('test_remainder_unknownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_unknownDouble_knownInt); |
| // }); |
| // _ut.test('test_remainder_unknownInt_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_unknownInt_knownDouble); |
| // }); |
| // _ut.test('test_remainder_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_remainder_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_shiftLeft_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftLeft_invalid_knownInt); |
| // }); |
| // _ut.test('test_shiftLeft_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftLeft_knownInt_invalid); |
| // }); |
| // _ut.test('test_shiftLeft_knownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftLeft_knownInt_knownInt); |
| // }); |
| // _ut.test('test_shiftLeft_knownInt_tooLarge', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftLeft_knownInt_tooLarge); |
| // }); |
| // _ut.test('test_shiftLeft_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftLeft_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_shiftLeft_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftLeft_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_shiftLeft_unknownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftLeft_unknownInt_unknownInt); |
| // }); |
| // _ut.test('test_shiftRight_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftRight_invalid_knownInt); |
| // }); |
| // _ut.test('test_shiftRight_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftRight_knownInt_invalid); |
| // }); |
| // _ut.test('test_shiftRight_knownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftRight_knownInt_knownInt); |
| // }); |
| // _ut.test('test_shiftRight_knownInt_tooLarge', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftRight_knownInt_tooLarge); |
| // }); |
| // _ut.test('test_shiftRight_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftRight_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_shiftRight_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftRight_unknownInt_knownInt); |
| // }); |
| // _ut.test('test_shiftRight_unknownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_shiftRight_unknownInt_unknownInt); |
| // }); |
| // _ut.test('test_times_invalid_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_invalid_knownInt); |
| // }); |
| // _ut.test('test_times_knownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_knownDouble_knownDouble); |
| // }); |
| // _ut.test('test_times_knownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_knownDouble_knownInt); |
| // }); |
| // _ut.test('test_times_knownDouble_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_knownDouble_unknownDouble); |
| // }); |
| // _ut.test('test_times_knownDouble_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_knownDouble_unknownInt); |
| // }); |
| // _ut.test('test_times_knownInt_invalid', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_knownInt_invalid); |
| // }); |
| // _ut.test('test_times_knownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_knownInt_knownInt); |
| // }); |
| // _ut.test('test_times_knownInt_unknownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_knownInt_unknownDouble); |
| // }); |
| // _ut.test('test_times_knownInt_unknownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_knownInt_unknownInt); |
| // }); |
| // _ut.test('test_times_unknownDouble_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_unknownDouble_knownDouble); |
| // }); |
| // _ut.test('test_times_unknownDouble_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_unknownDouble_knownInt); |
| // }); |
| // _ut.test('test_times_unknownInt_knownDouble', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_unknownInt_knownDouble); |
| // }); |
| // _ut.test('test_times_unknownInt_knownInt', () { |
| // final __test = new DartObjectImplTest(); |
| // runJUnitTest(__test, __test.test_times_unknownInt_knownInt); |
| // }); |
| // }); |
| // } |
| // } |
| // class DartUriResolverTest extends JUnitTestCase { |
| // void test_creation() { |
| // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory; |
| // JUnitTestCase.assertNotNull(sdkDirectory); |
| // DartSdk sdk = new DirectoryBasedDartSdk(sdkDirectory); |
| // JUnitTestCase.assertNotNull(new DartUriResolver(sdk)); |
| // } |
| // void test_isDartUri_null_scheme() { |
| // Uri uri = parseUriWithException("foo.dart"); |
| // JUnitTestCase.assertNull(uri.scheme); |
| // JUnitTestCase.assertFalse(DartUriResolver.isDartUri(uri)); |
| // } |
| // void test_resolve_dart() { |
| // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory; |
| // JUnitTestCase.assertNotNull(sdkDirectory); |
| // DartSdk sdk = new DirectoryBasedDartSdk(sdkDirectory); |
| // UriResolver resolver = new DartUriResolver(sdk); |
| // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core")); |
| // JUnitTestCase.assertNotNull(result); |
| // } |
| // void test_resolve_dart_nonExistingLibrary() { |
| // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory; |
| // JUnitTestCase.assertNotNull(sdkDirectory); |
| // DartSdk sdk = new DirectoryBasedDartSdk(sdkDirectory); |
| // UriResolver resolver = new DartUriResolver(sdk); |
| // Source result = resolver.resolveAbsolute(parseUriWithException("dart:cor")); |
| // JUnitTestCase.assertNull(result); |
| // } |
| // void test_resolve_nonDart() { |
| // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory; |
| // JUnitTestCase.assertNotNull(sdkDirectory); |
| // DartSdk sdk = new DirectoryBasedDartSdk(sdkDirectory); |
| // UriResolver resolver = new DartUriResolver(sdk); |
| // Source result = resolver.resolveAbsolute(parseUriWithException("package:some/file.dart")); |
| // JUnitTestCase.assertNull(result); |
| // } |
| // static dartSuite() { |
| // _ut.group('DartUriResolverTest', () { |
| // _ut.test('test_creation', () { |
| // final __test = new DartUriResolverTest(); |
| // runJUnitTest(__test, __test.test_creation); |
| // }); |
| // _ut.test('test_isDartUri_null_scheme', () { |
| // final __test = new DartUriResolverTest(); |
| // runJUnitTest(__test, __test.test_isDartUri_null_scheme); |
| // }); |
| // _ut.test('test_resolve_dart', () { |
| // final __test = new DartUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_dart); |
| // }); |
| // _ut.test('test_resolve_dart_nonExistingLibrary', () { |
| // final __test = new DartUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_dart_nonExistingLibrary); |
| // }); |
| // _ut.test('test_resolve_nonDart', () { |
| // final __test = new DartUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_nonDart); |
| // }); |
| // }); |
| // } |
| // } |
| // class DeclaredVariablesTest extends EngineTestCase { |
| // void test_getBool_false() { |
| // TestTypeProvider typeProvider = new TestTypeProvider(); |
| // String variableName = "var"; |
| // DeclaredVariables variables = new DeclaredVariables(); |
| // variables.define(variableName, "false"); |
| // DartObject object = variables.getBool(typeProvider, variableName); |
| // JUnitTestCase.assertNotNull(object); |
| // JUnitTestCase.assertEquals(false, object.boolValue); |
| // } |
| // void test_getBool_invalid() { |
| // TestTypeProvider typeProvider = new TestTypeProvider(); |
| // String variableName = "var"; |
| // DeclaredVariables variables = new DeclaredVariables(); |
| // variables.define(variableName, "not true"); |
| // _assertNullDartObject(typeProvider, variables.getBool(typeProvider, variableName)); |
| // } |
| // void test_getBool_true() { |
| // TestTypeProvider typeProvider = new TestTypeProvider(); |
| // String variableName = "var"; |
| // DeclaredVariables variables = new DeclaredVariables(); |
| // variables.define(variableName, "true"); |
| // DartObject object = variables.getBool(typeProvider, variableName); |
| // JUnitTestCase.assertNotNull(object); |
| // JUnitTestCase.assertEquals(true, object.boolValue); |
| // } |
| // void test_getBool_undefined() { |
| // TestTypeProvider typeProvider = new TestTypeProvider(); |
| // String variableName = "var"; |
| // DeclaredVariables variables = new DeclaredVariables(); |
| // _assertUnknownDartObject(variables.getBool(typeProvider, variableName)); |
| // } |
| // void test_getInt_invalid() { |
| // TestTypeProvider typeProvider = new TestTypeProvider(); |
| // String variableName = "var"; |
| // DeclaredVariables variables = new DeclaredVariables(); |
| // variables.define(variableName, "four score and seven years"); |
| // _assertNullDartObject(typeProvider, variables.getInt(typeProvider, variableName)); |
| // } |
| // void test_getInt_undefined() { |
| // TestTypeProvider typeProvider = new TestTypeProvider(); |
| // String variableName = "var"; |
| // DeclaredVariables variables = new DeclaredVariables(); |
| // _assertUnknownDartObject(variables.getInt(typeProvider, variableName)); |
| // } |
| // void test_getInt_valid() { |
| // TestTypeProvider typeProvider = new TestTypeProvider(); |
| // String variableName = "var"; |
| // DeclaredVariables variables = new DeclaredVariables(); |
| // variables.define(variableName, "23"); |
| // DartObject object = variables.getInt(typeProvider, variableName); |
| // JUnitTestCase.assertNotNull(object); |
| // JUnitTestCase.assertEquals(23, object.intValue); |
| // } |
| // void test_getString_defined() { |
| // TestTypeProvider typeProvider = new TestTypeProvider(); |
| // String variableName = "var"; |
| // String value = "value"; |
| // DeclaredVariables variables = new DeclaredVariables(); |
| // variables.define(variableName, value); |
| // DartObject object = variables.getString(typeProvider, variableName); |
| // JUnitTestCase.assertNotNull(object); |
| // JUnitTestCase.assertEquals(value, object.stringValue); |
| // } |
| // void test_getString_undefined() { |
| // TestTypeProvider typeProvider = new TestTypeProvider(); |
| // String variableName = "var"; |
| // DeclaredVariables variables = new DeclaredVariables(); |
| // _assertUnknownDartObject(variables.getString(typeProvider, variableName)); |
| // } |
| // void _assertNullDartObject(TestTypeProvider typeProvider, DartObject result) { |
| // JUnitTestCase.assertEquals(typeProvider.nullType, result.type); |
| // } |
| // void _assertUnknownDartObject(DartObject result) { |
| // JUnitTestCase.assertTrue((result as DartObjectImpl).isUnknown); |
| // } |
| // static dartSuite() { |
| // _ut.group('DeclaredVariablesTest', () { |
| // _ut.test('test_getBool_false', () { |
| // final __test = new DeclaredVariablesTest(); |
| // runJUnitTest(__test, __test.test_getBool_false); |
| // }); |
| // _ut.test('test_getBool_invalid', () { |
| // final __test = new DeclaredVariablesTest(); |
| // runJUnitTest(__test, __test.test_getBool_invalid); |
| // }); |
| // _ut.test('test_getBool_true', () { |
| // final __test = new DeclaredVariablesTest(); |
| // runJUnitTest(__test, __test.test_getBool_true); |
| // }); |
| // _ut.test('test_getBool_undefined', () { |
| // final __test = new DeclaredVariablesTest(); |
| // runJUnitTest(__test, __test.test_getBool_undefined); |
| // }); |
| // _ut.test('test_getInt_invalid', () { |
| // final __test = new DeclaredVariablesTest(); |
| // runJUnitTest(__test, __test.test_getInt_invalid); |
| // }); |
| // _ut.test('test_getInt_undefined', () { |
| // final __test = new DeclaredVariablesTest(); |
| // runJUnitTest(__test, __test.test_getInt_undefined); |
| // }); |
| // _ut.test('test_getInt_valid', () { |
| // final __test = new DeclaredVariablesTest(); |
| // runJUnitTest(__test, __test.test_getInt_valid); |
| // }); |
| // _ut.test('test_getString_defined', () { |
| // final __test = new DeclaredVariablesTest(); |
| // runJUnitTest(__test, __test.test_getString_defined); |
| // }); |
| // _ut.test('test_getString_undefined', () { |
| // final __test = new DeclaredVariablesTest(); |
| // runJUnitTest(__test, __test.test_getString_undefined); |
| // }); |
| // }); |
| // } |
| // } |
| // class DirectoryBasedDartSdkTest extends JUnitTestCase { |
| // void fail_getDocFileFor() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // JavaFile docFile = sdk.getDocFileFor("html"); |
| // JUnitTestCase.assertNotNull(docFile); |
| // } |
| // void test_creation() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // JUnitTestCase.assertNotNull(sdk); |
| // } |
| // void test_fromFile_invalid() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // JUnitTestCase.assertNull(sdk.fromFileUri(new JavaFile("/not/in/the/sdk.dart").toURI())); |
| // } |
| // void test_fromFile_library() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // Source source = sdk.fromFileUri(new JavaFile.relative(new JavaFile.relative(sdk.libraryDirectory, "core"), "core.dart").toURI()); |
| // JUnitTestCase.assertNotNull(source); |
| // JUnitTestCase.assertTrue(source.isInSystemLibrary); |
| // JUnitTestCase.assertEquals("dart:core", source.uri.toString()); |
| // } |
| // void test_fromFile_part() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // Source source = sdk.fromFileUri(new JavaFile.relative(new JavaFile.relative(sdk.libraryDirectory, "core"), "num.dart").toURI()); |
| // JUnitTestCase.assertNotNull(source); |
| // JUnitTestCase.assertTrue(source.isInSystemLibrary); |
| // JUnitTestCase.assertEquals("dart:core/num.dart", source.uri.toString()); |
| // } |
| // void test_getDart2JsExecutable() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // JavaFile executable = sdk.dart2JsExecutable; |
| // JUnitTestCase.assertNotNull(executable); |
| // JUnitTestCase.assertTrue(executable.exists()); |
| // JUnitTestCase.assertTrue(executable.canExecute()); |
| // } |
| // void test_getDartFmtExecutable() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // JavaFile executable = sdk.dartFmtExecutable; |
| // JUnitTestCase.assertNotNull(executable); |
| // JUnitTestCase.assertTrue(executable.exists()); |
| // JUnitTestCase.assertTrue(executable.canExecute()); |
| // } |
| // void test_getDirectory() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // JavaFile directory = sdk.directory; |
| // JUnitTestCase.assertNotNull(directory); |
| // JUnitTestCase.assertTrue(directory.exists()); |
| // } |
| // void test_getDocDirectory() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // JavaFile directory = sdk.docDirectory; |
| // JUnitTestCase.assertNotNull(directory); |
| // } |
| // void test_getLibraryDirectory() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // JavaFile directory = sdk.libraryDirectory; |
| // JUnitTestCase.assertNotNull(directory); |
| // JUnitTestCase.assertTrue(directory.exists()); |
| // } |
| // void test_getPubExecutable() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // JavaFile executable = sdk.pubExecutable; |
| // JUnitTestCase.assertNotNull(executable); |
| // JUnitTestCase.assertTrue(executable.exists()); |
| // JUnitTestCase.assertTrue(executable.canExecute()); |
| // } |
| // void test_getSdkVersion() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // String version = sdk.sdkVersion; |
| // JUnitTestCase.assertNotNull(version); |
| // JUnitTestCase.assertTrue(version.length > 0); |
| // } |
| // void test_getVmExecutable() { |
| // DirectoryBasedDartSdk sdk = _createDartSdk(); |
| // JavaFile executable = sdk.vmExecutable; |
| // JUnitTestCase.assertNotNull(executable); |
| // JUnitTestCase.assertTrue(executable.exists()); |
| // JUnitTestCase.assertTrue(executable.canExecute()); |
| // } |
| // DirectoryBasedDartSdk _createDartSdk() { |
| // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory; |
| // JUnitTestCase.assertNotNullMsg("No SDK configured; set the property 'com.google.dart.sdk' on the command line", sdkDirectory); |
| // return new DirectoryBasedDartSdk(sdkDirectory); |
| // } |
| // static dartSuite() { |
| // _ut.group('DirectoryBasedDartSdkTest', () { |
| // _ut.test('test_creation', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_creation); |
| // }); |
| // _ut.test('test_fromFile_invalid', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_fromFile_invalid); |
| // }); |
| // _ut.test('test_fromFile_library', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_fromFile_library); |
| // }); |
| // _ut.test('test_fromFile_part', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_fromFile_part); |
| // }); |
| // _ut.test('test_getDart2JsExecutable', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_getDart2JsExecutable); |
| // }); |
| // _ut.test('test_getDartFmtExecutable', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_getDartFmtExecutable); |
| // }); |
| // _ut.test('test_getDirectory', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_getDirectory); |
| // }); |
| // _ut.test('test_getDocDirectory', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_getDocDirectory); |
| // }); |
| // _ut.test('test_getLibraryDirectory', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_getLibraryDirectory); |
| // }); |
| // _ut.test('test_getPubExecutable', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_getPubExecutable); |
| // }); |
| // _ut.test('test_getSdkVersion', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_getSdkVersion); |
| // }); |
| // _ut.test('test_getVmExecutable', () { |
| // final __test = new DirectoryBasedDartSdkTest(); |
| // runJUnitTest(__test, __test.test_getVmExecutable); |
| // }); |
| // }); |
| // } |
| // } |
| // class DirectoryBasedSourceContainerTest extends JUnitTestCase { |
| // void test_contains() { |
| // JavaFile dir = FileUtilities2.createFile("/does/not/exist"); |
| // JavaFile file1 = FileUtilities2.createFile("/does/not/exist/some.dart"); |
| // JavaFile file2 = FileUtilities2.createFile("/does/not/exist/folder/some2.dart"); |
| // JavaFile file3 = FileUtilities2.createFile("/does/not/exist3/some3.dart"); |
| // FileBasedSource source1 = new FileBasedSource.con1(file1); |
| // FileBasedSource source2 = new FileBasedSource.con1(file2); |
| // FileBasedSource source3 = new FileBasedSource.con1(file3); |
| // DirectoryBasedSourceContainer container = new DirectoryBasedSourceContainer.con1(dir); |
| // JUnitTestCase.assertTrue(container.contains(source1)); |
| // JUnitTestCase.assertTrue(container.contains(source2)); |
| // JUnitTestCase.assertFalse(container.contains(source3)); |
| // } |
| // static dartSuite() { |
| // _ut.group('DirectoryBasedSourceContainerTest', () { |
| // _ut.test('test_contains', () { |
| // final __test = new DirectoryBasedSourceContainerTest(); |
| // runJUnitTest(__test, __test.test_contains); |
| // }); |
| // }); |
| // } |
| // } |
| // class ElementBuilderTest extends EngineTestCase { |
| // void test_visitCatchClause() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String exceptionParameterName = "e"; |
| // String stackParameterName = "s"; |
| // CatchClause clause = AstFactory.catchClause2(exceptionParameterName, stackParameterName, []); |
| // clause.accept(builder); |
| // List<LocalVariableElement> variables = holder.localVariables; |
| // EngineTestCase.assertLength(2, variables); |
| // VariableElement exceptionVariable = variables[0]; |
| // JUnitTestCase.assertNotNull(exceptionVariable); |
| // JUnitTestCase.assertEquals(exceptionParameterName, exceptionVariable.name); |
| // JUnitTestCase.assertFalse(exceptionVariable.isSynthetic); |
| // JUnitTestCase.assertFalse(exceptionVariable.isConst); |
| // JUnitTestCase.assertFalse(exceptionVariable.isFinal); |
| // JUnitTestCase.assertNull(exceptionVariable.initializer); |
| // VariableElement stackVariable = variables[1]; |
| // JUnitTestCase.assertNotNull(stackVariable); |
| // JUnitTestCase.assertEquals(stackParameterName, stackVariable.name); |
| // JUnitTestCase.assertFalse(stackVariable.isSynthetic); |
| // JUnitTestCase.assertFalse(stackVariable.isConst); |
| // JUnitTestCase.assertFalse(stackVariable.isFinal); |
| // JUnitTestCase.assertNull(stackVariable.initializer); |
| // } |
| // void test_visitClassDeclaration_abstract() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String className = "C"; |
| // ClassDeclaration classDeclaration = AstFactory.classDeclaration(Keyword.ABSTRACT, className, null, null, null, null, []); |
| // classDeclaration.accept(builder); |
| // List<ClassElement> types = holder.types; |
| // EngineTestCase.assertLength(1, types); |
| // ClassElement type = types[0]; |
| // JUnitTestCase.assertNotNull(type); |
| // JUnitTestCase.assertEquals(className, type.name); |
| // List<TypeParameterElement> typeParameters = type.typeParameters; |
| // EngineTestCase.assertLength(0, typeParameters); |
| // JUnitTestCase.assertTrue(type.isAbstract); |
| // JUnitTestCase.assertFalse(type.isSynthetic); |
| // } |
| // void test_visitClassDeclaration_minimal() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String className = "C"; |
| // ClassDeclaration classDeclaration = AstFactory.classDeclaration(null, className, null, null, null, null, []); |
| // classDeclaration.accept(builder); |
| // List<ClassElement> types = holder.types; |
| // EngineTestCase.assertLength(1, types); |
| // ClassElement type = types[0]; |
| // JUnitTestCase.assertNotNull(type); |
| // JUnitTestCase.assertEquals(className, type.name); |
| // List<TypeParameterElement> typeParameters = type.typeParameters; |
| // EngineTestCase.assertLength(0, typeParameters); |
| // JUnitTestCase.assertFalse(type.isAbstract); |
| // JUnitTestCase.assertFalse(type.isSynthetic); |
| // } |
| // void test_visitClassDeclaration_parameterized() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String className = "C"; |
| // String firstVariableName = "E"; |
| // String secondVariableName = "F"; |
| // ClassDeclaration classDeclaration = AstFactory.classDeclaration(null, className, AstFactory.typeParameterList([firstVariableName, secondVariableName]), null, null, null, []); |
| // classDeclaration.accept(builder); |
| // List<ClassElement> types = holder.types; |
| // EngineTestCase.assertLength(1, types); |
| // ClassElement type = types[0]; |
| // JUnitTestCase.assertNotNull(type); |
| // JUnitTestCase.assertEquals(className, type.name); |
| // List<TypeParameterElement> typeParameters = type.typeParameters; |
| // EngineTestCase.assertLength(2, typeParameters); |
| // JUnitTestCase.assertEquals(firstVariableName, typeParameters[0].name); |
| // JUnitTestCase.assertEquals(secondVariableName, typeParameters[1].name); |
| // JUnitTestCase.assertFalse(type.isAbstract); |
| // JUnitTestCase.assertFalse(type.isSynthetic); |
| // } |
| // void test_visitClassDeclaration_withMembers() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String className = "C"; |
| // String typeParameterName = "E"; |
| // String fieldName = "f"; |
| // String methodName = "m"; |
| // ClassDeclaration classDeclaration = AstFactory.classDeclaration(null, className, AstFactory.typeParameterList([typeParameterName]), null, null, null, [ |
| // AstFactory.fieldDeclaration2(false, null, [AstFactory.variableDeclaration(fieldName)]), |
| // AstFactory.methodDeclaration2(null, null, null, null, AstFactory.identifier3(methodName), AstFactory.formalParameterList([]), AstFactory.blockFunctionBody2([]))]); |
| // classDeclaration.accept(builder); |
| // List<ClassElement> types = holder.types; |
| // EngineTestCase.assertLength(1, types); |
| // ClassElement type = types[0]; |
| // JUnitTestCase.assertNotNull(type); |
| // JUnitTestCase.assertEquals(className, type.name); |
| // JUnitTestCase.assertFalse(type.isAbstract); |
| // JUnitTestCase.assertFalse(type.isSynthetic); |
| // List<TypeParameterElement> typeParameters = type.typeParameters; |
| // EngineTestCase.assertLength(1, typeParameters); |
| // TypeParameterElement typeParameter = typeParameters[0]; |
| // JUnitTestCase.assertNotNull(typeParameter); |
| // JUnitTestCase.assertEquals(typeParameterName, typeParameter.name); |
| // List<FieldElement> fields = type.fields; |
| // EngineTestCase.assertLength(1, fields); |
| // FieldElement field = fields[0]; |
| // JUnitTestCase.assertNotNull(field); |
| // JUnitTestCase.assertEquals(fieldName, field.name); |
| // List<MethodElement> methods = type.methods; |
| // EngineTestCase.assertLength(1, methods); |
| // MethodElement method = methods[0]; |
| // JUnitTestCase.assertNotNull(method); |
| // JUnitTestCase.assertEquals(methodName, method.name); |
| // } |
| // void test_visitConstructorDeclaration_factory() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String className = "A"; |
| // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDeclaration2(null, Keyword.FACTORY, AstFactory.identifier3(className), null, AstFactory.formalParameterList([]), null, AstFactory.blockFunctionBody2([])); |
| // constructorDeclaration.accept(builder); |
| // List<ConstructorElement> constructors = holder.constructors; |
| // EngineTestCase.assertLength(1, constructors); |
| // ConstructorElement constructor = constructors[0]; |
| // JUnitTestCase.assertNotNull(constructor); |
| // JUnitTestCase.assertTrue(constructor.isFactory); |
| // JUnitTestCase.assertEquals("", constructor.name); |
| // EngineTestCase.assertLength(0, constructor.functions); |
| // EngineTestCase.assertLength(0, constructor.labels); |
| // EngineTestCase.assertLength(0, constructor.localVariables); |
| // EngineTestCase.assertLength(0, constructor.parameters); |
| // } |
| // void test_visitConstructorDeclaration_minimal() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String className = "A"; |
| // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDeclaration2(null, null, AstFactory.identifier3(className), null, AstFactory.formalParameterList([]), null, AstFactory.blockFunctionBody2([])); |
| // constructorDeclaration.accept(builder); |
| // List<ConstructorElement> constructors = holder.constructors; |
| // EngineTestCase.assertLength(1, constructors); |
| // ConstructorElement constructor = constructors[0]; |
| // JUnitTestCase.assertNotNull(constructor); |
| // JUnitTestCase.assertFalse(constructor.isFactory); |
| // JUnitTestCase.assertEquals("", constructor.name); |
| // EngineTestCase.assertLength(0, constructor.functions); |
| // EngineTestCase.assertLength(0, constructor.labels); |
| // EngineTestCase.assertLength(0, constructor.localVariables); |
| // EngineTestCase.assertLength(0, constructor.parameters); |
| // } |
| // void test_visitConstructorDeclaration_named() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String className = "A"; |
| // String constructorName = "c"; |
| // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDeclaration2(null, null, AstFactory.identifier3(className), constructorName, AstFactory.formalParameterList([]), null, AstFactory.blockFunctionBody2([])); |
| // constructorDeclaration.accept(builder); |
| // List<ConstructorElement> constructors = holder.constructors; |
| // EngineTestCase.assertLength(1, constructors); |
| // ConstructorElement constructor = constructors[0]; |
| // JUnitTestCase.assertNotNull(constructor); |
| // JUnitTestCase.assertFalse(constructor.isFactory); |
| // JUnitTestCase.assertEquals(constructorName, constructor.name); |
| // EngineTestCase.assertLength(0, constructor.functions); |
| // EngineTestCase.assertLength(0, constructor.labels); |
| // EngineTestCase.assertLength(0, constructor.localVariables); |
| // EngineTestCase.assertLength(0, constructor.parameters); |
| // JUnitTestCase.assertSame(constructor, constructorDeclaration.name.staticElement); |
| // JUnitTestCase.assertSame(constructor, constructorDeclaration.element); |
| // } |
| // void test_visitConstructorDeclaration_unnamed() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String className = "A"; |
| // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDeclaration2(null, null, AstFactory.identifier3(className), null, AstFactory.formalParameterList([]), null, AstFactory.blockFunctionBody2([])); |
| // constructorDeclaration.accept(builder); |
| // List<ConstructorElement> constructors = holder.constructors; |
| // EngineTestCase.assertLength(1, constructors); |
| // ConstructorElement constructor = constructors[0]; |
| // JUnitTestCase.assertNotNull(constructor); |
| // JUnitTestCase.assertFalse(constructor.isFactory); |
| // JUnitTestCase.assertEquals("", constructor.name); |
| // EngineTestCase.assertLength(0, constructor.functions); |
| // EngineTestCase.assertLength(0, constructor.labels); |
| // EngineTestCase.assertLength(0, constructor.localVariables); |
| // EngineTestCase.assertLength(0, constructor.parameters); |
| // JUnitTestCase.assertSame(constructor, constructorDeclaration.element); |
| // } |
| // void test_visitEnumDeclaration() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String enumName = "E"; |
| // EnumDeclaration enumDeclaration = AstFactory.enumDeclaration2(enumName, ["ONE"]); |
| // enumDeclaration.accept(builder); |
| // List<ClassElement> enums = holder.enums; |
| // EngineTestCase.assertLength(1, enums); |
| // ClassElement enumElement = enums[0]; |
| // JUnitTestCase.assertNotNull(enumElement); |
| // JUnitTestCase.assertEquals(enumName, enumElement.name); |
| // } |
| // void test_visitFieldDeclaration() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String firstFieldName = "x"; |
| // String secondFieldName = "y"; |
| // FieldDeclaration fieldDeclaration = AstFactory.fieldDeclaration2(false, null, [ |
| // AstFactory.variableDeclaration(firstFieldName), |
| // AstFactory.variableDeclaration(secondFieldName)]); |
| // fieldDeclaration.accept(builder); |
| // List<FieldElement> fields = holder.fields; |
| // EngineTestCase.assertLength(2, fields); |
| // FieldElement firstField = fields[0]; |
| // JUnitTestCase.assertNotNull(firstField); |
| // JUnitTestCase.assertEquals(firstFieldName, firstField.name); |
| // JUnitTestCase.assertNull(firstField.initializer); |
| // JUnitTestCase.assertFalse(firstField.isConst); |
| // JUnitTestCase.assertFalse(firstField.isFinal); |
| // JUnitTestCase.assertFalse(firstField.isSynthetic); |
| // FieldElement secondField = fields[1]; |
| // JUnitTestCase.assertNotNull(secondField); |
| // JUnitTestCase.assertEquals(secondFieldName, secondField.name); |
| // JUnitTestCase.assertNull(secondField.initializer); |
| // JUnitTestCase.assertFalse(secondField.isConst); |
| // JUnitTestCase.assertFalse(secondField.isFinal); |
| // JUnitTestCase.assertFalse(secondField.isSynthetic); |
| // } |
| // void test_visitFieldFormalParameter() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String parameterName = "p"; |
| // FieldFormalParameter formalParameter = AstFactory.fieldFormalParameter(null, null, parameterName); |
| // formalParameter.accept(builder); |
| // List<ParameterElement> parameters = holder.parameters; |
| // EngineTestCase.assertLength(1, parameters); |
| // ParameterElement parameter = parameters[0]; |
| // JUnitTestCase.assertNotNull(parameter); |
| // JUnitTestCase.assertEquals(parameterName, parameter.name); |
| // JUnitTestCase.assertNull(parameter.initializer); |
| // JUnitTestCase.assertFalse(parameter.isConst); |
| // JUnitTestCase.assertFalse(parameter.isFinal); |
| // JUnitTestCase.assertFalse(parameter.isSynthetic); |
| // JUnitTestCase.assertEquals(ParameterKind.REQUIRED, parameter.parameterKind); |
| // EngineTestCase.assertLength(0, parameter.parameters); |
| // } |
| // void test_visitFieldFormalParameter_funtionTyped() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String parameterName = "p"; |
| // FieldFormalParameter formalParameter = AstFactory.fieldFormalParameter(null, null, parameterName, AstFactory.formalParameterList([AstFactory.simpleFormalParameter3("a")])); |
| // formalParameter.accept(builder); |
| // List<ParameterElement> parameters = holder.parameters; |
| // EngineTestCase.assertLength(1, parameters); |
| // ParameterElement parameter = parameters[0]; |
| // JUnitTestCase.assertNotNull(parameter); |
| // JUnitTestCase.assertEquals(parameterName, parameter.name); |
| // JUnitTestCase.assertNull(parameter.initializer); |
| // JUnitTestCase.assertFalse(parameter.isConst); |
| // JUnitTestCase.assertFalse(parameter.isFinal); |
| // JUnitTestCase.assertFalse(parameter.isSynthetic); |
| // JUnitTestCase.assertEquals(ParameterKind.REQUIRED, parameter.parameterKind); |
| // EngineTestCase.assertLength(1, parameter.parameters); |
| // } |
| // void test_visitFormalParameterList() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String firstParameterName = "a"; |
| // String secondParameterName = "b"; |
| // FormalParameterList parameterList = AstFactory.formalParameterList([ |
| // AstFactory.simpleFormalParameter3(firstParameterName), |
| // AstFactory.simpleFormalParameter3(secondParameterName)]); |
| // parameterList.accept(builder); |
| // List<ParameterElement> parameters = holder.parameters; |
| // EngineTestCase.assertLength(2, parameters); |
| // JUnitTestCase.assertEquals(firstParameterName, parameters[0].name); |
| // JUnitTestCase.assertEquals(secondParameterName, parameters[1].name); |
| // } |
| // void test_visitFunctionDeclaration_getter() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String functionName = "f"; |
| // FunctionDeclaration declaration = AstFactory.functionDeclaration(null, Keyword.GET, functionName, AstFactory.functionExpression2(AstFactory.formalParameterList([]), AstFactory.blockFunctionBody2([]))); |
| // declaration.accept(builder); |
| // List<PropertyAccessorElement> accessors = holder.accessors; |
| // EngineTestCase.assertLength(1, accessors); |
| // PropertyAccessorElement accessor = accessors[0]; |
| // JUnitTestCase.assertNotNull(accessor); |
| // JUnitTestCase.assertEquals(functionName, accessor.name); |
| // JUnitTestCase.assertSame(accessor, declaration.element); |
| // JUnitTestCase.assertSame(accessor, declaration.functionExpression.element); |
| // JUnitTestCase.assertTrue(accessor.isGetter); |
| // JUnitTestCase.assertFalse(accessor.isSetter); |
| // JUnitTestCase.assertFalse(accessor.isSynthetic); |
| // PropertyInducingElement variable = accessor.variable; |
| // EngineTestCase.assertInstanceOf((obj) => obj is TopLevelVariableElement, TopLevelVariableElement, variable); |
| // JUnitTestCase.assertTrue(variable.isSynthetic); |
| // } |
| // void test_visitFunctionDeclaration_plain() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String functionName = "f"; |
| // FunctionDeclaration declaration = AstFactory.functionDeclaration(null, null, functionName, AstFactory.functionExpression2(AstFactory.formalParameterList([]), AstFactory.blockFunctionBody2([]))); |
| // declaration.accept(builder); |
| // List<FunctionElement> functions = holder.functions; |
| // EngineTestCase.assertLength(1, functions); |
| // FunctionElement function = functions[0]; |
| // JUnitTestCase.assertNotNull(function); |
| // JUnitTestCase.assertEquals(functionName, function.name); |
| // JUnitTestCase.assertSame(function, declaration.element); |
| // JUnitTestCase.assertSame(function, declaration.functionExpression.element); |
| // JUnitTestCase.assertFalse(function.isSynthetic); |
| // } |
| // void test_visitFunctionDeclaration_setter() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String functionName = "f"; |
| // FunctionDeclaration declaration = AstFactory.functionDeclaration(null, Keyword.SET, functionName, AstFactory.functionExpression2(AstFactory.formalParameterList([]), AstFactory.blockFunctionBody2([]))); |
| // declaration.accept(builder); |
| // List<PropertyAccessorElement> accessors = holder.accessors; |
| // EngineTestCase.assertLength(1, accessors); |
| // PropertyAccessorElement accessor = accessors[0]; |
| // JUnitTestCase.assertNotNull(accessor); |
| // JUnitTestCase.assertEquals("${functionName}=", accessor.name); |
| // JUnitTestCase.assertSame(accessor, declaration.element); |
| // JUnitTestCase.assertSame(accessor, declaration.functionExpression.element); |
| // JUnitTestCase.assertFalse(accessor.isGetter); |
| // JUnitTestCase.assertTrue(accessor.isSetter); |
| // JUnitTestCase.assertFalse(accessor.isSynthetic); |
| // PropertyInducingElement variable = accessor.variable; |
| // EngineTestCase.assertInstanceOf((obj) => obj is TopLevelVariableElement, TopLevelVariableElement, variable); |
| // JUnitTestCase.assertTrue(variable.isSynthetic); |
| // } |
| // void test_visitFunctionExpression() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // FunctionExpression expression = AstFactory.functionExpression2(AstFactory.formalParameterList([]), AstFactory.blockFunctionBody2([])); |
| // expression.accept(builder); |
| // List<FunctionElement> functions = holder.functions; |
| // EngineTestCase.assertLength(1, functions); |
| // FunctionElement function = functions[0]; |
| // JUnitTestCase.assertNotNull(function); |
| // JUnitTestCase.assertSame(function, expression.element); |
| // JUnitTestCase.assertFalse(function.isSynthetic); |
| // } |
| // void test_visitFunctionTypeAlias() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String aliasName = "F"; |
| // String parameterName = "E"; |
| // FunctionTypeAlias aliasNode = AstFactory.typeAlias(null, aliasName, AstFactory.typeParameterList([parameterName]), null); |
| // aliasNode.accept(builder); |
| // List<FunctionTypeAliasElement> aliases = holder.typeAliases; |
| // EngineTestCase.assertLength(1, aliases); |
| // FunctionTypeAliasElement alias = aliases[0]; |
| // JUnitTestCase.assertNotNull(alias); |
| // JUnitTestCase.assertEquals(aliasName, alias.name); |
| // EngineTestCase.assertLength(0, alias.parameters); |
| // List<TypeParameterElement> typeParameters = alias.typeParameters; |
| // EngineTestCase.assertLength(1, typeParameters); |
| // TypeParameterElement typeParameter = typeParameters[0]; |
| // JUnitTestCase.assertNotNull(typeParameter); |
| // JUnitTestCase.assertEquals(parameterName, typeParameter.name); |
| // } |
| // void test_visitFunctionTypedFormalParameter() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String parameterName = "p"; |
| // FunctionTypedFormalParameter formalParameter = AstFactory.functionTypedFormalParameter(null, parameterName, []); |
| // _useParameterInMethod(formalParameter, 100, 110); |
| // formalParameter.accept(builder); |
| // List<ParameterElement> parameters = holder.parameters; |
| // EngineTestCase.assertLength(1, parameters); |
| // ParameterElement parameter = parameters[0]; |
| // JUnitTestCase.assertNotNull(parameter); |
| // JUnitTestCase.assertEquals(parameterName, parameter.name); |
| // JUnitTestCase.assertNull(parameter.initializer); |
| // JUnitTestCase.assertFalse(parameter.isConst); |
| // JUnitTestCase.assertFalse(parameter.isFinal); |
| // JUnitTestCase.assertFalse(parameter.isSynthetic); |
| // JUnitTestCase.assertEquals(ParameterKind.REQUIRED, parameter.parameterKind); |
| // JUnitTestCase.assertEquals(SourceRangeFactory.rangeStartEnd(100, 110), parameter.visibleRange); |
| // } |
| // void test_visitLabeledStatement() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String labelName = "l"; |
| // LabeledStatement statement = AstFactory.labeledStatement(AstFactory.list([AstFactory.label2(labelName)]), AstFactory.breakStatement()); |
| // statement.accept(builder); |
| // List<LabelElement> labels = holder.labels; |
| // EngineTestCase.assertLength(1, labels); |
| // LabelElement label = labels[0]; |
| // JUnitTestCase.assertNotNull(label); |
| // JUnitTestCase.assertEquals(labelName, label.name); |
| // JUnitTestCase.assertFalse(label.isSynthetic); |
| // } |
| // void test_visitMethodDeclaration_abstract() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String methodName = "m"; |
| // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, null, null, AstFactory.identifier3(methodName), AstFactory.formalParameterList([]), AstFactory.emptyFunctionBody()); |
| // methodDeclaration.accept(builder); |
| // List<MethodElement> methods = holder.methods; |
| // EngineTestCase.assertLength(1, methods); |
| // MethodElement method = methods[0]; |
| // JUnitTestCase.assertNotNull(method); |
| // JUnitTestCase.assertEquals(methodName, method.name); |
| // EngineTestCase.assertLength(0, method.functions); |
| // EngineTestCase.assertLength(0, method.labels); |
| // EngineTestCase.assertLength(0, method.localVariables); |
| // EngineTestCase.assertLength(0, method.parameters); |
| // JUnitTestCase.assertTrue(method.isAbstract); |
| // JUnitTestCase.assertFalse(method.isStatic); |
| // JUnitTestCase.assertFalse(method.isSynthetic); |
| // } |
| // void test_visitMethodDeclaration_getter() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String methodName = "m"; |
| // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, Keyword.GET, null, AstFactory.identifier3(methodName), AstFactory.formalParameterList([]), AstFactory.blockFunctionBody2([])); |
| // methodDeclaration.accept(builder); |
| // List<FieldElement> fields = holder.fields; |
| // EngineTestCase.assertLength(1, fields); |
| // FieldElement field = fields[0]; |
| // JUnitTestCase.assertNotNull(field); |
| // JUnitTestCase.assertEquals(methodName, field.name); |
| // JUnitTestCase.assertTrue(field.isSynthetic); |
| // JUnitTestCase.assertNull(field.setter); |
| // PropertyAccessorElement getter = field.getter; |
| // JUnitTestCase.assertNotNull(getter); |
| // JUnitTestCase.assertFalse(getter.isAbstract); |
| // JUnitTestCase.assertTrue(getter.isGetter); |
| // JUnitTestCase.assertFalse(getter.isSynthetic); |
| // JUnitTestCase.assertEquals(methodName, getter.name); |
| // JUnitTestCase.assertEquals(field, getter.variable); |
| // EngineTestCase.assertLength(0, getter.functions); |
| // EngineTestCase.assertLength(0, getter.labels); |
| // EngineTestCase.assertLength(0, getter.localVariables); |
| // EngineTestCase.assertLength(0, getter.parameters); |
| // } |
| // void test_visitMethodDeclaration_getter_abstract() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String methodName = "m"; |
| // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, Keyword.GET, null, AstFactory.identifier3(methodName), AstFactory.formalParameterList([]), AstFactory.emptyFunctionBody()); |
| // methodDeclaration.accept(builder); |
| // List<FieldElement> fields = holder.fields; |
| // EngineTestCase.assertLength(1, fields); |
| // FieldElement field = fields[0]; |
| // JUnitTestCase.assertNotNull(field); |
| // JUnitTestCase.assertEquals(methodName, field.name); |
| // JUnitTestCase.assertTrue(field.isSynthetic); |
| // JUnitTestCase.assertNull(field.setter); |
| // PropertyAccessorElement getter = field.getter; |
| // JUnitTestCase.assertNotNull(getter); |
| // JUnitTestCase.assertTrue(getter.isAbstract); |
| // JUnitTestCase.assertTrue(getter.isGetter); |
| // JUnitTestCase.assertFalse(getter.isSynthetic); |
| // JUnitTestCase.assertEquals(methodName, getter.name); |
| // JUnitTestCase.assertEquals(field, getter.variable); |
| // EngineTestCase.assertLength(0, getter.functions); |
| // EngineTestCase.assertLength(0, getter.labels); |
| // EngineTestCase.assertLength(0, getter.localVariables); |
| // EngineTestCase.assertLength(0, getter.parameters); |
| // } |
| // void test_visitMethodDeclaration_getter_external() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String methodName = "m"; |
| // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration(null, null, Keyword.GET, null, AstFactory.identifier3(methodName), AstFactory.formalParameterList([])); |
| // methodDeclaration.accept(builder); |
| // List<FieldElement> fields = holder.fields; |
| // EngineTestCase.assertLength(1, fields); |
| // FieldElement field = fields[0]; |
| // JUnitTestCase.assertNotNull(field); |
| // JUnitTestCase.assertEquals(methodName, field.name); |
| // JUnitTestCase.assertTrue(field.isSynthetic); |
| // JUnitTestCase.assertNull(field.setter); |
| // PropertyAccessorElement getter = field.getter; |
| // JUnitTestCase.assertNotNull(getter); |
| // JUnitTestCase.assertFalse(getter.isAbstract); |
| // JUnitTestCase.assertTrue(getter.isGetter); |
| // JUnitTestCase.assertFalse(getter.isSynthetic); |
| // JUnitTestCase.assertEquals(methodName, getter.name); |
| // JUnitTestCase.assertEquals(field, getter.variable); |
| // EngineTestCase.assertLength(0, getter.functions); |
| // EngineTestCase.assertLength(0, getter.labels); |
| // EngineTestCase.assertLength(0, getter.localVariables); |
| // EngineTestCase.assertLength(0, getter.parameters); |
| // } |
| // void test_visitMethodDeclaration_minimal() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String methodName = "m"; |
| // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, null, null, AstFactory.identifier3(methodName), AstFactory.formalParameterList([]), AstFactory.blockFunctionBody2([])); |
| // methodDeclaration.accept(builder); |
| // List<MethodElement> methods = holder.methods; |
| // EngineTestCase.assertLength(1, methods); |
| // MethodElement method = methods[0]; |
| // JUnitTestCase.assertNotNull(method); |
| // JUnitTestCase.assertEquals(methodName, method.name); |
| // EngineTestCase.assertLength(0, method.functions); |
| // EngineTestCase.assertLength(0, method.labels); |
| // EngineTestCase.assertLength(0, method.localVariables); |
| // EngineTestCase.assertLength(0, method.parameters); |
| // JUnitTestCase.assertFalse(method.isAbstract); |
| // JUnitTestCase.assertFalse(method.isStatic); |
| // JUnitTestCase.assertFalse(method.isSynthetic); |
| // } |
| // void test_visitMethodDeclaration_operator() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String methodName = "+"; |
| // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, null, Keyword.OPERATOR, AstFactory.identifier3(methodName), AstFactory.formalParameterList([AstFactory.simpleFormalParameter3("addend")]), AstFactory.blockFunctionBody2([])); |
| // methodDeclaration.accept(builder); |
| // List<MethodElement> methods = holder.methods; |
| // EngineTestCase.assertLength(1, methods); |
| // MethodElement method = methods[0]; |
| // JUnitTestCase.assertNotNull(method); |
| // JUnitTestCase.assertEquals(methodName, method.name); |
| // EngineTestCase.assertLength(0, method.functions); |
| // EngineTestCase.assertLength(0, method.labels); |
| // EngineTestCase.assertLength(0, method.localVariables); |
| // EngineTestCase.assertLength(1, method.parameters); |
| // JUnitTestCase.assertFalse(method.isAbstract); |
| // JUnitTestCase.assertFalse(method.isStatic); |
| // JUnitTestCase.assertFalse(method.isSynthetic); |
| // } |
| // void test_visitMethodDeclaration_setter() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String methodName = "m"; |
| // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, Keyword.SET, null, AstFactory.identifier3(methodName), AstFactory.formalParameterList([]), AstFactory.blockFunctionBody2([])); |
| // methodDeclaration.accept(builder); |
| // List<FieldElement> fields = holder.fields; |
| // EngineTestCase.assertLength(1, fields); |
| // FieldElement field = fields[0]; |
| // JUnitTestCase.assertNotNull(field); |
| // JUnitTestCase.assertEquals(methodName, field.name); |
| // JUnitTestCase.assertTrue(field.isSynthetic); |
| // JUnitTestCase.assertNull(field.getter); |
| // PropertyAccessorElement setter = field.setter; |
| // JUnitTestCase.assertNotNull(setter); |
| // JUnitTestCase.assertFalse(setter.isAbstract); |
| // JUnitTestCase.assertTrue(setter.isSetter); |
| // JUnitTestCase.assertFalse(setter.isSynthetic); |
| // JUnitTestCase.assertEquals("${methodName}=", setter.name); |
| // JUnitTestCase.assertEquals(methodName, setter.displayName); |
| // JUnitTestCase.assertEquals(field, setter.variable); |
| // EngineTestCase.assertLength(0, setter.functions); |
| // EngineTestCase.assertLength(0, setter.labels); |
| // EngineTestCase.assertLength(0, setter.localVariables); |
| // EngineTestCase.assertLength(0, setter.parameters); |
| // } |
| // void test_visitMethodDeclaration_setter_abstract() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String methodName = "m"; |
| // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, Keyword.SET, null, AstFactory.identifier3(methodName), AstFactory.formalParameterList([]), AstFactory.emptyFunctionBody()); |
| // methodDeclaration.accept(builder); |
| // List<FieldElement> fields = holder.fields; |
| // EngineTestCase.assertLength(1, fields); |
| // FieldElement field = fields[0]; |
| // JUnitTestCase.assertNotNull(field); |
| // JUnitTestCase.assertEquals(methodName, field.name); |
| // JUnitTestCase.assertTrue(field.isSynthetic); |
| // JUnitTestCase.assertNull(field.getter); |
| // PropertyAccessorElement setter = field.setter; |
| // JUnitTestCase.assertNotNull(setter); |
| // JUnitTestCase.assertTrue(setter.isAbstract); |
| // JUnitTestCase.assertTrue(setter.isSetter); |
| // JUnitTestCase.assertFalse(setter.isSynthetic); |
| // JUnitTestCase.assertEquals("${methodName}=", setter.name); |
| // JUnitTestCase.assertEquals(methodName, setter.displayName); |
| // JUnitTestCase.assertEquals(field, setter.variable); |
| // EngineTestCase.assertLength(0, setter.functions); |
| // EngineTestCase.assertLength(0, setter.labels); |
| // EngineTestCase.assertLength(0, setter.localVariables); |
| // EngineTestCase.assertLength(0, setter.parameters); |
| // } |
| // void test_visitMethodDeclaration_setter_external() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String methodName = "m"; |
| // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration(null, null, Keyword.SET, null, AstFactory.identifier3(methodName), AstFactory.formalParameterList([])); |
| // methodDeclaration.accept(builder); |
| // List<FieldElement> fields = holder.fields; |
| // EngineTestCase.assertLength(1, fields); |
| // FieldElement field = fields[0]; |
| // JUnitTestCase.assertNotNull(field); |
| // JUnitTestCase.assertEquals(methodName, field.name); |
| // JUnitTestCase.assertTrue(field.isSynthetic); |
| // JUnitTestCase.assertNull(field.getter); |
| // PropertyAccessorElement setter = field.setter; |
| // JUnitTestCase.assertNotNull(setter); |
| // JUnitTestCase.assertFalse(setter.isAbstract); |
| // JUnitTestCase.assertTrue(setter.isSetter); |
| // JUnitTestCase.assertFalse(setter.isSynthetic); |
| // JUnitTestCase.assertEquals("${methodName}=", setter.name); |
| // JUnitTestCase.assertEquals(methodName, setter.displayName); |
| // JUnitTestCase.assertEquals(field, setter.variable); |
| // EngineTestCase.assertLength(0, setter.functions); |
| // EngineTestCase.assertLength(0, setter.labels); |
| // EngineTestCase.assertLength(0, setter.localVariables); |
| // EngineTestCase.assertLength(0, setter.parameters); |
| // } |
| // void test_visitMethodDeclaration_static() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String methodName = "m"; |
| // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(Keyword.STATIC, null, null, null, AstFactory.identifier3(methodName), AstFactory.formalParameterList([]), AstFactory.blockFunctionBody2([])); |
| // methodDeclaration.accept(builder); |
| // List<MethodElement> methods = holder.methods; |
| // EngineTestCase.assertLength(1, methods); |
| // MethodElement method = methods[0]; |
| // JUnitTestCase.assertNotNull(method); |
| // JUnitTestCase.assertEquals(methodName, method.name); |
| // EngineTestCase.assertLength(0, method.functions); |
| // EngineTestCase.assertLength(0, method.labels); |
| // EngineTestCase.assertLength(0, method.localVariables); |
| // EngineTestCase.assertLength(0, method.parameters); |
| // JUnitTestCase.assertFalse(method.isAbstract); |
| // JUnitTestCase.assertTrue(method.isStatic); |
| // JUnitTestCase.assertFalse(method.isSynthetic); |
| // } |
| // void test_visitMethodDeclaration_withMembers() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String methodName = "m"; |
| // String parameterName = "p"; |
| // String localVariableName = "v"; |
| // String labelName = "l"; |
| // String exceptionParameterName = "e"; |
| // MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2(null, null, null, null, AstFactory.identifier3(methodName), AstFactory.formalParameterList([AstFactory.simpleFormalParameter3(parameterName)]), AstFactory.blockFunctionBody2([ |
| // AstFactory.variableDeclarationStatement2(Keyword.VAR, [AstFactory.variableDeclaration(localVariableName)]), |
| // AstFactory.tryStatement2(AstFactory.block([AstFactory.labeledStatement(AstFactory.list([AstFactory.label2(labelName)]), AstFactory.returnStatement())]), [AstFactory.catchClause(exceptionParameterName, [])])])); |
| // methodDeclaration.accept(builder); |
| // List<MethodElement> methods = holder.methods; |
| // EngineTestCase.assertLength(1, methods); |
| // MethodElement method = methods[0]; |
| // JUnitTestCase.assertNotNull(method); |
| // JUnitTestCase.assertEquals(methodName, method.name); |
| // JUnitTestCase.assertFalse(method.isAbstract); |
| // JUnitTestCase.assertFalse(method.isStatic); |
| // JUnitTestCase.assertFalse(method.isSynthetic); |
| // List<VariableElement> parameters = method.parameters; |
| // EngineTestCase.assertLength(1, parameters); |
| // VariableElement parameter = parameters[0]; |
| // JUnitTestCase.assertNotNull(parameter); |
| // JUnitTestCase.assertEquals(parameterName, parameter.name); |
| // List<VariableElement> localVariables = method.localVariables; |
| // EngineTestCase.assertLength(2, localVariables); |
| // VariableElement firstVariable = localVariables[0]; |
| // VariableElement secondVariable = localVariables[1]; |
| // JUnitTestCase.assertNotNull(firstVariable); |
| // JUnitTestCase.assertNotNull(secondVariable); |
| // JUnitTestCase.assertTrue((firstVariable.name == localVariableName && secondVariable.name == exceptionParameterName) || (firstVariable.name == exceptionParameterName && secondVariable.name == localVariableName)); |
| // List<LabelElement> labels = method.labels; |
| // EngineTestCase.assertLength(1, labels); |
| // LabelElement label = labels[0]; |
| // JUnitTestCase.assertNotNull(label); |
| // JUnitTestCase.assertEquals(labelName, label.name); |
| // } |
| // void test_visitNamedFormalParameter() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String parameterName = "p"; |
| // DefaultFormalParameter formalParameter = AstFactory.namedFormalParameter(AstFactory.simpleFormalParameter3(parameterName), AstFactory.identifier3("b")); |
| // _useParameterInMethod(formalParameter, 100, 110); |
| // formalParameter.accept(builder); |
| // List<ParameterElement> parameters = holder.parameters; |
| // EngineTestCase.assertLength(1, parameters); |
| // ParameterElement parameter = parameters[0]; |
| // JUnitTestCase.assertNotNull(parameter); |
| // JUnitTestCase.assertEquals(parameterName, parameter.name); |
| // JUnitTestCase.assertFalse(parameter.isConst); |
| // JUnitTestCase.assertFalse(parameter.isFinal); |
| // JUnitTestCase.assertFalse(parameter.isSynthetic); |
| // JUnitTestCase.assertEquals(ParameterKind.NAMED, parameter.parameterKind); |
| // JUnitTestCase.assertEquals(SourceRangeFactory.rangeStartEnd(100, 110), parameter.visibleRange); |
| // FunctionElement initializer = parameter.initializer; |
| // JUnitTestCase.assertNotNull(initializer); |
| // JUnitTestCase.assertTrue(initializer.isSynthetic); |
| // } |
| // void test_visitSimpleFormalParameter() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String parameterName = "p"; |
| // SimpleFormalParameter formalParameter = AstFactory.simpleFormalParameter3(parameterName); |
| // _useParameterInMethod(formalParameter, 100, 110); |
| // formalParameter.accept(builder); |
| // List<ParameterElement> parameters = holder.parameters; |
| // EngineTestCase.assertLength(1, parameters); |
| // ParameterElement parameter = parameters[0]; |
| // JUnitTestCase.assertNotNull(parameter); |
| // JUnitTestCase.assertEquals(parameterName, parameter.name); |
| // JUnitTestCase.assertNull(parameter.initializer); |
| // JUnitTestCase.assertFalse(parameter.isConst); |
| // JUnitTestCase.assertFalse(parameter.isFinal); |
| // JUnitTestCase.assertFalse(parameter.isSynthetic); |
| // JUnitTestCase.assertEquals(ParameterKind.REQUIRED, parameter.parameterKind); |
| // JUnitTestCase.assertEquals(SourceRangeFactory.rangeStartEnd(100, 110), parameter.visibleRange); |
| // } |
| // void test_visitTypeAlias_minimal() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String aliasName = "F"; |
| // TypeAlias typeAlias = AstFactory.typeAlias(null, aliasName, null, null); |
| // typeAlias.accept(builder); |
| // List<FunctionTypeAliasElement> aliases = holder.typeAliases; |
| // EngineTestCase.assertLength(1, aliases); |
| // FunctionTypeAliasElement alias = aliases[0]; |
| // JUnitTestCase.assertNotNull(alias); |
| // JUnitTestCase.assertEquals(aliasName, alias.name); |
| // JUnitTestCase.assertNotNull(alias.type); |
| // JUnitTestCase.assertFalse(alias.isSynthetic); |
| // } |
| // void test_visitTypeAlias_withFormalParameters() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String aliasName = "F"; |
| // String firstParameterName = "x"; |
| // String secondParameterName = "y"; |
| // TypeAlias typeAlias = AstFactory.typeAlias(null, aliasName, AstFactory.typeParameterList([]), AstFactory.formalParameterList([ |
| // AstFactory.simpleFormalParameter3(firstParameterName), |
| // AstFactory.simpleFormalParameter3(secondParameterName)])); |
| // typeAlias.accept(builder); |
| // List<FunctionTypeAliasElement> aliases = holder.typeAliases; |
| // EngineTestCase.assertLength(1, aliases); |
| // FunctionTypeAliasElement alias = aliases[0]; |
| // JUnitTestCase.assertNotNull(alias); |
| // JUnitTestCase.assertEquals(aliasName, alias.name); |
| // JUnitTestCase.assertNotNull(alias.type); |
| // JUnitTestCase.assertFalse(alias.isSynthetic); |
| // List<VariableElement> parameters = alias.parameters; |
| // EngineTestCase.assertLength(2, parameters); |
| // JUnitTestCase.assertEquals(firstParameterName, parameters[0].name); |
| // JUnitTestCase.assertEquals(secondParameterName, parameters[1].name); |
| // List<TypeParameterElement> typeParameters = alias.typeParameters; |
| // JUnitTestCase.assertNotNull(typeParameters); |
| // EngineTestCase.assertLength(0, typeParameters); |
| // } |
| // void test_visitTypeAlias_withTypeParameters() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String aliasName = "F"; |
| // String firstTypeParameterName = "A"; |
| // String secondTypeParameterName = "B"; |
| // TypeAlias typeAlias = AstFactory.typeAlias(null, aliasName, AstFactory.typeParameterList([firstTypeParameterName, secondTypeParameterName]), AstFactory.formalParameterList([])); |
| // typeAlias.accept(builder); |
| // List<FunctionTypeAliasElement> aliases = holder.typeAliases; |
| // EngineTestCase.assertLength(1, aliases); |
| // FunctionTypeAliasElement alias = aliases[0]; |
| // JUnitTestCase.assertNotNull(alias); |
| // JUnitTestCase.assertEquals(aliasName, alias.name); |
| // JUnitTestCase.assertNotNull(alias.type); |
| // JUnitTestCase.assertFalse(alias.isSynthetic); |
| // List<VariableElement> parameters = alias.parameters; |
| // JUnitTestCase.assertNotNull(parameters); |
| // EngineTestCase.assertLength(0, parameters); |
| // List<TypeParameterElement> typeParameters = alias.typeParameters; |
| // EngineTestCase.assertLength(2, typeParameters); |
| // JUnitTestCase.assertEquals(firstTypeParameterName, typeParameters[0].name); |
| // JUnitTestCase.assertEquals(secondTypeParameterName, typeParameters[1].name); |
| // } |
| // void test_visitTypeParameter() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String parameterName = "E"; |
| // TypeParameter typeParameter = AstFactory.typeParameter(parameterName); |
| // typeParameter.accept(builder); |
| // List<TypeParameterElement> typeParameters = holder.typeParameters; |
| // EngineTestCase.assertLength(1, typeParameters); |
| // TypeParameterElement typeParameterElement = typeParameters[0]; |
| // JUnitTestCase.assertNotNull(typeParameterElement); |
| // JUnitTestCase.assertEquals(parameterName, typeParameterElement.name); |
| // JUnitTestCase.assertNull(typeParameterElement.bound); |
| // JUnitTestCase.assertFalse(typeParameterElement.isSynthetic); |
| // } |
| // void test_visitVariableDeclaration_inConstructor() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // // |
| // // C() {var v;} |
| // // |
| // String variableName = "v"; |
| // VariableDeclaration variable = AstFactory.variableDeclaration2(variableName, null); |
| // Statement statement = AstFactory.variableDeclarationStatement2(null, [variable]); |
| // ConstructorDeclaration constructor = AstFactory.constructorDeclaration2(null, null, AstFactory.identifier3("C"), "C", AstFactory.formalParameterList([]), null, AstFactory.blockFunctionBody2([statement])); |
| // constructor.accept(builder); |
| // List<ConstructorElement> constructors = holder.constructors; |
| // EngineTestCase.assertLength(1, constructors); |
| // List<LocalVariableElement> variableElements = constructors[0].localVariables; |
| // EngineTestCase.assertLength(1, variableElements); |
| // LocalVariableElement variableElement = variableElements[0]; |
| // JUnitTestCase.assertEquals(variableName, variableElement.name); |
| // } |
| // void test_visitVariableDeclaration_inMethod() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // // |
| // // m() {var v;} |
| // // |
| // String variableName = "v"; |
| // VariableDeclaration variable = AstFactory.variableDeclaration2(variableName, null); |
| // Statement statement = AstFactory.variableDeclarationStatement2(null, [variable]); |
| // MethodDeclaration constructor = AstFactory.methodDeclaration2(null, null, null, null, AstFactory.identifier3("m"), AstFactory.formalParameterList([]), AstFactory.blockFunctionBody2([statement])); |
| // constructor.accept(builder); |
| // List<MethodElement> methods = holder.methods; |
| // EngineTestCase.assertLength(1, methods); |
| // List<LocalVariableElement> variableElements = methods[0].localVariables; |
| // EngineTestCase.assertLength(1, variableElements); |
| // LocalVariableElement variableElement = variableElements[0]; |
| // JUnitTestCase.assertEquals(variableName, variableElement.name); |
| // } |
| // void test_visitVariableDeclaration_localNestedInField() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // // |
| // // var f = () {var v;} |
| // // |
| // String variableName = "v"; |
| // VariableDeclaration variable = AstFactory.variableDeclaration2(variableName, null); |
| // Statement statement = AstFactory.variableDeclarationStatement2(null, [variable]); |
| // Expression initializer = AstFactory.functionExpression2(AstFactory.formalParameterList([]), AstFactory.blockFunctionBody2([statement])); |
| // String fieldName = "f"; |
| // VariableDeclaration field = AstFactory.variableDeclaration2(fieldName, initializer); |
| // FieldDeclaration fieldDeclaration = AstFactory.fieldDeclaration2(false, null, [field]); |
| // fieldDeclaration.accept(builder); |
| // List<FieldElement> variables = holder.fields; |
| // EngineTestCase.assertLength(1, variables); |
| // FieldElement fieldElement = variables[0]; |
| // JUnitTestCase.assertNotNull(fieldElement); |
| // FunctionElement initializerElement = fieldElement.initializer; |
| // JUnitTestCase.assertNotNull(initializerElement); |
| // List<FunctionElement> functionElements = initializerElement.functions; |
| // EngineTestCase.assertLength(1, functionElements); |
| // List<LocalVariableElement> variableElements = functionElements[0].localVariables; |
| // EngineTestCase.assertLength(1, variableElements); |
| // LocalVariableElement variableElement = variableElements[0]; |
| // JUnitTestCase.assertEquals(variableName, variableElement.name); |
| // JUnitTestCase.assertFalse(variableElement.isConst); |
| // JUnitTestCase.assertFalse(variableElement.isFinal); |
| // JUnitTestCase.assertFalse(variableElement.isSynthetic); |
| // } |
| // void test_visitVariableDeclaration_noInitializer() { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder builder = new ElementBuilder(holder); |
| // String variableName = "v"; |
| // VariableDeclaration variableDeclaration = AstFactory.variableDeclaration2(variableName, null); |
| // AstFactory.variableDeclarationList2(null, [variableDeclaration]); |
| // variableDeclaration.accept(builder); |
| // List<TopLevelVariableElement> variables = holder.topLevelVariables; |
| // EngineTestCase.assertLength(1, variables); |
| // TopLevelVariableElement variable = variables[0]; |
| // JUnitTestCase.assertNotNull(variable); |
| // JUnitTestCase.assertNull(variable.initializer); |
| // JUnitTestCase.assertEquals(variableName, variable.name); |
| // JUnitTestCase.assertFalse(variable.isConst); |
| // JUnitTestCase.assertFalse(variable.isFinal); |
| // JUnitTestCase.assertFalse(variable.isSynthetic); |
| // JUnitTestCase.assertNotNull(variable.getter); |
| // JUnitTestCase.assertNotNull(variable.setter); |
| // } |
| // void _useParameterInMethod(FormalParameter formalParameter, int blockOffset, int blockEnd) { |
| // Block block = AstFactory.block([]); |
| // block.leftBracket.offset = blockOffset; |
| // block.rightBracket.offset = blockEnd - 1; |
| // BlockFunctionBody body = AstFactory.blockFunctionBody(block); |
| // AstFactory.methodDeclaration2(null, null, null, null, AstFactory.identifier3("main"), AstFactory.formalParameterList([formalParameter]), body); |
| // } |
| // static dartSuite() { |
| // _ut.group('ElementBuilderTest', () { |
| // _ut.test('test_visitCatchClause', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitCatchClause); |
| // }); |
| // _ut.test('test_visitClassDeclaration_abstract', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitClassDeclaration_abstract); |
| // }); |
| // _ut.test('test_visitClassDeclaration_minimal', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitClassDeclaration_minimal); |
| // }); |
| // _ut.test('test_visitClassDeclaration_parameterized', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitClassDeclaration_parameterized); |
| // }); |
| // _ut.test('test_visitClassDeclaration_withMembers', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitClassDeclaration_withMembers); |
| // }); |
| // _ut.test('test_visitConstructorDeclaration_factory', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitConstructorDeclaration_factory); |
| // }); |
| // _ut.test('test_visitConstructorDeclaration_minimal', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitConstructorDeclaration_minimal); |
| // }); |
| // _ut.test('test_visitConstructorDeclaration_named', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitConstructorDeclaration_named); |
| // }); |
| // _ut.test('test_visitConstructorDeclaration_unnamed', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitConstructorDeclaration_unnamed); |
| // }); |
| // _ut.test('test_visitEnumDeclaration', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitEnumDeclaration); |
| // }); |
| // _ut.test('test_visitFieldDeclaration', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitFieldDeclaration); |
| // }); |
| // _ut.test('test_visitFieldFormalParameter', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitFieldFormalParameter); |
| // }); |
| // _ut.test('test_visitFieldFormalParameter_funtionTyped', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitFieldFormalParameter_funtionTyped); |
| // }); |
| // _ut.test('test_visitFormalParameterList', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitFormalParameterList); |
| // }); |
| // _ut.test('test_visitFunctionDeclaration_getter', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitFunctionDeclaration_getter); |
| // }); |
| // _ut.test('test_visitFunctionDeclaration_plain', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitFunctionDeclaration_plain); |
| // }); |
| // _ut.test('test_visitFunctionDeclaration_setter', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitFunctionDeclaration_setter); |
| // }); |
| // _ut.test('test_visitFunctionExpression', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitFunctionExpression); |
| // }); |
| // _ut.test('test_visitFunctionTypeAlias', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitFunctionTypeAlias); |
| // }); |
| // _ut.test('test_visitFunctionTypedFormalParameter', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitFunctionTypedFormalParameter); |
| // }); |
| // _ut.test('test_visitLabeledStatement', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitLabeledStatement); |
| // }); |
| // _ut.test('test_visitMethodDeclaration_abstract', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitMethodDeclaration_abstract); |
| // }); |
| // _ut.test('test_visitMethodDeclaration_getter', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitMethodDeclaration_getter); |
| // }); |
| // _ut.test('test_visitMethodDeclaration_getter_abstract', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitMethodDeclaration_getter_abstract); |
| // }); |
| // _ut.test('test_visitMethodDeclaration_getter_external', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitMethodDeclaration_getter_external); |
| // }); |
| // _ut.test('test_visitMethodDeclaration_minimal', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitMethodDeclaration_minimal); |
| // }); |
| // _ut.test('test_visitMethodDeclaration_operator', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitMethodDeclaration_operator); |
| // }); |
| // _ut.test('test_visitMethodDeclaration_setter', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitMethodDeclaration_setter); |
| // }); |
| // _ut.test('test_visitMethodDeclaration_setter_abstract', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitMethodDeclaration_setter_abstract); |
| // }); |
| // _ut.test('test_visitMethodDeclaration_setter_external', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitMethodDeclaration_setter_external); |
| // }); |
| // _ut.test('test_visitMethodDeclaration_static', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitMethodDeclaration_static); |
| // }); |
| // _ut.test('test_visitMethodDeclaration_withMembers', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitMethodDeclaration_withMembers); |
| // }); |
| // _ut.test('test_visitNamedFormalParameter', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitNamedFormalParameter); |
| // }); |
| // _ut.test('test_visitSimpleFormalParameter', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitSimpleFormalParameter); |
| // }); |
| // _ut.test('test_visitTypeAlias_minimal', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitTypeAlias_minimal); |
| // }); |
| // _ut.test('test_visitTypeAlias_withFormalParameters', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitTypeAlias_withFormalParameters); |
| // }); |
| // _ut.test('test_visitTypeAlias_withTypeParameters', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitTypeAlias_withTypeParameters); |
| // }); |
| // _ut.test('test_visitTypeParameter', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitTypeParameter); |
| // }); |
| // _ut.test('test_visitVariableDeclaration_inConstructor', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitVariableDeclaration_inConstructor); |
| // }); |
| // _ut.test('test_visitVariableDeclaration_inMethod', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitVariableDeclaration_inMethod); |
| // }); |
| // _ut.test('test_visitVariableDeclaration_localNestedInField', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitVariableDeclaration_localNestedInField); |
| // }); |
| // _ut.test('test_visitVariableDeclaration_noInitializer', () { |
| // final __test = new ElementBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitVariableDeclaration_noInitializer); |
| // }); |
| // }); |
| // } |
| // } |
| // class ElementLocatorTest extends ResolverTestCase { |
| // void fail_locate_ExportDirective() { |
| // AstNode id = _findNodeIn("export", ["export 'dart:core';"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ImportElement, ImportElement, element); |
| // } |
| // void fail_locate_Identifier_libraryDirective() { |
| // AstNode id = _findNodeIn("foo", ["library foo.bar;"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is LibraryElement, LibraryElement, element); |
| // } |
| // void fail_locate_Identifier_partOfDirective() { |
| // // Can't resolve the library element without the library declaration. |
| // // AstNode id = findNodeIn("foo", "part of foo.bar;"); |
| // // Element element = ElementLocator.locate(id); |
| // // assertInstanceOf(LibraryElement.class, element); |
| // JUnitTestCase.fail("Test this case"); |
| // } |
| // void test_locate_AssignmentExpression() { |
| // AstNode id = _findNodeIn("+=", ["int x = 0;", "void main() {", " x += 1;", "}"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElement, element); |
| // } |
| // void test_locate_BinaryExpression() { |
| // AstNode id = _findNodeIn("+", ["var x = 3 + 4;"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElement, element); |
| // } |
| // void test_locate_ClassDeclaration() { |
| // AstNode id = _findNodeIn("class", ["class A { }"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ClassElement, ClassElement, element); |
| // } |
| // void test_locate_CompilationUnit() { |
| // CompilationUnit cu = _resolveContents(["// only comment"]); |
| // JUnitTestCase.assertNotNull(cu.element); |
| // Element element = ElementLocator.locate(cu); |
| // JUnitTestCase.assertSame(cu.element, element); |
| // } |
| // void test_locate_ConstructorDeclaration() { |
| // AstNode id = _findNodeIndexedIn("bar", 0, ["class A {", " A.bar() {}", "}"]); |
| // ConstructorDeclaration declaration = id.getAncestor((node) => node is ConstructorDeclaration); |
| // Element element = ElementLocator.locate(declaration); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ConstructorElement, ConstructorElement, element); |
| // } |
| // void test_locate_FunctionDeclaration() { |
| // AstNode id = _findNodeIn("f", ["int f() => 3;"]); |
| // FunctionDeclaration declaration = id.getAncestor((node) => node is FunctionDeclaration); |
| // Element element = ElementLocator.locate(declaration); |
| // EngineTestCase.assertInstanceOf((obj) => obj is FunctionElement, FunctionElement, element); |
| // } |
| // void test_locate_Identifier_annotationClass_namedConstructor_forSimpleFormalParameter() { |
| // AstNode id = _findNodeIndexedIn("Class", 2, [ |
| // "class Class {", |
| // " const Class.name();", |
| // "}", |
| // "void main(@Class.name() parameter) {", |
| // "}"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ClassElement, ClassElement, element); |
| // } |
| // void test_locate_Identifier_annotationClass_unnamedConstructor_forSimpleFormalParameter() { |
| // AstNode id = _findNodeIndexedIn("Class", 2, [ |
| // "class Class {", |
| // " const Class();", |
| // "}", |
| // "void main(@Class() parameter) {", |
| // "}"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ConstructorElement, ConstructorElement, element); |
| // } |
| // void test_locate_Identifier_className() { |
| // AstNode id = _findNodeIn("A", ["class A { }"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ClassElement, ClassElement, element); |
| // } |
| // void test_locate_Identifier_constructor_named() { |
| // AstNode id = _findNodeIndexedIn("bar", 0, ["class A {", " A.bar() {}", "}"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ConstructorElement, ConstructorElement, element); |
| // } |
| // void test_locate_Identifier_constructor_unnamed() { |
| // AstNode id = _findNodeIndexedIn("A", 1, ["class A {", " A() {}", "}"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ConstructorElement, ConstructorElement, element); |
| // } |
| // void test_locate_Identifier_fieldName() { |
| // AstNode id = _findNodeIn("x", ["class A { var x; }"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is FieldElement, FieldElement, element); |
| // } |
| // void test_locate_Identifier_propertAccess() { |
| // AstNode id = _findNodeIn("length", ["void main() {", " int x = 'foo'.length;", "}"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is PropertyAccessorElement, PropertyAccessorElement, element); |
| // } |
| // void test_locate_ImportDirective() { |
| // AstNode id = _findNodeIn("import", ["import 'dart:core';"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ImportElement, ImportElement, element); |
| // } |
| // void test_locate_IndexExpression() { |
| // AstNode id = _findNodeIndexedIn("\\[", 1, [ |
| // "void main() {", |
| // " List x = [1, 2];", |
| // " var y = x[0];", |
| // "}"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElement, element); |
| // } |
| // void test_locate_InstanceCreationExpression() { |
| // AstNode node = _findNodeIndexedIn("A(", 0, ["class A {}", "void main() {", " new A();", "}"]); |
| // Element element = ElementLocator.locate(node); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ConstructorElement, ConstructorElement, element); |
| // } |
| // void test_locate_InstanceCreationExpression_type_prefixedIdentifier() { |
| // // prepare: new pref.A() |
| // SimpleIdentifier identifier = AstFactory.identifier3("A"); |
| // PrefixedIdentifier prefixedIdentifier = AstFactory.identifier4("pref", identifier); |
| // InstanceCreationExpression creation = AstFactory.instanceCreationExpression2(Keyword.NEW, AstFactory.typeName3(prefixedIdentifier, []), []); |
| // // set ConstructorElement |
| // ClassElement classElement = ElementFactory.classElement2("A", []); |
| // ConstructorElement constructorElement = ElementFactory.constructorElement2(classElement, null, []); |
| // creation.constructorName.staticElement = constructorElement; |
| // // verify that "A" is resolved to ConstructorElement |
| // Element element = ElementLocator.locate(identifier); |
| // JUnitTestCase.assertSame(constructorElement, element); |
| // } |
| // void test_locate_InstanceCreationExpression_type_simpleIdentifier() { |
| // // prepare: new A() |
| // SimpleIdentifier identifier = AstFactory.identifier3("A"); |
| // InstanceCreationExpression creation = AstFactory.instanceCreationExpression2(Keyword.NEW, AstFactory.typeName3(identifier, []), []); |
| // // set ConstructorElement |
| // ClassElement classElement = ElementFactory.classElement2("A", []); |
| // ConstructorElement constructorElement = ElementFactory.constructorElement2(classElement, null, []); |
| // creation.constructorName.staticElement = constructorElement; |
| // // verify that "A" is resolved to ConstructorElement |
| // Element element = ElementLocator.locate(identifier); |
| // JUnitTestCase.assertSame(constructorElement, element); |
| // } |
| // void test_locate_LibraryDirective() { |
| // AstNode id = _findNodeIn("library", ["library foo;"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is LibraryElement, LibraryElement, element); |
| // } |
| // void test_locate_MethodDeclaration() { |
| // AstNode id = _findNodeIn("m", ["class A {", " void m() {}", "}"]); |
| // MethodDeclaration declaration = id.getAncestor((node) => node is MethodDeclaration); |
| // Element element = ElementLocator.locate(declaration); |
| // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElement, element); |
| // } |
| // void test_locate_MethodInvocation_method() { |
| // AstNode id = _findNodeIndexedIn("bar", 1, [ |
| // "class A {", |
| // " int bar() => 42;", |
| // "}", |
| // "void main() {", |
| // " var f = new A().bar();", |
| // "}"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElement, element); |
| // } |
| // void test_locate_MethodInvocation_topLevel() { |
| // String contents = EngineTestCase.createSource(["foo(x) {}", "void main() {", " foo(0);", "}"]); |
| // CompilationUnit cu = _resolveContents([contents]); |
| // MethodInvocation node = AbstractDartTest.findNode(cu, contents.indexOf("foo(0)"), MethodInvocation); |
| // Element element = ElementLocator.locate(node); |
| // EngineTestCase.assertInstanceOf((obj) => obj is FunctionElement, FunctionElement, element); |
| // } |
| // void test_locate_PostfixExpression() { |
| // AstNode id = _findNodeIn("++", ["int addOne(int x) => x++;"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElement, element); |
| // } |
| // void test_locate_PrefixedIdentifier() { |
| // AstNode id = _findNodeIn("int", ["import 'dart:core' as core;", "core.int value;"]); |
| // PrefixedIdentifier identifier = id.getAncestor((node) => node is PrefixedIdentifier); |
| // Element element = ElementLocator.locate(identifier); |
| // EngineTestCase.assertInstanceOf((obj) => obj is ClassElement, ClassElement, element); |
| // } |
| // void test_locate_PrefixExpression() { |
| // AstNode id = _findNodeIn("++", ["int addOne(int x) => ++x;"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElement, element); |
| // } |
| // void test_locate_StringLiteral_exportUri() { |
| // addNamedSource("/foo.dart", "library foo;"); |
| // AstNode id = _findNodeIn("'foo.dart'", ["export 'foo.dart';"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is LibraryElement, LibraryElement, element); |
| // } |
| // void test_locate_StringLiteral_expression() { |
| // AstNode id = _findNodeIn("abc", ["var x = 'abc';"]); |
| // Element element = ElementLocator.locate(id); |
| // JUnitTestCase.assertNull(element); |
| // } |
| // void test_locate_StringLiteral_importUri() { |
| // addNamedSource("/foo.dart", "library foo; class A {}"); |
| // AstNode id = _findNodeIn("'foo.dart'", ["import 'foo.dart'; class B extends A {}"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is LibraryElement, LibraryElement, element); |
| // } |
| // void test_locate_StringLiteral_partUri() { |
| // addNamedSource("/foo.dart", "part of app;"); |
| // AstNode id = _findNodeIn("'foo.dart'", ["library app; part 'foo.dart';"]); |
| // Element element = ElementLocator.locate(id); |
| // EngineTestCase.assertInstanceOf((obj) => obj is CompilationUnitElement, CompilationUnitElement, element); |
| // } |
| // void test_locate_VariableDeclaration() { |
| // AstNode id = _findNodeIn("x", ["var x = 'abc';"]); |
| // VariableDeclaration declaration = id.getAncestor((node) => node is VariableDeclaration); |
| // Element element = ElementLocator.locate(declaration); |
| // EngineTestCase.assertInstanceOf((obj) => obj is TopLevelVariableElement, TopLevelVariableElement, element); |
| // } |
| // void test_locateWithOffset_BinaryExpression() { |
| // AstNode id = _findNodeIn("+", ["var x = 3 + 4;"]); |
| // Element element = ElementLocator.locateWithOffset(id, 0); |
| // EngineTestCase.assertInstanceOf((obj) => obj is MethodElement, MethodElement, element); |
| // } |
| // void test_locateWithOffset_StringLiteral() { |
| // AstNode id = _findNodeIn("abc", ["var x = 'abc';"]); |
| // Element element = ElementLocator.locateWithOffset(id, 1); |
| // JUnitTestCase.assertNull(element); |
| // } |
| // @override |
| // void reset() { |
| // AnalysisOptionsImpl analysisOptions = new AnalysisOptionsImpl(); |
| // analysisOptions.hint = false; |
| // resetWithOptions(analysisOptions); |
| // } |
| // /** |
| // * Find the first AST node matching a pattern in the resolved AST for the given source. |
| // * |
| // * @param nodePattern the (unique) pattern used to identify the node of interest |
| // * @param lines the lines to be merged into a single source string |
| // * @return the matched node in the resolved AST for the given source lines |
| // * @throws Exception if source cannot be verified |
| // */ |
| // AstNode _findNodeIn(String nodePattern, List<String> lines) => _findNodeIndexedIn(nodePattern, 0, lines); |
| // /** |
| // * Find the AST node matching the given indexed occurrence of a pattern in the resolved AST for |
| // * the given source. |
| // * |
| // * @param nodePattern the pattern used to identify the node of interest |
| // * @param index the index of the pattern match of interest |
| // * @param lines the lines to be merged into a single source string |
| // * @return the matched node in the resolved AST for the given source lines |
| // * @throws Exception if source cannot be verified |
| // */ |
| // AstNode _findNodeIndexedIn(String nodePattern, int index, List<String> lines) { |
| // String contents = EngineTestCase.createSource(lines); |
| // CompilationUnit cu = _resolveContents([contents]); |
| // int start = _getOffsetOfMatch(contents, nodePattern, index); |
| // int end = start + nodePattern.length; |
| // return new NodeLocator.con2(start, end).searchWithin(cu); |
| // } |
| // int _getOffsetOfMatch(String contents, String pattern, int matchIndex) { |
| // if (matchIndex == 0) { |
| // return contents.indexOf(pattern); |
| // } |
| // JavaPatternMatcher matcher = new JavaPatternMatcher(new RegExp(pattern), contents); |
| // int count = 0; |
| // while (matcher.find()) { |
| // if (count == matchIndex) { |
| // return matcher.start(); |
| // } |
| // ++count; |
| // } |
| // return -1; |
| // } |
| // /** |
| // * Parse, resolve and verify the given source lines to produce a fully resolved AST. |
| // * |
| // * @param lines the lines to be merged into a single source string |
| // * @return the result of resolving the AST structure representing the content of the source |
| // * @throws Exception if source cannot be verified |
| // */ |
| // CompilationUnit _resolveContents(List<String> lines) { |
| // Source source = addSource(EngineTestCase.createSource(lines)); |
| // LibraryElement library = resolve(source); |
| // assertNoErrors(source); |
| // verify([source]); |
| // return analysisContext.resolveCompilationUnit(source, library); |
| // } |
| // static dartSuite() { |
| // _ut.group('ElementLocatorTest', () { |
| // _ut.test('test_locateWithOffset_BinaryExpression', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locateWithOffset_BinaryExpression); |
| // }); |
| // _ut.test('test_locateWithOffset_StringLiteral', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locateWithOffset_StringLiteral); |
| // }); |
| // _ut.test('test_locate_AssignmentExpression', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_AssignmentExpression); |
| // }); |
| // _ut.test('test_locate_BinaryExpression', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_BinaryExpression); |
| // }); |
| // _ut.test('test_locate_ClassDeclaration', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_ClassDeclaration); |
| // }); |
| // _ut.test('test_locate_CompilationUnit', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_CompilationUnit); |
| // }); |
| // _ut.test('test_locate_ConstructorDeclaration', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_ConstructorDeclaration); |
| // }); |
| // _ut.test('test_locate_FunctionDeclaration', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_FunctionDeclaration); |
| // }); |
| // _ut.test('test_locate_Identifier_annotationClass_namedConstructor_forSimpleFormalParameter', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_Identifier_annotationClass_namedConstructor_forSimpleFormalParameter); |
| // }); |
| // _ut.test('test_locate_Identifier_annotationClass_unnamedConstructor_forSimpleFormalParameter', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_Identifier_annotationClass_unnamedConstructor_forSimpleFormalParameter); |
| // }); |
| // _ut.test('test_locate_Identifier_className', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_Identifier_className); |
| // }); |
| // _ut.test('test_locate_Identifier_constructor_named', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_Identifier_constructor_named); |
| // }); |
| // _ut.test('test_locate_Identifier_constructor_unnamed', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_Identifier_constructor_unnamed); |
| // }); |
| // _ut.test('test_locate_Identifier_fieldName', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_Identifier_fieldName); |
| // }); |
| // _ut.test('test_locate_Identifier_propertAccess', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_Identifier_propertAccess); |
| // }); |
| // _ut.test('test_locate_ImportDirective', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_ImportDirective); |
| // }); |
| // _ut.test('test_locate_IndexExpression', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_IndexExpression); |
| // }); |
| // _ut.test('test_locate_InstanceCreationExpression', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_InstanceCreationExpression); |
| // }); |
| // _ut.test('test_locate_InstanceCreationExpression_type_prefixedIdentifier', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_InstanceCreationExpression_type_prefixedIdentifier); |
| // }); |
| // _ut.test('test_locate_InstanceCreationExpression_type_simpleIdentifier', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_InstanceCreationExpression_type_simpleIdentifier); |
| // }); |
| // _ut.test('test_locate_LibraryDirective', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_LibraryDirective); |
| // }); |
| // _ut.test('test_locate_MethodDeclaration', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_MethodDeclaration); |
| // }); |
| // _ut.test('test_locate_MethodInvocation_method', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_MethodInvocation_method); |
| // }); |
| // _ut.test('test_locate_MethodInvocation_topLevel', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_MethodInvocation_topLevel); |
| // }); |
| // _ut.test('test_locate_PostfixExpression', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_PostfixExpression); |
| // }); |
| // _ut.test('test_locate_PrefixExpression', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_PrefixExpression); |
| // }); |
| // _ut.test('test_locate_PrefixedIdentifier', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_PrefixedIdentifier); |
| // }); |
| // _ut.test('test_locate_StringLiteral_exportUri', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_StringLiteral_exportUri); |
| // }); |
| // _ut.test('test_locate_StringLiteral_expression', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_StringLiteral_expression); |
| // }); |
| // _ut.test('test_locate_StringLiteral_importUri', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_StringLiteral_importUri); |
| // }); |
| // _ut.test('test_locate_StringLiteral_partUri', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_StringLiteral_partUri); |
| // }); |
| // _ut.test('test_locate_VariableDeclaration', () { |
| // final __test = new ElementLocatorTest(); |
| // runJUnitTest(__test, __test.test_locate_VariableDeclaration); |
| // }); |
| // }); |
| // } |
| // } |
| // class EnumMemberBuilderTest extends EngineTestCase { |
| // void test_visitEnumDeclaration_multiple() { |
| // String firstName = "ONE"; |
| // String secondName = "TWO"; |
| // String thirdName = "THREE"; |
| // EnumDeclaration enumDeclaration = AstFactory.enumDeclaration2("E", [firstName, secondName, thirdName]); |
| // ClassElement enumElement = _buildElement(enumDeclaration); |
| // List<FieldElement> fields = enumElement.fields; |
| // EngineTestCase.assertLength(5, fields); |
| // FieldElement constant = fields[2]; |
| // JUnitTestCase.assertNotNull(constant); |
| // JUnitTestCase.assertEquals(firstName, constant.name); |
| // JUnitTestCase.assertTrue(constant.isStatic); |
| // constant = fields[3]; |
| // JUnitTestCase.assertNotNull(constant); |
| // JUnitTestCase.assertEquals(secondName, constant.name); |
| // JUnitTestCase.assertTrue(constant.isStatic); |
| // constant = fields[4]; |
| // JUnitTestCase.assertNotNull(constant); |
| // JUnitTestCase.assertEquals(thirdName, constant.name); |
| // JUnitTestCase.assertTrue(constant.isStatic); |
| // } |
| // void test_visitEnumDeclaration_single() { |
| // String firstName = "ONE"; |
| // EnumDeclaration enumDeclaration = AstFactory.enumDeclaration2("E", [firstName]); |
| // ClassElement enumElement = _buildElement(enumDeclaration); |
| // List<FieldElement> fields = enumElement.fields; |
| // EngineTestCase.assertLength(3, fields); |
| // FieldElement field = fields[0]; |
| // JUnitTestCase.assertNotNull(field); |
| // JUnitTestCase.assertEquals("index", field.name); |
| // JUnitTestCase.assertFalse(field.isStatic); |
| // JUnitTestCase.assertTrue(field.isSynthetic); |
| // field = fields[1]; |
| // JUnitTestCase.assertNotNull(field); |
| // JUnitTestCase.assertEquals("values", field.name); |
| // JUnitTestCase.assertTrue(field.isStatic); |
| // JUnitTestCase.assertTrue(field.isSynthetic); |
| // FieldElement constant = fields[2]; |
| // JUnitTestCase.assertNotNull(constant); |
| // JUnitTestCase.assertEquals(firstName, constant.name); |
| // JUnitTestCase.assertTrue(constant.isStatic); |
| // } |
| // ClassElement _buildElement(EnumDeclaration enumDeclaration) { |
| // ElementHolder holder = new ElementHolder(); |
| // ElementBuilder elementBuilder = new ElementBuilder(holder); |
| // enumDeclaration.accept(elementBuilder); |
| // EnumMemberBuilder memberBuilder = new EnumMemberBuilder(new TestTypeProvider()); |
| // enumDeclaration.accept(memberBuilder); |
| // List<ClassElement> enums = holder.enums; |
| // EngineTestCase.assertLength(1, enums); |
| // return enums[0]; |
| // } |
| // static dartSuite() { |
| // _ut.group('EnumMemberBuilderTest', () { |
| // _ut.test('test_visitEnumDeclaration_multiple', () { |
| // final __test = new EnumMemberBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitEnumDeclaration_multiple); |
| // }); |
| // _ut.test('test_visitEnumDeclaration_single', () { |
| // final __test = new EnumMemberBuilderTest(); |
| // runJUnitTest(__test, __test.test_visitEnumDeclaration_single); |
| // }); |
| // }); |
| // } |
| // } |
| // class ErrorReporterTest extends EngineTestCase { |
| // /** |
| // * Create a type with the given name in a compilation unit with the given name. |
| // * |
| // * @param fileName the name of the compilation unit containing the class |
| // * @param typeName the name of the type to be created |
| // * @return the type that was created |
| // */ |
| // InterfaceType createType(String fileName, String typeName) { |
| // CompilationUnitElementImpl unit = ElementFactory.compilationUnit(fileName); |
| // ClassElementImpl element = ElementFactory.classElement2(typeName, []); |
| // unit.types = <ClassElement> [element]; |
| // return element.type; |
| // } |
| // void test_creation() { |
| // GatheringErrorListener listener = new GatheringErrorListener(); |
| // TestSource source = new TestSource(); |
| // JUnitTestCase.assertNotNull(new ErrorReporter(listener, source)); |
| // } |
| // void test_reportTypeErrorForNode_differentNames() { |
| // DartType firstType = createType("/test1.dart", "A"); |
| // DartType secondType = createType("/test2.dart", "B"); |
| // GatheringErrorListener listener = new GatheringErrorListener(); |
| // ErrorReporter reporter = new ErrorReporter(listener, firstType.element.source); |
| // reporter.reportTypeErrorForNode(StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE, AstFactory.identifier3("x"), [firstType, secondType]); |
| // AnalysisError error = listener.errors[0]; |
| // JUnitTestCase.assertTrue(error.message.indexOf("(") < 0); |
| // } |
| // void test_reportTypeErrorForNode_sameName() { |
| // String typeName = "A"; |
| // DartType firstType = createType("/test1.dart", typeName); |
| // DartType secondType = createType("/test2.dart", typeName); |
| // GatheringErrorListener listener = new GatheringErrorListener(); |
| // ErrorReporter reporter = new ErrorReporter(listener, firstType.element.source); |
| // reporter.reportTypeErrorForNode(StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE, AstFactory.identifier3("x"), [firstType, secondType]); |
| // AnalysisError error = listener.errors[0]; |
| // JUnitTestCase.assertTrue(error.message.indexOf("(") >= 0); |
| // } |
| // static dartSuite() { |
| // _ut.group('ErrorReporterTest', () { |
| // _ut.test('test_creation', () { |
| // final __test = new ErrorReporterTest(); |
| // runJUnitTest(__test, __test.test_creation); |
| // }); |
| // _ut.test('test_reportTypeErrorForNode_differentNames', () { |
| // final __test = new ErrorReporterTest(); |
| // runJUnitTest(__test, __test.test_reportTypeErrorForNode_differentNames); |
| // }); |
| // _ut.test('test_reportTypeErrorForNode_sameName', () { |
| // final __test = new ErrorReporterTest(); |
| // runJUnitTest(__test, __test.test_reportTypeErrorForNode_sameName); |
| // }); |
| // }); |
| // } |
| // } |
| // class ErrorSeverityTest extends EngineTestCase { |
| // void test_max_error_error() { |
| // JUnitTestCase.assertSame(ErrorSeverity.ERROR, ERROR.max(ErrorSeverity.ERROR)); |
| // } |
| // void test_max_error_none() { |
| // JUnitTestCase.assertSame(ErrorSeverity.ERROR, ERROR.max(ErrorSeverity.NONE)); |
| // } |
| // void test_max_error_warning() { |
| // JUnitTestCase.assertSame(ErrorSeverity.ERROR, ERROR.max(ErrorSeverity.WARNING)); |
| // } |
| // void test_max_none_error() { |
| // JUnitTestCase.assertSame(ErrorSeverity.ERROR, NONE.max(ErrorSeverity.ERROR)); |
| // } |
| // void test_max_none_none() { |
| // JUnitTestCase.assertSame(ErrorSeverity.NONE, NONE.max(ErrorSeverity.NONE)); |
| // } |
| // void test_max_none_warning() { |
| // JUnitTestCase.assertSame(ErrorSeverity.WARNING, NONE.max(ErrorSeverity.WARNING)); |
| // } |
| // void test_max_warning_error() { |
| // JUnitTestCase.assertSame(ErrorSeverity.ERROR, WARNING.max(ErrorSeverity.ERROR)); |
| // } |
| // void test_max_warning_none() { |
| // JUnitTestCase.assertSame(ErrorSeverity.WARNING, WARNING.max(ErrorSeverity.NONE)); |
| // } |
| // void test_max_warning_warning() { |
| // JUnitTestCase.assertSame(ErrorSeverity.WARNING, WARNING.max(ErrorSeverity.WARNING)); |
| // } |
| // static dartSuite() { |
| // _ut.group('ErrorSeverityTest', () { |
| // _ut.test('test_max_error_error', () { |
| // final __test = new ErrorSeverityTest(); |
| // runJUnitTest(__test, __test.test_max_error_error); |
| // }); |
| // _ut.test('test_max_error_none', () { |
| // final __test = new ErrorSeverityTest(); |
| // runJUnitTest(__test, __test.test_max_error_none); |
| // }); |
| // _ut.test('test_max_error_warning', () { |
| // final __test = new ErrorSeverityTest(); |
| // runJUnitTest(__test, __test.test_max_error_warning); |
| // }); |
| // _ut.test('test_max_none_error', () { |
| // final __test = new ErrorSeverityTest(); |
| // runJUnitTest(__test, __test.test_max_none_error); |
| // }); |
| // _ut.test('test_max_none_none', () { |
| // final __test = new ErrorSeverityTest(); |
| // runJUnitTest(__test, __test.test_max_none_none); |
| // }); |
| // _ut.test('test_max_none_warning', () { |
| // final __test = new ErrorSeverityTest(); |
| // runJUnitTest(__test, __test.test_max_none_warning); |
| // }); |
| // _ut.test('test_max_warning_error', () { |
| // final __test = new ErrorSeverityTest(); |
| // runJUnitTest(__test, __test.test_max_warning_error); |
| // }); |
| // _ut.test('test_max_warning_none', () { |
| // final __test = new ErrorSeverityTest(); |
| // runJUnitTest(__test, __test.test_max_warning_none); |
| // }); |
| // _ut.test('test_max_warning_warning', () { |
| // final __test = new ErrorSeverityTest(); |
| // runJUnitTest(__test, __test.test_max_warning_warning); |
| // }); |
| // }); |
| // } |
| // } |
| // class ExitDetectorTest extends ParserTestCase { |
| // void fail_doStatement_continue_with_label() { |
| // _assertFalse("{ x: do { continue x; } while(true); }"); |
| // } |
| // void fail_whileStatement_continue_with_label() { |
| // _assertFalse("{ x: while (true) { continue x; } }"); |
| // } |
| // void fail_whileStatement_doStatement_scopeRequired() { |
| // _assertTrue("{ while (true) { x: do { continue x; } while(true); }"); |
| // } |
| // void test_asExpression() { |
| // _assertFalse("a as Object;"); |
| // } |
| // void test_asExpression_throw() { |
| // _assertTrue("throw '' as Object;"); |
| // } |
| // void test_assertStatement() { |
| // _assertFalse("assert(a);"); |
| // } |
| // void test_assertStatement_throw() { |
| // _assertTrue("assert((throw 0));"); |
| // } |
| // void test_assignmentExpression() { |
| // _assertFalse("v = 1;"); |
| // } |
| // void test_assignmentExpression_lhs_throw() { |
| // _assertTrue("a[throw ''] = 0;"); |
| // } |
| // void test_assignmentExpression_rhs_throw() { |
| // _assertTrue("v = throw '';"); |
| // } |
| // void test_binaryExpression_and() { |
| // _assertFalse("a && b;"); |
| // } |
| // void test_binaryExpression_and_lhs() { |
| // _assertTrue("throw '' && b;"); |
| // } |
| // void test_binaryExpression_and_rhs() { |
| // _assertTrue("a && (throw '');"); |
| // } |
| // void test_binaryExpression_and_rhs2() { |
| // _assertTrue("false && (throw '');"); |
| // } |
| // void test_binaryExpression_and_rhs3() { |
| // _assertFalse("true && (throw '');"); |
| // } |
| // void test_binaryExpression_or() { |
| // _assertFalse("a || b;"); |
| // } |
| // void test_binaryExpression_or_lhs() { |
| // _assertTrue("throw '' || b;"); |
| // } |
| // void test_binaryExpression_or_rhs() { |
| // _assertTrue("a || (throw '');"); |
| // } |
| // void test_binaryExpression_or_rhs2() { |
| // _assertTrue("true || (throw '');"); |
| // } |
| // void test_binaryExpression_or_rhs3() { |
| // _assertFalse("false || (throw '');"); |
| // } |
| // void test_block_empty() { |
| // _assertFalse("{}"); |
| // } |
| // void test_block_noReturn() { |
| // _assertFalse("{ int i = 0; }"); |
| // } |
| // void test_block_return() { |
| // _assertTrue("{ return 0; }"); |
| // } |
| // void test_block_returnNotLast() { |
| // _assertTrue("{ return 0; throw 'a'; }"); |
| // } |
| // void test_block_throwNotLast() { |
| // _assertTrue("{ throw 0; x = null; }"); |
| // } |
| // void test_cascadeExpression_argument() { |
| // _assertTrue("a..b(throw '');"); |
| // } |
| // void test_cascadeExpression_index() { |
| // _assertTrue("a..[throw ''];"); |
| // } |
| // void test_cascadeExpression_target() { |
| // _assertTrue("throw ''..b();"); |
| // } |
| // void test_conditional_ifElse_bothThrows() { |
| // _assertTrue("c ? throw '' : throw '';"); |
| // } |
| // void test_conditional_ifElse_elseThrows() { |
| // _assertFalse("c ? i : throw '';"); |
| // } |
| // void test_conditional_ifElse_noThrow() { |
| // _assertFalse("c ? i : j;"); |
| // } |
| // void test_conditional_ifElse_thenThrow() { |
| // _assertFalse("c ? throw '' : j;"); |
| // } |
| // void test_creation() { |
| // JUnitTestCase.assertNotNull(new ExitDetector()); |
| // } |
| // void test_doStatement_throwCondition() { |
| // _assertTrue("{ do {} while (throw ''); }"); |
| // } |
| // void test_doStatement_true_break() { |
| // _assertFalse("{ do { break; } while (true); }"); |
| // } |
| // void test_doStatement_true_continue() { |
| // _assertTrue("{ do { continue; } while (true); }"); |
| // } |
| // void test_doStatement_true_if_return() { |
| // _assertTrue("{ do { if (true) {return null;} } while (true); }"); |
| // } |
| // void test_doStatement_true_noBreak() { |
| // _assertTrue("{ do {} while (true); }"); |
| // } |
| // void test_doStatement_true_return() { |
| // _assertTrue("{ do { return null; } while (true); }"); |
| // } |
| // void test_emptyStatement() { |
| // _assertFalse(";"); |
| // } |
| // void test_forEachStatement() { |
| // _assertFalse("for (element in list) {}"); |
| // } |
| // void test_forEachStatement_throw() { |
| // _assertTrue("for (element in throw '') {}"); |
| // } |
| // void test_forStatement_condition() { |
| // _assertTrue("for (; throw 0;) {}"); |
| // } |
| // void test_forStatement_implicitTrue() { |
| // _assertTrue("for (;;) {}"); |
| // } |
| // void test_forStatement_implicitTrue_break() { |
| // _assertFalse("for (;;) { break; }"); |
| // } |
| // void test_forStatement_initialization() { |
| // _assertTrue("for (i = throw 0;;) {}"); |
| // } |
| // void test_forStatement_true() { |
| // _assertTrue("for (; true; ) {}"); |
| // } |
| // void test_forStatement_true_break() { |
| // _assertFalse("{ for (; true; ) { break; } }"); |
| // } |
| // void test_forStatement_true_continue() { |
| // _assertTrue("{ for (; true; ) { continue; } }"); |
| // } |
| // void test_forStatement_true_if_return() { |
| // _assertTrue("{ for (; true; ) { if (true) {return null;} } }"); |
| // } |
| // void test_forStatement_true_noBreak() { |
| // _assertTrue("{ for (; true; ) {} }"); |
| // } |
| // void test_forStatement_updaters() { |
| // _assertTrue("for (;; i++, throw 0) {}"); |
| // } |
| // void test_forStatement_variableDeclaration() { |
| // _assertTrue("for (int i = throw 0;;) {}"); |
| // } |
| // void test_functionExpression() { |
| // _assertFalse("(){};"); |
| // } |
| // void test_functionExpression_bodyThrows() { |
| // _assertFalse("(int i) => throw '';"); |
| // } |
| // void test_functionExpressionInvocation() { |
| // _assertFalse("f(g);"); |
| // } |
| // void test_functionExpressionInvocation_argumentThrows() { |
| // _assertTrue("f(throw '');"); |
| // } |
| // void test_functionExpressionInvocation_targetThrows() { |
| // _assertTrue("throw ''(g);"); |
| // } |
| // void test_identifier_prefixedIdentifier() { |
| // _assertFalse("a.b;"); |
| // } |
| // void test_identifier_simpleIdentifier() { |
| // _assertFalse("a;"); |
| // } |
| // void test_if_false_else_return() { |
| // _assertTrue("if (false) {} else { return 0; }"); |
| // } |
| // void test_if_false_noReturn() { |
| // _assertFalse("if (false) {}"); |
| // } |
| // void test_if_false_return() { |
| // _assertFalse("if (false) { return 0; }"); |
| // } |
| // void test_if_noReturn() { |
| // _assertFalse("if (c) i++;"); |
| // } |
| // void test_if_return() { |
| // _assertFalse("if (c) return 0;"); |
| // } |
| // void test_if_true_noReturn() { |
| // _assertFalse("if (true) {}"); |
| // } |
| // void test_if_true_return() { |
| // _assertTrue("if (true) { return 0; }"); |
| // } |
| // void test_ifElse_bothReturn() { |
| // _assertTrue("if (c) return 0; else return 1;"); |
| // } |
| // void test_ifElse_elseReturn() { |
| // _assertFalse("if (c) i++; else return 1;"); |
| // } |
| // void test_ifElse_noReturn() { |
| // _assertFalse("if (c) i++; else j++;"); |
| // } |
| // void test_ifElse_thenReturn() { |
| // _assertFalse("if (c) return 0; else j++;"); |
| // } |
| // void test_indexExpression() { |
| // _assertFalse("a[b];"); |
| // } |
| // void test_indexExpression_index() { |
| // _assertTrue("a[throw ''];"); |
| // } |
| // void test_indexExpression_target() { |
| // _assertTrue("throw ''[b];"); |
| // } |
| // void test_instanceCreationExpression() { |
| // _assertFalse("new A(b);"); |
| // } |
| // void test_instanceCreationExpression_argumentThrows() { |
| // _assertTrue("new A(throw '');"); |
| // } |
| // void test_isExpression() { |
| // _assertFalse("A is B;"); |
| // } |
| // void test_isExpression_throws() { |
| // _assertTrue("throw '' is B;"); |
| // } |
| // void test_labeledStatement() { |
| // _assertFalse("label: a;"); |
| // } |
| // void test_labeledStatement_throws() { |
| // _assertTrue("label: throw '';"); |
| // } |
| // void test_literal_boolean() { |
| // _assertFalse("true;"); |
| // } |
| // void test_literal_double() { |
| // _assertFalse("1.1;"); |
| // } |
| // void test_literal_integer() { |
| // _assertFalse("1;"); |
| // } |
| // void test_literal_null() { |
| // _assertFalse("null;"); |
| // } |
| // void test_literal_String() { |
| // _assertFalse("'str';"); |
| // } |
| // void test_methodInvocation() { |
| // _assertFalse("a.b(c);"); |
| // } |
| // void test_methodInvocation_argument() { |
| // _assertTrue("a.b(throw '');"); |
| // } |
| // void test_methodInvocation_target() { |
| // _assertTrue("throw ''.b(c);"); |
| // } |
| // void test_parenthesizedExpression() { |
| // _assertFalse("(a);"); |
| // } |
| // void test_parenthesizedExpression_throw() { |
| // _assertTrue("(throw '');"); |
| // } |
| // void test_propertyAccess() { |
| // _assertFalse("new Object().a;"); |
| // } |
| // void test_propertyAccess_throws() { |
| // _assertTrue("(throw '').a;"); |
| // } |
| // void test_rethrow() { |
| // _assertTrue("rethrow;"); |
| // } |
| // void test_return() { |
| // _assertTrue("return 0;"); |
| // } |
| // void test_superExpression() { |
| // _assertFalse("super.a;"); |
| // } |
| // void test_switch_allReturn() { |
| // _assertTrue("switch (i) { case 0: return 0; default: return 1; }"); |
| // } |
| // void test_switch_defaultWithNoStatements() { |
| // _assertFalse("switch (i) { case 0: return 0; default: }"); |
| // } |
| // void test_switch_fallThroughToNotReturn() { |
| // _assertFalse("switch (i) { case 0: case 1: break; default: return 1; }"); |
| // } |
| // void test_switch_fallThroughToReturn() { |
| // _assertTrue("switch (i) { case 0: case 1: return 0; default: return 1; }"); |
| // } |
| // void test_switch_noDefault() { |
| // _assertFalse("switch (i) { case 0: return 0; }"); |
| // } |
| // void test_switch_nonReturn() { |
| // _assertFalse("switch (i) { case 0: i++; default: return 1; }"); |
| // } |
| // void test_thisExpression() { |
| // _assertFalse("this.a;"); |
| // } |
| // void test_throwExpression() { |
| // _assertTrue("throw new Object();"); |
| // } |
| // void test_tryStatement_noReturn() { |
| // _assertFalse("try {} catch (e, s) {} finally {}"); |
| // } |
| // void test_tryStatement_return_catch() { |
| // _assertFalse("try {} catch (e, s) { return 1; } finally {}"); |
| // } |
| // void test_tryStatement_return_finally() { |
| // _assertTrue("try {} catch (e, s) {} finally { return 1; }"); |
| // } |
| // void test_tryStatement_return_try() { |
| // _assertTrue("try { return 1; } catch (e, s) {} finally {}"); |
| // } |
| // void test_variableDeclarationStatement_noInitializer() { |
| // _assertFalse("int i;"); |
| // } |
| // void test_variableDeclarationStatement_noThrow() { |
| // _assertFalse("int i = 0;"); |
| // } |
| // void test_variableDeclarationStatement_throw() { |
| // _assertTrue("int i = throw new Object();"); |
| // } |
| // void test_whileStatement_false_nonReturn() { |
| // _assertFalse("{ while (false) {} }"); |
| // } |
| // void test_whileStatement_throwCondition() { |
| // _assertTrue("{ while (throw '') {} }"); |
| // } |
| // void test_whileStatement_true_break() { |
| // _assertFalse("{ while (true) { break; } }"); |
| // } |
| // void test_whileStatement_true_continue() { |
| // _assertTrue("{ while (true) { continue; } }"); |
| // } |
| // void test_whileStatement_true_if_return() { |
| // _assertTrue("{ while (true) { if (true) {return null;} } }"); |
| // } |
| // void test_whileStatement_true_noBreak() { |
| // _assertTrue("{ while (true) {} }"); |
| // } |
| // void test_whileStatement_true_return() { |
| // _assertTrue("{ while (true) { return null; } }"); |
| // } |
| // void test_whileStatement_true_throw() { |
| // _assertTrue("{ while (true) { throw ''; } }"); |
| // } |
| // void _assertFalse(String source) { |
| // _assertHasReturn(false, source); |
| // } |
| // void _assertHasReturn(bool expectedResult, String source) { |
| // ExitDetector detector = new ExitDetector(); |
| // Statement statement = ParserTestCase.parseStatement(source, []); |
| // JUnitTestCase.assertSame(expectedResult, statement.accept(detector)); |
| // } |
| // void _assertTrue(String source) { |
| // _assertHasReturn(true, source); |
| // } |
| // static dartSuite() { |
| // _ut.group('ExitDetectorTest', () { |
| // _ut.test('test_asExpression', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_asExpression); |
| // }); |
| // _ut.test('test_asExpression_throw', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_asExpression_throw); |
| // }); |
| // _ut.test('test_assertStatement', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_assertStatement); |
| // }); |
| // _ut.test('test_assertStatement_throw', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_assertStatement_throw); |
| // }); |
| // _ut.test('test_assignmentExpression', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_assignmentExpression); |
| // }); |
| // _ut.test('test_assignmentExpression_lhs_throw', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_assignmentExpression_lhs_throw); |
| // }); |
| // _ut.test('test_assignmentExpression_rhs_throw', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_assignmentExpression_rhs_throw); |
| // }); |
| // _ut.test('test_binaryExpression_and', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_binaryExpression_and); |
| // }); |
| // _ut.test('test_binaryExpression_and_lhs', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_binaryExpression_and_lhs); |
| // }); |
| // _ut.test('test_binaryExpression_and_rhs', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_binaryExpression_and_rhs); |
| // }); |
| // _ut.test('test_binaryExpression_and_rhs2', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_binaryExpression_and_rhs2); |
| // }); |
| // _ut.test('test_binaryExpression_and_rhs3', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_binaryExpression_and_rhs3); |
| // }); |
| // _ut.test('test_binaryExpression_or', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_binaryExpression_or); |
| // }); |
| // _ut.test('test_binaryExpression_or_lhs', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_binaryExpression_or_lhs); |
| // }); |
| // _ut.test('test_binaryExpression_or_rhs', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_binaryExpression_or_rhs); |
| // }); |
| // _ut.test('test_binaryExpression_or_rhs2', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_binaryExpression_or_rhs2); |
| // }); |
| // _ut.test('test_binaryExpression_or_rhs3', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_binaryExpression_or_rhs3); |
| // }); |
| // _ut.test('test_block_empty', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_block_empty); |
| // }); |
| // _ut.test('test_block_noReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_block_noReturn); |
| // }); |
| // _ut.test('test_block_return', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_block_return); |
| // }); |
| // _ut.test('test_block_returnNotLast', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_block_returnNotLast); |
| // }); |
| // _ut.test('test_block_throwNotLast', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_block_throwNotLast); |
| // }); |
| // _ut.test('test_cascadeExpression_argument', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_cascadeExpression_argument); |
| // }); |
| // _ut.test('test_cascadeExpression_index', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_cascadeExpression_index); |
| // }); |
| // _ut.test('test_cascadeExpression_target', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_cascadeExpression_target); |
| // }); |
| // _ut.test('test_conditional_ifElse_bothThrows', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_conditional_ifElse_bothThrows); |
| // }); |
| // _ut.test('test_conditional_ifElse_elseThrows', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_conditional_ifElse_elseThrows); |
| // }); |
| // _ut.test('test_conditional_ifElse_noThrow', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_conditional_ifElse_noThrow); |
| // }); |
| // _ut.test('test_conditional_ifElse_thenThrow', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_conditional_ifElse_thenThrow); |
| // }); |
| // _ut.test('test_creation', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_creation); |
| // }); |
| // _ut.test('test_doStatement_throwCondition', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_doStatement_throwCondition); |
| // }); |
| // _ut.test('test_doStatement_true_break', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_doStatement_true_break); |
| // }); |
| // _ut.test('test_doStatement_true_continue', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_doStatement_true_continue); |
| // }); |
| // _ut.test('test_doStatement_true_if_return', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_doStatement_true_if_return); |
| // }); |
| // _ut.test('test_doStatement_true_noBreak', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_doStatement_true_noBreak); |
| // }); |
| // _ut.test('test_doStatement_true_return', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_doStatement_true_return); |
| // }); |
| // _ut.test('test_emptyStatement', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_emptyStatement); |
| // }); |
| // _ut.test('test_forEachStatement', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forEachStatement); |
| // }); |
| // _ut.test('test_forEachStatement_throw', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forEachStatement_throw); |
| // }); |
| // _ut.test('test_forStatement_condition', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forStatement_condition); |
| // }); |
| // _ut.test('test_forStatement_implicitTrue', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forStatement_implicitTrue); |
| // }); |
| // _ut.test('test_forStatement_implicitTrue_break', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forStatement_implicitTrue_break); |
| // }); |
| // _ut.test('test_forStatement_initialization', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forStatement_initialization); |
| // }); |
| // _ut.test('test_forStatement_true', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forStatement_true); |
| // }); |
| // _ut.test('test_forStatement_true_break', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forStatement_true_break); |
| // }); |
| // _ut.test('test_forStatement_true_continue', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forStatement_true_continue); |
| // }); |
| // _ut.test('test_forStatement_true_if_return', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forStatement_true_if_return); |
| // }); |
| // _ut.test('test_forStatement_true_noBreak', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forStatement_true_noBreak); |
| // }); |
| // _ut.test('test_forStatement_updaters', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forStatement_updaters); |
| // }); |
| // _ut.test('test_forStatement_variableDeclaration', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_forStatement_variableDeclaration); |
| // }); |
| // _ut.test('test_functionExpression', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_functionExpression); |
| // }); |
| // _ut.test('test_functionExpressionInvocation', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_functionExpressionInvocation); |
| // }); |
| // _ut.test('test_functionExpressionInvocation_argumentThrows', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_functionExpressionInvocation_argumentThrows); |
| // }); |
| // _ut.test('test_functionExpressionInvocation_targetThrows', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_functionExpressionInvocation_targetThrows); |
| // }); |
| // _ut.test('test_functionExpression_bodyThrows', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_functionExpression_bodyThrows); |
| // }); |
| // _ut.test('test_identifier_prefixedIdentifier', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_identifier_prefixedIdentifier); |
| // }); |
| // _ut.test('test_identifier_simpleIdentifier', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_identifier_simpleIdentifier); |
| // }); |
| // _ut.test('test_ifElse_bothReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_ifElse_bothReturn); |
| // }); |
| // _ut.test('test_ifElse_elseReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_ifElse_elseReturn); |
| // }); |
| // _ut.test('test_ifElse_noReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_ifElse_noReturn); |
| // }); |
| // _ut.test('test_ifElse_thenReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_ifElse_thenReturn); |
| // }); |
| // _ut.test('test_if_false_else_return', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_if_false_else_return); |
| // }); |
| // _ut.test('test_if_false_noReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_if_false_noReturn); |
| // }); |
| // _ut.test('test_if_false_return', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_if_false_return); |
| // }); |
| // _ut.test('test_if_noReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_if_noReturn); |
| // }); |
| // _ut.test('test_if_return', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_if_return); |
| // }); |
| // _ut.test('test_if_true_noReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_if_true_noReturn); |
| // }); |
| // _ut.test('test_if_true_return', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_if_true_return); |
| // }); |
| // _ut.test('test_indexExpression', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_indexExpression); |
| // }); |
| // _ut.test('test_indexExpression_index', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_indexExpression_index); |
| // }); |
| // _ut.test('test_indexExpression_target', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_indexExpression_target); |
| // }); |
| // _ut.test('test_instanceCreationExpression', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression); |
| // }); |
| // _ut.test('test_instanceCreationExpression_argumentThrows', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_instanceCreationExpression_argumentThrows); |
| // }); |
| // _ut.test('test_isExpression', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_isExpression); |
| // }); |
| // _ut.test('test_isExpression_throws', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_isExpression_throws); |
| // }); |
| // _ut.test('test_labeledStatement', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_labeledStatement); |
| // }); |
| // _ut.test('test_labeledStatement_throws', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_labeledStatement_throws); |
| // }); |
| // _ut.test('test_literal_String', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_literal_String); |
| // }); |
| // _ut.test('test_literal_boolean', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_literal_boolean); |
| // }); |
| // _ut.test('test_literal_double', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_literal_double); |
| // }); |
| // _ut.test('test_literal_integer', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_literal_integer); |
| // }); |
| // _ut.test('test_literal_null', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_literal_null); |
| // }); |
| // _ut.test('test_methodInvocation', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_methodInvocation); |
| // }); |
| // _ut.test('test_methodInvocation_argument', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_methodInvocation_argument); |
| // }); |
| // _ut.test('test_methodInvocation_target', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_methodInvocation_target); |
| // }); |
| // _ut.test('test_parenthesizedExpression', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_parenthesizedExpression); |
| // }); |
| // _ut.test('test_parenthesizedExpression_throw', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_parenthesizedExpression_throw); |
| // }); |
| // _ut.test('test_propertyAccess', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_propertyAccess); |
| // }); |
| // _ut.test('test_propertyAccess_throws', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_propertyAccess_throws); |
| // }); |
| // _ut.test('test_rethrow', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_rethrow); |
| // }); |
| // _ut.test('test_return', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_return); |
| // }); |
| // _ut.test('test_superExpression', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_superExpression); |
| // }); |
| // _ut.test('test_switch_allReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_switch_allReturn); |
| // }); |
| // _ut.test('test_switch_defaultWithNoStatements', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_switch_defaultWithNoStatements); |
| // }); |
| // _ut.test('test_switch_fallThroughToNotReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_switch_fallThroughToNotReturn); |
| // }); |
| // _ut.test('test_switch_fallThroughToReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_switch_fallThroughToReturn); |
| // }); |
| // _ut.test('test_switch_noDefault', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_switch_noDefault); |
| // }); |
| // _ut.test('test_switch_nonReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_switch_nonReturn); |
| // }); |
| // _ut.test('test_thisExpression', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_thisExpression); |
| // }); |
| // _ut.test('test_throwExpression', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_throwExpression); |
| // }); |
| // _ut.test('test_tryStatement_noReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_tryStatement_noReturn); |
| // }); |
| // _ut.test('test_tryStatement_return_catch', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_tryStatement_return_catch); |
| // }); |
| // _ut.test('test_tryStatement_return_finally', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_tryStatement_return_finally); |
| // }); |
| // _ut.test('test_tryStatement_return_try', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_tryStatement_return_try); |
| // }); |
| // _ut.test('test_variableDeclarationStatement_noInitializer', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_variableDeclarationStatement_noInitializer); |
| // }); |
| // _ut.test('test_variableDeclarationStatement_noThrow', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_variableDeclarationStatement_noThrow); |
| // }); |
| // _ut.test('test_variableDeclarationStatement_throw', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_variableDeclarationStatement_throw); |
| // }); |
| // _ut.test('test_whileStatement_false_nonReturn', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_whileStatement_false_nonReturn); |
| // }); |
| // _ut.test('test_whileStatement_throwCondition', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_whileStatement_throwCondition); |
| // }); |
| // _ut.test('test_whileStatement_true_break', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_whileStatement_true_break); |
| // }); |
| // _ut.test('test_whileStatement_true_continue', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_whileStatement_true_continue); |
| // }); |
| // _ut.test('test_whileStatement_true_if_return', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_whileStatement_true_if_return); |
| // }); |
| // _ut.test('test_whileStatement_true_noBreak', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_whileStatement_true_noBreak); |
| // }); |
| // _ut.test('test_whileStatement_true_return', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_whileStatement_true_return); |
| // }); |
| // _ut.test('test_whileStatement_true_throw', () { |
| // final __test = new ExitDetectorTest(); |
| // runJUnitTest(__test, __test.test_whileStatement_true_throw); |
| // }); |
| // }); |
| // } |
| // } |
| // /** |
| // * An explicit package: resolver. This UriResolver shells out to pub, calling it's list-package-dirs |
| // * command. It parses the resulting json map, which maps symbolic package references to their |
| // * concrete locations on disk. |
| // * |
| // * <pre> |
| // *{ |
| // *"packages": { |
| // *"foo": "path/to/foo", |
| // *"bar": "path/to/bar" |
| // *}, |
| // *"input_files": [ |
| // *... |
| // *] |
| // *}, |
| // *</pre> |
| // */ |
| // class ExplicitPackageUriResolver extends UriResolver { |
| // /** |
| // * The name of the `package` scheme. |
| // */ |
| // static String PACKAGE_SCHEME = "package"; |
| // static String PUB_LIST_COMMAND = "list-package-dirs"; |
| // /** |
| // * Return `true` if the given URI is a `package` URI. |
| // * |
| // * @param uri the URI being tested |
| // * @return `true` if the given URI is a `package` URI |
| // */ |
| // static bool isPackageUri(Uri uri) => PACKAGE_SCHEME == uri.scheme; |
| // final JavaFile rootDir; |
| // final DirectoryBasedDartSdk _sdk; |
| // Map<String, List<JavaFile>> packageMap; |
| // /** |
| // * Create a new ExplicitPackageUriResolver. |
| // * |
| // * @param sdk the sdk; this is used to locate the pub command to run |
| // * @param rootDir the directory for which we'll be resolving package information |
| // */ |
| // ExplicitPackageUriResolver(this._sdk, this.rootDir) { |
| // if (rootDir == null) { |
| // throw new IllegalArgumentException("the root dir must not be null"); |
| // } |
| // } |
| // List<String> get command => <String> [_sdk.pubExecutable.getAbsolutePath(), PUB_LIST_COMMAND]; |
| // @override |
| // Source resolveAbsolute(Uri uri) { |
| // if (!isPackageUri(uri)) { |
| // return null; |
| // } |
| // String path = uri.path; |
| // if (path == null) { |
| // path = uri.path; |
| // if (path == null) { |
| // return null; |
| // } |
| // } |
| // String pkgName; |
| // String relPath; |
| // int index = path.indexOf('/'); |
| // if (index == -1) { |
| // // No slash |
| // pkgName = path; |
| // relPath = ""; |
| // } else if (index == 0) { |
| // // Leading slash is invalid |
| // return null; |
| // } else { |
| // // <pkgName>/<relPath> |
| // pkgName = path.substring(0, index); |
| // relPath = path.substring(index + 1); |
| // } |
| // if (packageMap == null) { |
| // packageMap = calculatePackageMap(); |
| // } |
| // List<JavaFile> dirs = packageMap[pkgName]; |
| // if (dirs != null) { |
| // for (JavaFile packageDir in dirs) { |
| // if (packageDir.exists()) { |
| // JavaFile resolvedFile = new JavaFile.relative(packageDir, relPath.replaceAll('/', new String.fromCharCode(JavaFile.separatorChar))); |
| // if (resolvedFile.exists()) { |
| // return new FileBasedSource.con2(uri, resolvedFile); |
| // } |
| // } |
| // } |
| // } |
| // // |
| // // Return a FileBasedSource that doesn't exist. This helps provide more meaningful error |
| // // messages to users (a missing file error, as opposed to an invalid uri error). |
| // // |
| // String fullPackagePath = "${pkgName}/${relPath}"; |
| // return new FileBasedSource.con2(uri, new JavaFile.relative(rootDir, fullPackagePath.replaceAll('/', new String.fromCharCode(JavaFile.separatorChar)))); |
| // } |
| // String resolvePathToPackage(String path) { |
| // if (packageMap == null) { |
| // return null; |
| // } |
| // for (String key in packageMap.keys.toSet()) { |
| // List<JavaFile> files = packageMap[key]; |
| // for (JavaFile file in files) { |
| // try { |
| // if (file.getCanonicalPath().endsWith(path)) { |
| // return key; |
| // } |
| // } on JavaIOException catch (e) { |
| // } |
| // } |
| // } |
| // return null; |
| // } |
| // @override |
| // Uri restoreAbsolute(Source source) { |
| // if (packageMap == null) { |
| // return null; |
| // } |
| // if (source is FileBasedSource) { |
| // String sourcePath = (source as FileBasedSource).file.getPath(); |
| // for (MapEntry<String, List<JavaFile>> entry in getMapEntrySet(packageMap)) { |
| // for (JavaFile pkgFolder in entry.getValue()) { |
| // String pkgCanonicalPath = pkgFolder.getAbsolutePath(); |
| // if (sourcePath.startsWith(pkgCanonicalPath)) { |
| // String packageName = entry.getKey(); |
| // String relPath = sourcePath.substring(pkgCanonicalPath.length); |
| // return parseUriWithException("${PACKAGE_SCHEME}:${packageName}${relPath}"); |
| // } |
| // } |
| // } |
| // } |
| // return null; |
| // } |
| // Map<String, List<JavaFile>> calculatePackageMap() { |
| // ProcessBuilder builder = new ProcessBuilder(command); |
| // builder.directory(rootDir); |
| // ProcessRunner runner = new ProcessRunner(builder); |
| // try { |
| // if (runProcess(runner) == 0) { |
| // return parsePackageMap(runner.getStdOut()); |
| // } else { |
| // AnalysisEngine.instance.logger.logInformation("pub ${PUB_LIST_COMMAND} failed: exit code ${runner.getExitCode()}"); |
| // } |
| // } on JavaIOException catch (ioe) { |
| // AnalysisEngine.instance.logger.logInformation2("error running pub ${PUB_LIST_COMMAND}", ioe); |
| // } on JSONException catch (e) { |
| // AnalysisEngine.instance.logger.logError2("malformed json from pub ${PUB_LIST_COMMAND}", e); |
| // } |
| // return new HashMap<String, List<JavaFile>>(); |
| // } |
| // Map<String, List<JavaFile>> parsePackageMap(String jsonText) { |
| // Map<String, List<JavaFile>> map = new HashMap<String, List<JavaFile>>(); |
| // JSONObject obj = new JSONObject(jsonText); |
| // JSONObject packages = obj.optJSONObject("packages"); |
| // if (packages != null) { |
| // JavaIterator keys = packages.keys(); |
| // while (keys.hasNext) { |
| // Object key = keys.next(); |
| // if (key is String) { |
| // String strKey = key as String; |
| // List<JavaFile> files = new List<JavaFile>(); |
| // map[strKey] = files; |
| // Object val = packages.get(strKey); |
| // if (val is String) { |
| // String path = val as String; |
| // files.add(new JavaFile(path)); |
| // } else if (val is JSONArray) { |
| // JSONArray arr = val as JSONArray; |
| // for (int i = 0; i < arr.length(); i++) { |
| // files.add(new JavaFile(arr.getString(i))); |
| // } |
| // } |
| // } |
| // } |
| // } |
| // return map; |
| // } |
| // /** |
| // * Run the external process and return the exit value once the external process has completed. |
| // * |
| // * @param runner the external process runner |
| // * @return the external process exit code |
| // */ |
| // int runProcess(ProcessRunner runner) => runner.runSync(0); |
| // } |
| // class ExplicitPackageUriResolverTest extends JUnitTestCase { |
| // void test_creation() { |
| // JavaFile directory = FileUtilities2.createFile("/does/not/exist/foo_project"); |
| // JUnitTestCase.assertNotNull(new ExplicitPackageUriResolver(null, directory)); |
| // } |
| // void test_resolve_invalid() { |
| // JavaFile projectDir = new JavaFile("foo_project"); |
| // UriResolver resolver = new ExplicitPackageUriResolverTest_MockExplicitPackageUriResolver.con1(projectDir); |
| // // Invalid: URI |
| // try { |
| // parseUriWithException("package:"); |
| // JUnitTestCase.fail("Expected exception"); |
| // } on URISyntaxException catch (e) { |
| // } |
| // // Invalid: just slash |
| // Source result = resolver.resolveAbsolute(parseUriWithException("package:/")); |
| // JUnitTestCase.assertNull(result); |
| // // Invalid: leading slash... or should we gracefully degrade and ignore the leading slash? |
| // result = resolver.resolveAbsolute(parseUriWithException("package:/foo")); |
| // JUnitTestCase.assertNull(result); |
| // } |
| // void test_resolve_nonPackage() { |
| // JavaFile directory = FileUtilities2.createFile("/does/not/exist/foo_project"); |
| // UriResolver resolver = new ExplicitPackageUriResolverTest_MockExplicitPackageUriResolver.con1(directory); |
| // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core")); |
| // JUnitTestCase.assertNull(result); |
| // } |
| // void test_resolve_resolvePathToPackage() { |
| // JavaFile directory = FileUtilities2.createFile("/src/foo/bar/baz/lib"); |
| // String packages = "{\"packages\":{\"unittest\": [\"/dart/unittest/lib\"],\"foo.bar.baz\": [\"/src/foo/bar/baz/lib\",\"/gen/foo/bar/baz\"]}}"; |
| // ExplicitPackageUriResolver resolver = new ExplicitPackageUriResolverTest_MockExplicitPackageUriResolver.con2(directory, packages); |
| // String resolvedPath = resolver.resolvePathToPackage("${JavaFile.separator}baz${JavaFile.separator}lib"); |
| // JUnitTestCase.assertNotNull(resolvedPath); |
| // JUnitTestCase.assertEquals("foo.bar.baz", resolvedPath); |
| // resolvedPath = resolver.resolvePathToPackage("${JavaFile.separator}dart${JavaFile.separator}mypackage"); |
| // JUnitTestCase.assertNull(resolvedPath); |
| // } |
| // @override |
| // void tearDown() { |
| // FileUtilities2.deleteTempDir(); |
| // } |
| // static dartSuite() { |
| // _ut.group('ExplicitPackageUriResolverTest', () { |
| // _ut.test('test_creation', () { |
| // final __test = new ExplicitPackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_creation); |
| // }); |
| // _ut.test('test_resolve_invalid', () { |
| // final __test = new ExplicitPackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_invalid); |
| // }); |
| // _ut.test('test_resolve_nonPackage', () { |
| // final __test = new ExplicitPackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_nonPackage); |
| // }); |
| // _ut.test('test_resolve_resolvePathToPackage', () { |
| // final __test = new ExplicitPackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_resolvePathToPackage); |
| // }); |
| // }); |
| // } |
| // } |
| // class ExplicitPackageUriResolverTest_MockExplicitPackageUriResolver extends ExplicitPackageUriResolver { |
| // String _jsonText = "{\"foo\":\"bar\"}"; |
| // ExplicitPackageUriResolverTest_MockExplicitPackageUriResolver.con1(JavaFile rootDir) : super(null, rootDir); |
| // ExplicitPackageUriResolverTest_MockExplicitPackageUriResolver.con2(JavaFile rootDir, String jsonPackageList) : super(null, rootDir) { |
| // if (!jsonPackageList.isEmpty) { |
| // _jsonText = jsonPackageList; |
| // packageMap = calculatePackageMap(); |
| // } |
| // } |
| // @override |
| // Map<String, List<JavaFile>> calculatePackageMap() { |
| // try { |
| // return parsePackageMap(_jsonText); |
| // } on JSONException catch (e) { |
| // return new HashMap<String, List<JavaFile>>(); |
| // } |
| // } |
| // } |
| // class ExpressionVisitor_AngularTest_verify extends ExpressionVisitor { |
| // ResolutionVerifier verifier; |
| // ExpressionVisitor_AngularTest_verify(this.verifier) : super(); |
| // @override |
| // void visitExpression(Expression expression) { |
| // expression.accept(verifier); |
| // } |
| // } |
| // class FileBasedSourceTest extends JUnitTestCase { |
| // void test_equals_false_differentFiles() { |
| // JavaFile file1 = FileUtilities2.createFile("/does/not/exist1.dart"); |
| // JavaFile file2 = FileUtilities2.createFile("/does/not/exist2.dart"); |
| // FileBasedSource source1 = new FileBasedSource.con1(file1); |
| // FileBasedSource source2 = new FileBasedSource.con1(file2); |
| // JUnitTestCase.assertFalse(source1 == source2); |
| // } |
| // void test_equals_false_null() { |
| // JavaFile file = FileUtilities2.createFile("/does/not/exist1.dart"); |
| // FileBasedSource source1 = new FileBasedSource.con1(file); |
| // JUnitTestCase.assertFalse(source1 == null); |
| // } |
| // void test_equals_true() { |
| // JavaFile file1 = FileUtilities2.createFile("/does/not/exist.dart"); |
| // JavaFile file2 = FileUtilities2.createFile("/does/not/exist.dart"); |
| // FileBasedSource source1 = new FileBasedSource.con1(file1); |
| // FileBasedSource source2 = new FileBasedSource.con1(file2); |
| // JUnitTestCase.assertTrue(source1 == source2); |
| // } |
| // void test_getEncoding() { |
| // SourceFactory factory = new SourceFactory([new FileUriResolver()]); |
| // String fullPath = "/does/not/exist.dart"; |
| // JavaFile file = FileUtilities2.createFile(fullPath); |
| // FileBasedSource source = new FileBasedSource.con1(file); |
| // JUnitTestCase.assertEquals(source, factory.fromEncoding(source.encoding)); |
| // } |
| // void test_getFullName() { |
| // String fullPath = "/does/not/exist.dart"; |
| // JavaFile file = FileUtilities2.createFile(fullPath); |
| // FileBasedSource source = new FileBasedSource.con1(file); |
| // JUnitTestCase.assertEquals(file.getAbsolutePath(), source.fullName); |
| // } |
| // void test_getShortName() { |
| // JavaFile file = FileUtilities2.createFile("/does/not/exist.dart"); |
| // FileBasedSource source = new FileBasedSource.con1(file); |
| // JUnitTestCase.assertEquals("exist.dart", source.shortName); |
| // } |
| // void test_hashCode() { |
| // JavaFile file1 = FileUtilities2.createFile("/does/not/exist.dart"); |
| // JavaFile file2 = FileUtilities2.createFile("/does/not/exist.dart"); |
| // FileBasedSource source1 = new FileBasedSource.con1(file1); |
| // FileBasedSource source2 = new FileBasedSource.con1(file2); |
| // JUnitTestCase.assertEquals(source1.hashCode, source2.hashCode); |
| // } |
| // void test_isInSystemLibrary_contagious() { |
| // JavaFile sdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory; |
| // JUnitTestCase.assertNotNull(sdkDirectory); |
| // DartSdk sdk = new DirectoryBasedDartSdk(sdkDirectory); |
| // UriResolver resolver = new DartUriResolver(sdk); |
| // SourceFactory factory = new SourceFactory([resolver]); |
| // // resolve dart:core |
| // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core")); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertTrue(result.isInSystemLibrary); |
| // // system libraries reference only other system libraries |
| // Source partSource = factory.resolveUri(result, "num.dart"); |
| // JUnitTestCase.assertNotNull(partSource); |
| // JUnitTestCase.assertTrue(partSource.isInSystemLibrary); |
| // } |
| // void test_isInSystemLibrary_false() { |
| // JavaFile file = FileUtilities2.createFile("/does/not/exist.dart"); |
| // FileBasedSource source = new FileBasedSource.con1(file); |
| // JUnitTestCase.assertNotNull(source); |
| // JUnitTestCase.assertEquals(file.getAbsolutePath(), source.fullName); |
| // JUnitTestCase.assertFalse(source.isInSystemLibrary); |
| // } |
| // void test_issue14500() { |
| // // see https://code.google.com/p/dart/issues/detail?id=14500 |
| // FileBasedSource source = new FileBasedSource.con1(FileUtilities2.createFile("/some/packages/foo:bar.dart")); |
| // JUnitTestCase.assertNotNull(source); |
| // JUnitTestCase.assertFalse(source.exists()); |
| // } |
| // void test_resolveRelative_dart_fileName() { |
| // JavaFile file = FileUtilities2.createFile("/a/b/test.dart"); |
| // FileBasedSource source = new FileBasedSource.con2(parseUriWithException("dart:test"), file); |
| // JUnitTestCase.assertNotNull(source); |
| // Uri relative = source.resolveRelativeUri(parseUriWithException("lib.dart")); |
| // JUnitTestCase.assertNotNull(relative); |
| // JUnitTestCase.assertEquals("dart:test/lib.dart", relative.toString()); |
| // } |
| // void test_resolveRelative_dart_filePath() { |
| // JavaFile file = FileUtilities2.createFile("/a/b/test.dart"); |
| // FileBasedSource source = new FileBasedSource.con2(parseUriWithException("dart:test"), file); |
| // JUnitTestCase.assertNotNull(source); |
| // Uri relative = source.resolveRelativeUri(parseUriWithException("c/lib.dart")); |
| // JUnitTestCase.assertNotNull(relative); |
| // JUnitTestCase.assertEquals("dart:test/c/lib.dart", relative.toString()); |
| // } |
| // void test_resolveRelative_dart_filePathWithParent() { |
| // JavaFile file = FileUtilities2.createFile("/a/b/test.dart"); |
| // FileBasedSource source = new FileBasedSource.con2(parseUriWithException("dart:test/b/test.dart"), file); |
| // JUnitTestCase.assertNotNull(source); |
| // Uri relative = source.resolveRelativeUri(parseUriWithException("../c/lib.dart")); |
| // JUnitTestCase.assertNotNull(relative); |
| // JUnitTestCase.assertEquals("dart:test/c/lib.dart", relative.toString()); |
| // } |
| // void test_resolveRelative_file_fileName() { |
| // if (OSUtilities.isWindows()) { |
| // // On Windows, the URI that is produced includes a drive letter, which I believe is not |
| // // consistent across all machines that might run this test. |
| // return; |
| // } |
| // JavaFile file = FileUtilities2.createFile("/a/b/test.dart"); |
| // FileBasedSource source = new FileBasedSource.con1(file); |
| // JUnitTestCase.assertNotNull(source); |
| // Uri relative = source.resolveRelativeUri(parseUriWithException("lib.dart")); |
| // JUnitTestCase.assertNotNull(relative); |
| // JUnitTestCase.assertEquals("file:/a/b/lib.dart", relative.toString()); |
| // } |
| // void test_resolveRelative_file_filePath() { |
| // if (OSUtilities.isWindows()) { |
| // // On Windows, the URI that is produced includes a drive letter, which I believe is not |
| // // consistent across all machines that might run this test. |
| // return; |
| // } |
| // JavaFile file = FileUtilities2.createFile("/a/b/test.dart"); |
| // FileBasedSource source = new FileBasedSource.con1(file); |
| // JUnitTestCase.assertNotNull(source); |
| // Uri relative = source.resolveRelativeUri(parseUriWithException("c/lib.dart")); |
| // JUnitTestCase.assertNotNull(relative); |
| // JUnitTestCase.assertEquals("file:/a/b/c/lib.dart", relative.toString()); |
| // } |
| // void test_resolveRelative_file_filePathWithParent() { |
| // if (OSUtilities.isWindows()) { |
| // // On Windows, the URI that is produced includes a drive letter, which I believe is not |
| // // consistent across all machines that might run this test. |
| // return; |
| // } |
| // JavaFile file = FileUtilities2.createFile("/a/b/test.dart"); |
| // FileBasedSource source = new FileBasedSource.con1(file); |
| // JUnitTestCase.assertNotNull(source); |
| // Uri relative = source.resolveRelativeUri(parseUriWithException("../c/lib.dart")); |
| // JUnitTestCase.assertNotNull(relative); |
| // JUnitTestCase.assertEquals("file:/a/c/lib.dart", relative.toString()); |
| // } |
| // void test_resolveRelative_package_fileName() { |
| // JavaFile file = FileUtilities2.createFile("/a/b/test.dart"); |
| // FileBasedSource source = new FileBasedSource.con2(parseUriWithException("package:b/test.dart"), file); |
| // JUnitTestCase.assertNotNull(source); |
| // Uri relative = source.resolveRelativeUri(parseUriWithException("lib.dart")); |
| // JUnitTestCase.assertNotNull(relative); |
| // JUnitTestCase.assertEquals("package:b/lib.dart", relative.toString()); |
| // } |
| // void test_resolveRelative_package_fileNameWithoutPackageName() { |
| // JavaFile file = FileUtilities2.createFile("/a/b/test.dart"); |
| // FileBasedSource source = new FileBasedSource.con2(parseUriWithException("package:test.dart"), file); |
| // JUnitTestCase.assertNotNull(source); |
| // Uri relative = source.resolveRelativeUri(parseUriWithException("lib.dart")); |
| // JUnitTestCase.assertNotNull(relative); |
| // JUnitTestCase.assertEquals("package:lib.dart", relative.toString()); |
| // } |
| // void test_resolveRelative_package_filePath() { |
| // JavaFile file = FileUtilities2.createFile("/a/b/test.dart"); |
| // FileBasedSource source = new FileBasedSource.con2(parseUriWithException("package:b/test.dart"), file); |
| // JUnitTestCase.assertNotNull(source); |
| // Uri relative = source.resolveRelativeUri(parseUriWithException("c/lib.dart")); |
| // JUnitTestCase.assertNotNull(relative); |
| // JUnitTestCase.assertEquals("package:b/c/lib.dart", relative.toString()); |
| // } |
| // void test_resolveRelative_package_filePathWithParent() { |
| // JavaFile file = FileUtilities2.createFile("/a/b/test.dart"); |
| // FileBasedSource source = new FileBasedSource.con2(parseUriWithException("package:a/b/test.dart"), file); |
| // JUnitTestCase.assertNotNull(source); |
| // Uri relative = source.resolveRelativeUri(parseUriWithException("../c/lib.dart")); |
| // JUnitTestCase.assertNotNull(relative); |
| // JUnitTestCase.assertEquals("package:a/c/lib.dart", relative.toString()); |
| // } |
| // void test_system() { |
| // JavaFile file = FileUtilities2.createFile("/does/not/exist.dart"); |
| // FileBasedSource source = new FileBasedSource.con2(parseUriWithException("dart:core"), file); |
| // JUnitTestCase.assertNotNull(source); |
| // JUnitTestCase.assertEquals(file.getAbsolutePath(), source.fullName); |
| // JUnitTestCase.assertTrue(source.isInSystemLibrary); |
| // } |
| // static dartSuite() { |
| // _ut.group('FileBasedSourceTest', () { |
| // _ut.test('test_equals_false_differentFiles', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_equals_false_differentFiles); |
| // }); |
| // _ut.test('test_equals_false_null', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_equals_false_null); |
| // }); |
| // _ut.test('test_equals_true', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_equals_true); |
| // }); |
| // _ut.test('test_getEncoding', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_getEncoding); |
| // }); |
| // _ut.test('test_getFullName', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_getFullName); |
| // }); |
| // _ut.test('test_getShortName', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_getShortName); |
| // }); |
| // _ut.test('test_hashCode', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_hashCode); |
| // }); |
| // _ut.test('test_isInSystemLibrary_contagious', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_isInSystemLibrary_contagious); |
| // }); |
| // _ut.test('test_isInSystemLibrary_false', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_isInSystemLibrary_false); |
| // }); |
| // _ut.test('test_issue14500', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_issue14500); |
| // }); |
| // _ut.test('test_resolveRelative_dart_fileName', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_resolveRelative_dart_fileName); |
| // }); |
| // _ut.test('test_resolveRelative_dart_filePath', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_resolveRelative_dart_filePath); |
| // }); |
| // _ut.test('test_resolveRelative_dart_filePathWithParent', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_resolveRelative_dart_filePathWithParent); |
| // }); |
| // _ut.test('test_resolveRelative_file_fileName', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_resolveRelative_file_fileName); |
| // }); |
| // _ut.test('test_resolveRelative_file_filePath', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_resolveRelative_file_filePath); |
| // }); |
| // _ut.test('test_resolveRelative_file_filePathWithParent', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_resolveRelative_file_filePathWithParent); |
| // }); |
| // _ut.test('test_resolveRelative_package_fileName', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_resolveRelative_package_fileName); |
| // }); |
| // _ut.test('test_resolveRelative_package_fileNameWithoutPackageName', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_resolveRelative_package_fileNameWithoutPackageName); |
| // }); |
| // _ut.test('test_resolveRelative_package_filePath', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_resolveRelative_package_filePath); |
| // }); |
| // _ut.test('test_resolveRelative_package_filePathWithParent', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_resolveRelative_package_filePathWithParent); |
| // }); |
| // _ut.test('test_system', () { |
| // final __test = new FileBasedSourceTest(); |
| // runJUnitTest(__test, __test.test_system); |
| // }); |
| // }); |
| // } |
| // } |
| // class FileUriResolverTest extends JUnitTestCase { |
| // void test_creation() { |
| // JUnitTestCase.assertNotNull(new FileUriResolver()); |
| // } |
| // void test_resolve_file() { |
| // UriResolver resolver = new FileUriResolver(); |
| // Source result = resolver.resolveAbsolute(parseUriWithException("file:/does/not/exist.dart")); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(FileUtilities2.createFile("/does/not/exist.dart").getAbsolutePath(), result.fullName); |
| // } |
| // void test_resolve_nonFile() { |
| // UriResolver resolver = new FileUriResolver(); |
| // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core")); |
| // JUnitTestCase.assertNull(result); |
| // } |
| // static dartSuite() { |
| // _ut.group('FileUriResolverTest', () { |
| // _ut.test('test_creation', () { |
| // final __test = new FileUriResolverTest(); |
| // runJUnitTest(__test, __test.test_creation); |
| // }); |
| // _ut.test('test_resolve_file', () { |
| // final __test = new FileUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_file); |
| // }); |
| // _ut.test('test_resolve_nonFile', () { |
| // final __test = new FileUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_nonFile); |
| // }); |
| // }); |
| // } |
| // } |
| // /** |
| // * The class `FileUtilities2` implements utility methods used to create and manipulate files. |
| // */ |
| // class FileUtilities2 { |
| // /** |
| // * A temporary directory used during testing and cleared via [deleteTempDir]. |
| // */ |
| // static JavaFile _TEMP_DIR = new JavaFile(JavaSystemIO.getProperty("java.io.tmpdir"), "AnalysisEngineTestTmp"); |
| // /** |
| // * Create a file with the given path after replacing any forward slashes ('/') in the path with |
| // * the current file separator. |
| // * |
| // * @param path the path of the file to be created |
| // * @return the file representing the path |
| // */ |
| // static JavaFile createFile(String path) => new JavaFile(_convertPath(path)).getAbsoluteFile(); |
| // /** |
| // * Create a new symlink or throw an exception if creation of symlinks is not supported. Use |
| // * [isSymLinkSupported] to determine if this method will work on the current platform. |
| // * |
| // * @param existingFile the existing file to which the new symlink should point (not `null`, |
| // * and must exist) |
| // * @param linkFile the symlink to be created (not `null`, but must not exist) |
| // */ |
| // static void createSymLink(JavaFile existingFile, JavaFile linkFile) { |
| // JUnitTestCase.assertTrueMsg("Creation of symlinks is not supported", isSymLinkSupported); |
| // JUnitTestCase.assertTrueMsg("Target file does not exist", existingFile.exists()); |
| // JUnitTestCase.assertFalseMsg("Link already exists", linkFile.exists()); |
| // ProcessRunner runner = new ProcessRunner(<String> ["ln", "-s", existingFile.getPath(), linkFile.getPath()]); |
| // int exitCode = runner.runSync(10000); |
| // if (exitCode != 0) { |
| // JUnitTestCase.fail("Symlink creation failed [${exitCode}] ${linkFile}"); |
| // } |
| // } |
| // /** |
| // * Create a temporary directory. Call [deleteTempDir] in the [TestCase] tearDown |
| // * method to delete all temporary files and directories. |
| // * |
| // * @param name the name of the temporary directory (not `null`, not empty) |
| // * @return the directory created (not `null`) |
| // */ |
| // static JavaFile createTempDir(String name) { |
| // JavaFile dir = new JavaFile.relative(_TEMP_DIR, name); |
| // if (dir.mkdirs()) { |
| // return dir; |
| // } |
| // throw new JavaIOException("Failed to create directory ${dir}"); |
| // } |
| // /** |
| // * Create a temporary file. Call [deleteTempDir] in the [TestCase] tearDown method |
| // * to delete all temporary files and directories. |
| // * |
| // * @param name the name of the temporary file (not `null`, not empty) |
| // * @return the file (not `null`) |
| // */ |
| // static JavaFile createTempFile(String name, String content) { |
| // JavaFile file = new JavaFile.relative(_TEMP_DIR, name); |
| // if (file.createNewFile()) { |
| // return file; |
| // } |
| // throw new JavaIOException("Failed to create file ${file}"); |
| // } |
| // /** |
| // * Delete the contents of the given directory, given that we know it is a directory. |
| // * |
| // * @param dir the directory whose contents are to be deleted |
| // */ |
| // static void deleteDirectory(JavaFile dir) { |
| // for (JavaFile file in dir.listFiles()) { |
| // if (file.isDirectory()) { |
| // deleteDirectory(file); |
| // } else { |
| // if (!file.delete()) { |
| // throw new JavaIOException("Failed to delete ${file}"); |
| // } |
| // } |
| // } |
| // if (!dir.delete()) { |
| // throw new JavaIOException("Failed to delete ${dir}"); |
| // } |
| // } |
| // /** |
| // * Delete symlink or throw an exception if creation of symlinks is not supported. Use |
| // * [isSymLinkSupported] to determine if this method will work on the current platform. |
| // * |
| // * @param linkFile the symlink to be deleted (not `null`, and must exist) |
| // */ |
| // static void deleteSymLink(JavaFile linkFile) { |
| // JUnitTestCase.assertTrueMsg("Creation of symlinks is not supported", isSymLinkSupported); |
| // JUnitTestCase.assertTrueMsg("Link does not exist", linkFile.exists()); |
| // ProcessRunner runner = new ProcessRunner(<String> ["rm", linkFile.getPath()]); |
| // int exitCode = runner.runSync(10000); |
| // if (exitCode != 0) { |
| // JUnitTestCase.fail("Symlink deletion failed [${exitCode}] ${linkFile}"); |
| // } |
| // } |
| // /** |
| // * Delete the temporary directory. This should called from the [TestCase] tearDown method of |
| // * any test case which calls [createTempDir] or [createTempFile]. |
| // */ |
| // static void deleteTempDir() { |
| // if (_TEMP_DIR.exists()) { |
| // deleteDirectory(_TEMP_DIR); |
| // } |
| // } |
| // /** |
| // * Determine if creation of symlinks via [createSymLink] is supported. |
| // * |
| // * @return `true` if symlinks can be created, else false |
| // */ |
| // static bool get isSymLinkSupported => !OSUtilities.isWindows(); |
| // /** |
| // * Convert all forward slashes in the given path to the current file separator. |
| // * |
| // * @param path the path to be converted |
| // * @return the converted path |
| // */ |
| // static String _convertPath(String path) { |
| // if (JavaFile.separator == "/") { |
| // // We're on a unix-ish OS. |
| // return path; |
| // } else { |
| // // On windows, the path separator is '\'. |
| // return path.replaceAll("/", "\\\\"); |
| // } |
| // } |
| // } |
| // class GeneralizingElementVisitor_AngularTest_findElement extends GeneralizingElementVisitor<Object> { |
| // ElementKind kind; |
| // String name; |
| // List<Element> result; |
| // GeneralizingElementVisitor_AngularTest_findElement(this.kind, this.name, this.result) : super(); |
| // @override |
| // Object visitElement(Element element) { |
| // if ((kind == null || element.kind == kind) && name == element.name) { |
| // result[0] = element; |
| // } |
| // return super.visitElement(element); |
| // } |
| // } |
| // /** |
| // * Utility methods to create HTML nodes. |
| // */ |
| // class HtmlFactory { |
| // static XmlAttributeNode attribute(String name, String value) { |
| // Token nameToken = _stringToken(name); |
| // Token equalsToken = new Token.con1(TokenType.EQ, 0); |
| // Token valueToken = _stringToken(value); |
| // return new XmlAttributeNode(nameToken, equalsToken, valueToken); |
| // } |
| // static List list(List<Object> elements) { |
| // List elementList = new List(); |
| // for (Object element in elements) { |
| // elementList.add(element); |
| // } |
| // return elementList; |
| // } |
| // static HtmlScriptTagNode scriptTag(List<XmlAttributeNode> attributes) => new HtmlScriptTagNode(_ltToken(), _stringToken("script"), list(attributes), _sgtToken(), null, null, null, null); |
| // static HtmlScriptTagNode scriptTagWithContent(String contents, List<XmlAttributeNode> attributes) { |
| // Token attributeEnd = _gtToken(); |
| // Token contentToken = _stringToken(contents); |
| // attributeEnd.setNext(contentToken); |
| // Token contentEnd = _ltsToken(); |
| // contentToken.setNext(contentEnd); |
| // return new HtmlScriptTagNode(_ltToken(), _stringToken("script"), list(attributes), attributeEnd, null, contentEnd, _stringToken("script"), _gtToken()); |
| // } |
| // static XmlTagNode tagNode(String name, List<XmlAttributeNode> attributes) => new XmlTagNode(_ltToken(), _stringToken(name), [], _sgtToken(), null, null, null, null); |
| // static Token _gtToken() => new Token.con1(TokenType.GT, 0); |
| // static Token _ltsToken() => new Token.con1(TokenType.LT_SLASH, 0); |
| // static Token _ltToken() => new Token.con1(TokenType.LT, 0); |
| // static Token _sgtToken() => new Token.con1(TokenType.SLASH_GT, 0); |
| // static Token _stringToken(String value) => new Token.con2(TokenType.STRING, 0, value); |
| // } |
| // class HtmlParserTest extends EngineTestCase { |
| // /** |
| // * The name of the 'script' tag in an HTML file. |
| // */ |
| // static String _TAG_SCRIPT = "script"; |
| // void fail_parse_scriptWithComment() { |
| // String scriptBody = EngineTestCase.createSource([ |
| // " /**", |
| // " * <editable-label bind-value=\"dartAsignableValue\">", |
| // " * </editable-label>", |
| // " */", |
| // " class Foo {}"]); |
| // HtmlUnit htmlUnit = parse(EngineTestCase.createSource([ |
| // " <html>", |
| // " <body>", |
| // " <script type=\"application/dart\">", |
| // scriptBody, |
| // " </script>", |
| // " </body>", |
| // " </html>"])); |
| // _validate(htmlUnit, [_t4("html", [_t4("body", [_t("script", _a(["type", "\"application/dart\""]), scriptBody, [])])])]); |
| // } |
| // void test_parse_attribute() { |
| // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"></body></html>"); |
| // _validate(htmlUnit, [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), "", [])])]); |
| // XmlTagNode htmlNode = htmlUnit.tagNodes[0]; |
| // XmlTagNode bodyNode = htmlNode.tagNodes[0]; |
| // JUnitTestCase.assertEquals("sdfsdf", bodyNode.attributes[0].text); |
| // } |
| // void test_parse_attribute_EOF() { |
| // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\""); |
| // _validate(htmlUnit, [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), "", [])])]); |
| // } |
| // void test_parse_attribute_EOF_missing_quote() { |
| // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsd"); |
| // _validate(htmlUnit, [_t4("html", [_t("body", _a(["foo", "\"sdfsd"]), "", [])])]); |
| // XmlTagNode htmlNode = htmlUnit.tagNodes[0]; |
| // XmlTagNode bodyNode = htmlNode.tagNodes[0]; |
| // JUnitTestCase.assertEquals("sdfsd", bodyNode.attributes[0].text); |
| // } |
| // void test_parse_attribute_extra_quote() { |
| // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"\"></body></html>"); |
| // _validate(htmlUnit, [_t4("html", [_t("body", _a(["foo", "\"sdfsdf\""]), "", [])])]); |
| // } |
| // void test_parse_attribute_single_quote() { |
| // HtmlUnit htmlUnit = parse("<html><body foo='sdfsdf'></body></html>"); |
| // _validate(htmlUnit, [_t4("html", [_t("body", _a(["foo", "'sdfsdf'"]), "", [])])]); |
| // XmlTagNode htmlNode = htmlUnit.tagNodes[0]; |
| // XmlTagNode bodyNode = htmlNode.tagNodes[0]; |
| // JUnitTestCase.assertEquals("sdfsdf", bodyNode.attributes[0].text); |
| // } |
| // void test_parse_comment_embedded() { |
| // HtmlUnit htmlUnit = parse("<html <!-- comment -->></html>"); |
| // _validate(htmlUnit, [_t3("html", "", [])]); |
| // } |
| // void test_parse_comment_first() { |
| // HtmlUnit htmlUnit = parse("<!-- comment --><html></html>"); |
| // _validate(htmlUnit, [_t3("html", "", [])]); |
| // } |
| // void test_parse_comment_in_content() { |
| // HtmlUnit htmlUnit = parse("<html><!-- comment --></html>"); |
| // _validate(htmlUnit, [_t3("html", "<!-- comment -->", [])]); |
| // } |
| // void test_parse_content() { |
| // HtmlUnit htmlUnit = parse("<html>\n<p a=\"b\">blat \n </p>\n</html>"); |
| // // XmlTagNode.getContent() does not include whitespace between '<' and '>' at this time |
| // _validate(htmlUnit, [_t3("html", "\n<pa=\"b\">blat \n </p>\n", [_t("p", _a(["a", "\"b\""]), "blat \n ", [])])]); |
| // } |
| // void test_parse_content_none() { |
| // HtmlUnit htmlUnit = parse("<html><p/>blat<p/></html>"); |
| // _validate(htmlUnit, [_t3("html", "<p/>blat<p/>", [_t3("p", "", []), _t3("p", "", [])])]); |
| // } |
| // void test_parse_declaration() { |
| // HtmlUnit htmlUnit = parse("<!DOCTYPE html>\n\n<html><p></p></html>"); |
| // _validate(htmlUnit, [_t4("html", [_t3("p", "", [])])]); |
| // } |
| // void test_parse_directive() { |
| // HtmlUnit htmlUnit = parse("<?xml ?>\n\n<html><p></p></html>"); |
| // _validate(htmlUnit, [_t4("html", [_t3("p", "", [])])]); |
| // } |
| // void test_parse_getAttribute() { |
| // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"></body></html>"); |
| // XmlTagNode htmlNode = htmlUnit.tagNodes[0]; |
| // XmlTagNode bodyNode = htmlNode.tagNodes[0]; |
| // JUnitTestCase.assertEquals("sdfsdf", bodyNode.getAttribute("foo").text); |
| // JUnitTestCase.assertEquals(null, bodyNode.getAttribute("bar")); |
| // JUnitTestCase.assertEquals(null, bodyNode.getAttribute(null)); |
| // } |
| // void test_parse_getAttributeText() { |
| // HtmlUnit htmlUnit = parse("<html><body foo=\"sdfsdf\"></body></html>"); |
| // XmlTagNode htmlNode = htmlUnit.tagNodes[0]; |
| // XmlTagNode bodyNode = htmlNode.tagNodes[0]; |
| // JUnitTestCase.assertEquals("sdfsdf", bodyNode.getAttributeText("foo")); |
| // JUnitTestCase.assertEquals(null, bodyNode.getAttributeText("bar")); |
| // JUnitTestCase.assertEquals(null, bodyNode.getAttributeText(null)); |
| // } |
| // void test_parse_headers() { |
| // String code = EngineTestCase.createSource([ |
| // "<html>", |
| // " <body>", |
| // " <h2>000</h2>", |
| // " <div>", |
| // " 111", |
| // " </div>", |
| // " </body>", |
| // "</html>"]); |
| // HtmlUnit htmlUnit = parse(code); |
| // _validate(htmlUnit, [_t4("html", [_t4("body", [_t3("h2", "000", []), _t4("div", [])])])]); |
| // } |
| // void test_parse_script() { |
| // HtmlUnit htmlUnit = parse("<html><script >here is <p> some</script></html>"); |
| // _validate(htmlUnit, [_t4("html", [_t3("script", "here is <p> some", [])])]); |
| // } |
| // void test_parse_self_closing() { |
| // HtmlUnit htmlUnit = parse("<html>foo<br>bar</html>"); |
| // _validate(htmlUnit, [_t3("html", "foo<br>bar", [_t3("br", "", [])])]); |
| // } |
| // void test_parse_self_closing_declaration() { |
| // HtmlUnit htmlUnit = parse("<!DOCTYPE html><html>foo</html>"); |
| // _validate(htmlUnit, [_t3("html", "foo", [])]); |
| // } |
| // HtmlUnit parse(String contents) { |
| // TestSource source = new TestSource.con1(FileUtilities2.createFile("/test.dart"), contents); |
| // AbstractScanner scanner = new StringScanner(source, contents); |
| // scanner.passThroughElements = <String> [_TAG_SCRIPT]; |
| // Token token = scanner.tokenize(); |
| // LineInfo lineInfo = new LineInfo(scanner.lineStarts); |
| // GatheringErrorListener errorListener = new GatheringErrorListener(); |
| // HtmlUnit unit = new HtmlParser(source, errorListener).parse(token, lineInfo); |
| // errorListener.assertNoErrors(); |
| // return unit; |
| // } |
| // XmlValidator_Attributes _a(List<String> keyValuePairs) => new XmlValidator_Attributes(keyValuePairs); |
| // XmlValidator_Tag _t(String tag, XmlValidator_Attributes attributes, String content, List<XmlValidator_Tag> children) => new XmlValidator_Tag(tag, attributes, content, children); |
| // XmlValidator_Tag _t2(String tag, XmlValidator_Attributes attributes, List<XmlValidator_Tag> children) => new XmlValidator_Tag(tag, attributes, null, children); |
| // XmlValidator_Tag _t3(String tag, String content, List<XmlValidator_Tag> children) => new XmlValidator_Tag(tag, new XmlValidator_Attributes([]), content, children); |
| // XmlValidator_Tag _t4(String tag, List<XmlValidator_Tag> children) => new XmlValidator_Tag(tag, new XmlValidator_Attributes([]), null, children); |
| // void _validate(HtmlUnit htmlUnit, List<XmlValidator_Tag> expectedTags) { |
| // XmlValidator validator = new XmlValidator(); |
| // validator.expectTags(expectedTags); |
| // htmlUnit.accept(validator); |
| // validator.assertValid(); |
| // } |
| // static dartSuite() { |
| // _ut.group('HtmlParserTest', () { |
| // _ut.test('test_parse_attribute', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_attribute); |
| // }); |
| // _ut.test('test_parse_attribute_EOF', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_attribute_EOF); |
| // }); |
| // _ut.test('test_parse_attribute_EOF_missing_quote', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_attribute_EOF_missing_quote); |
| // }); |
| // _ut.test('test_parse_attribute_extra_quote', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_attribute_extra_quote); |
| // }); |
| // _ut.test('test_parse_attribute_single_quote', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_attribute_single_quote); |
| // }); |
| // _ut.test('test_parse_comment_embedded', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_comment_embedded); |
| // }); |
| // _ut.test('test_parse_comment_first', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_comment_first); |
| // }); |
| // _ut.test('test_parse_comment_in_content', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_comment_in_content); |
| // }); |
| // _ut.test('test_parse_content', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_content); |
| // }); |
| // _ut.test('test_parse_content_none', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_content_none); |
| // }); |
| // _ut.test('test_parse_declaration', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_declaration); |
| // }); |
| // _ut.test('test_parse_directive', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_directive); |
| // }); |
| // _ut.test('test_parse_getAttribute', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_getAttribute); |
| // }); |
| // _ut.test('test_parse_getAttributeText', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_getAttributeText); |
| // }); |
| // _ut.test('test_parse_headers', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_headers); |
| // }); |
| // _ut.test('test_parse_script', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_script); |
| // }); |
| // _ut.test('test_parse_self_closing', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_self_closing); |
| // }); |
| // _ut.test('test_parse_self_closing_declaration', () { |
| // final __test = new HtmlParserTest(); |
| // runJUnitTest(__test, __test.test_parse_self_closing_declaration); |
| // }); |
| // }); |
| // } |
| // } |
| // class HtmlTagInfoBuilderTest extends HtmlParserTest { |
| // void test_buider() { |
| // HtmlTagInfoBuilder builder = new HtmlTagInfoBuilder(); |
| // HtmlUnit unit = parse(EngineTestCase.createSource([ |
| // "<html>", |
| // " <body>", |
| // " <div id=\"x\"></div>", |
| // " <p class='c'></p>", |
| // " <div class='c'></div>", |
| // " </body>", |
| // "</html>"])); |
| // unit.accept(builder); |
| // HtmlTagInfo info = builder.getTagInfo(); |
| // JUnitTestCase.assertNotNull(info); |
| // List<String> allTags = info.getAllTags(); |
| // EngineTestCase.assertLength(4, allTags); |
| // JUnitTestCase.assertEquals("div", info.getTagWithId("x")); |
| // List<String> tagsWithClass = info.getTagsWithClass("c"); |
| // EngineTestCase.assertLength(2, tagsWithClass); |
| // } |
| // static dartSuite() { |
| // _ut.group('HtmlTagInfoBuilderTest', () { |
| // _ut.test('test_buider', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_buider); |
| // }); |
| // _ut.test('test_parse_attribute', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_attribute); |
| // }); |
| // _ut.test('test_parse_attribute_EOF', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_attribute_EOF); |
| // }); |
| // _ut.test('test_parse_attribute_EOF_missing_quote', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_attribute_EOF_missing_quote); |
| // }); |
| // _ut.test('test_parse_attribute_extra_quote', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_attribute_extra_quote); |
| // }); |
| // _ut.test('test_parse_attribute_single_quote', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_attribute_single_quote); |
| // }); |
| // _ut.test('test_parse_comment_embedded', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_comment_embedded); |
| // }); |
| // _ut.test('test_parse_comment_first', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_comment_first); |
| // }); |
| // _ut.test('test_parse_comment_in_content', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_comment_in_content); |
| // }); |
| // _ut.test('test_parse_content', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_content); |
| // }); |
| // _ut.test('test_parse_content_none', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_content_none); |
| // }); |
| // _ut.test('test_parse_declaration', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_declaration); |
| // }); |
| // _ut.test('test_parse_directive', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_directive); |
| // }); |
| // _ut.test('test_parse_getAttribute', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_getAttribute); |
| // }); |
| // _ut.test('test_parse_getAttributeText', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_getAttributeText); |
| // }); |
| // _ut.test('test_parse_headers', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_headers); |
| // }); |
| // _ut.test('test_parse_script', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_script); |
| // }); |
| // _ut.test('test_parse_self_closing', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_self_closing); |
| // }); |
| // _ut.test('test_parse_self_closing_declaration', () { |
| // final __test = new HtmlTagInfoBuilderTest(); |
| // runJUnitTest(__test, __test.test_parse_self_closing_declaration); |
| // }); |
| // }); |
| // } |
| // } |
| // class HtmlUnitBuilderTest extends EngineTestCase { |
| // AnalysisContextImpl _context; |
| // void test_embedded_script() { |
| // HtmlElementImpl element = _build(EngineTestCase.createSource([ |
| // "<html>", |
| // "<script type=\"application/dart\">foo=2;</script>", |
| // "</html>"])); |
| // _validate(element, [_s(_l([_v("foo")]))]); |
| // } |
| // void test_embedded_script_no_content() { |
| // HtmlElementImpl element = _build(EngineTestCase.createSource([ |
| // "<html>", |
| // "<script type=\"application/dart\"></script>", |
| // "</html>"])); |
| // _validate(element, [_s(_l([]))]); |
| // } |
| // void test_external_script() { |
| // HtmlElementImpl element = _build(EngineTestCase.createSource([ |
| // "<html>", |
| // "<script type=\"application/dart\" src=\"other.dart\"/>", |
| // "</html>"])); |
| // _validate(element, [_s2("other.dart")]); |
| // } |
| // void test_external_script_no_source() { |
| // HtmlElementImpl element = _build(EngineTestCase.createSource([ |
| // "<html>", |
| // "<script type=\"application/dart\"/>", |
| // "</html>"])); |
| // _validate(element, [_s2(null as String)]); |
| // } |
| // void test_external_script_with_content() { |
| // HtmlElementImpl element = _build(EngineTestCase.createSource([ |
| // "<html>", |
| // "<script type=\"application/dart\" src=\"other.dart\">blat=2;</script>", |
| // "</html>"])); |
| // _validate(element, [_s2("other.dart")]); |
| // } |
| // void test_no_scripts() { |
| // HtmlElementImpl element = _build(EngineTestCase.createSource(["<!DOCTYPE html>", "<html><p></p></html>"])); |
| // _validate(element, []); |
| // } |
| // void test_two_dart_scripts() { |
| // HtmlElementImpl element = _build(EngineTestCase.createSource([ |
| // "<html>", |
| // "<script type=\"application/dart\">bar=2;</script>", |
| // "<script type=\"application/dart\" src=\"other.dart\"/>", |
| // "<script src=\"dart.js\"/>", |
| // "</html>"])); |
| // _validate(element, [_s(_l([_v("bar")])), _s2("other.dart")]); |
| // } |
| // @override |
| // void setUp() { |
| // _context = AnalysisContextFactory.contextWithCore(); |
| // } |
| // HtmlUnitBuilderTest_ExpectedLibrary _l(List<HtmlUnitBuilderTest_ExpectedVariable> expectedVariables) => new HtmlUnitBuilderTest_ExpectedLibrary(this, expectedVariables); |
| // HtmlElementImpl _build(String contents) { |
| // TestSource source = new TestSource.con1(FileUtilities2.createFile("/test.html"), contents); |
| // ChangeSet changeSet = new ChangeSet(); |
| // changeSet.addedSource(source); |
| // _context.applyChanges(changeSet); |
| // HtmlUnitBuilder builder = new HtmlUnitBuilder(_context); |
| // return builder.buildHtmlElement(source, _context.getModificationStamp(source), _context.parseHtmlUnit(source)); |
| // } |
| // HtmlUnitBuilderTest_ExpectedScript _s(HtmlUnitBuilderTest_ExpectedLibrary expectedLibrary) => new HtmlUnitBuilderTest_ExpectedScript.con1(expectedLibrary); |
| // HtmlUnitBuilderTest_ExpectedScript _s2(String scriptSourcePath) => new HtmlUnitBuilderTest_ExpectedScript.con2(scriptSourcePath); |
| // HtmlUnitBuilderTest_ExpectedVariable _v(String varName) => new HtmlUnitBuilderTest_ExpectedVariable(varName); |
| // void _validate(HtmlElementImpl element, List<HtmlUnitBuilderTest_ExpectedScript> expectedScripts) { |
| // JUnitTestCase.assertSame(_context, element.context); |
| // List<HtmlScriptElement> scripts = element.scripts; |
| // JUnitTestCase.assertNotNull(scripts); |
| // EngineTestCase.assertLength(expectedScripts.length, scripts); |
| // for (int scriptIndex = 0; scriptIndex < scripts.length; scriptIndex++) { |
| // expectedScripts[scriptIndex]._validate(scriptIndex, scripts[scriptIndex]); |
| // } |
| // } |
| // static dartSuite() { |
| // _ut.group('HtmlUnitBuilderTest', () { |
| // _ut.test('test_embedded_script', () { |
| // final __test = new HtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_embedded_script); |
| // }); |
| // _ut.test('test_embedded_script_no_content', () { |
| // final __test = new HtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_embedded_script_no_content); |
| // }); |
| // _ut.test('test_external_script', () { |
| // final __test = new HtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_external_script); |
| // }); |
| // _ut.test('test_external_script_no_source', () { |
| // final __test = new HtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_external_script_no_source); |
| // }); |
| // _ut.test('test_external_script_with_content', () { |
| // final __test = new HtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_external_script_with_content); |
| // }); |
| // _ut.test('test_no_scripts', () { |
| // final __test = new HtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_no_scripts); |
| // }); |
| // _ut.test('test_two_dart_scripts', () { |
| // final __test = new HtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_two_dart_scripts); |
| // }); |
| // }); |
| // } |
| // } |
| // class HtmlUnitBuilderTest_ExpectedLibrary { |
| // final HtmlUnitBuilderTest HtmlUnitBuilderTest_this; |
| // final List<HtmlUnitBuilderTest_ExpectedVariable> _expectedVariables; |
| // HtmlUnitBuilderTest_ExpectedLibrary(this.HtmlUnitBuilderTest_this, this._expectedVariables); |
| // void _validate(int scriptIndex, EmbeddedHtmlScriptElementImpl script) { |
| // LibraryElement library = script.scriptLibrary; |
| // JUnitTestCase.assertNotNullMsg("script ${scriptIndex}", library); |
| // JUnitTestCase.assertSameMsg("script ${scriptIndex}", HtmlUnitBuilderTest_this._context, script.context); |
| // CompilationUnitElement unit = library.definingCompilationUnit; |
| // JUnitTestCase.assertNotNullMsg("script ${scriptIndex}", unit); |
| // List<TopLevelVariableElement> variables = unit.topLevelVariables; |
| // EngineTestCase.assertLength(_expectedVariables.length, variables); |
| // for (int index = 0; index < variables.length; index++) { |
| // _expectedVariables[index].validate(scriptIndex, variables[index]); |
| // } |
| // JUnitTestCase.assertSameMsg("script ${scriptIndex}", script, library.enclosingElement); |
| // } |
| // } |
| // class HtmlUnitBuilderTest_ExpectedScript { |
| // String _expectedExternalScriptName; |
| // HtmlUnitBuilderTest_ExpectedLibrary _expectedLibrary; |
| // HtmlUnitBuilderTest_ExpectedScript.con1(HtmlUnitBuilderTest_ExpectedLibrary expectedLibrary) { |
| // this._expectedExternalScriptName = null; |
| // this._expectedLibrary = expectedLibrary; |
| // } |
| // HtmlUnitBuilderTest_ExpectedScript.con2(String expectedExternalScriptPath) { |
| // this._expectedExternalScriptName = expectedExternalScriptPath; |
| // this._expectedLibrary = null; |
| // } |
| // void _validate(int scriptIndex, HtmlScriptElement script) { |
| // if (_expectedLibrary != null) { |
| // _validateEmbedded(scriptIndex, script); |
| // } else { |
| // _validateExternal(scriptIndex, script); |
| // } |
| // } |
| // void _validateEmbedded(int scriptIndex, HtmlScriptElement script) { |
| // if (script is! EmbeddedHtmlScriptElementImpl) { |
| // JUnitTestCase.fail("Expected script ${scriptIndex} to be embedded, but found ${(script != null ? script.runtimeType : "null")}"); |
| // } |
| // EmbeddedHtmlScriptElementImpl embeddedScript = script as EmbeddedHtmlScriptElementImpl; |
| // _expectedLibrary._validate(scriptIndex, embeddedScript); |
| // } |
| // void _validateExternal(int scriptIndex, HtmlScriptElement script) { |
| // if (script is! ExternalHtmlScriptElementImpl) { |
| // JUnitTestCase.fail("Expected script ${scriptIndex} to be external with src=${_expectedExternalScriptName} but found ${(script != null ? script.runtimeType : "null")}"); |
| // } |
| // ExternalHtmlScriptElementImpl externalScript = script as ExternalHtmlScriptElementImpl; |
| // Source scriptSource = externalScript.scriptSource; |
| // if (_expectedExternalScriptName == null) { |
| // JUnitTestCase.assertNullMsg("script ${scriptIndex}", scriptSource); |
| // } else { |
| // JUnitTestCase.assertNotNullMsg("script ${scriptIndex}", scriptSource); |
| // String actualExternalScriptName = scriptSource.shortName; |
| // JUnitTestCase.assertEqualsMsg("script ${scriptIndex}", _expectedExternalScriptName, actualExternalScriptName); |
| // } |
| // } |
| // } |
| // class HtmlUnitBuilderTest_ExpectedVariable { |
| // final String _expectedName; |
| // HtmlUnitBuilderTest_ExpectedVariable(this._expectedName); |
| // void validate(int scriptIndex, TopLevelVariableElement variable) { |
| // JUnitTestCase.assertNotNullMsg("script ${scriptIndex}", variable); |
| // JUnitTestCase.assertEqualsMsg("script ${scriptIndex}", _expectedName, variable.name); |
| // } |
| // } |
| // /** |
| // * Instances of the class `HtmlWarningCodeTest` test the generation of HTML warning codes. |
| // */ |
| // class HtmlWarningCodeTest extends EngineTestCase { |
| // /** |
| // * The source factory used to create the sources to be resolved. |
| // */ |
| // SourceFactory _sourceFactory; |
| // /** |
| // * The analysis context used to resolve the HTML files. |
| // */ |
| // AnalysisContextImpl _context; |
| // /** |
| // * The contents of the 'test.html' file. |
| // */ |
| // String _contents; |
| // /** |
| // * The list of reported errors. |
| // */ |
| // List<AnalysisError> _errors; |
| // void test_invalidUri() { |
| // _verify(EngineTestCase.createSource([ |
| // "<html>", |
| // "<script type='application/dart' src='ht:'/>", |
| // "</html>"]), [HtmlWarningCode.INVALID_URI]); |
| // _assertErrorLocation2(_errors[0], "ht:"); |
| // } |
| // void test_uriDoesNotExist() { |
| // _verify(EngineTestCase.createSource([ |
| // "<html>", |
| // "<script type='application/dart' src='other.dart'/>", |
| // "</html>"]), [HtmlWarningCode.URI_DOES_NOT_EXIST]); |
| // _assertErrorLocation2(_errors[0], "other.dart"); |
| // } |
| // @override |
| // void setUp() { |
| // _sourceFactory = new SourceFactory([new FileUriResolver()]); |
| // _context = new AnalysisContextImpl(); |
| // _context.sourceFactory = _sourceFactory; |
| // } |
| // void _assertErrorLocation(AnalysisError error, int expectedOffset, int expectedLength) { |
| // JUnitTestCase.assertEqualsMsg(error.toString(), expectedOffset, error.offset); |
| // JUnitTestCase.assertEqualsMsg(error.toString(), expectedLength, error.length); |
| // } |
| // void _assertErrorLocation2(AnalysisError error, String expectedString) { |
| // _assertErrorLocation(error, _contents.indexOf(expectedString), expectedString.length); |
| // } |
| // void _verify(String contents, List<ErrorCode> expectedErrorCodes) { |
| // this._contents = contents; |
| // TestSource source = new TestSource.con1(FileUtilities2.createFile("/test.html"), contents); |
| // ChangeSet changeSet = new ChangeSet(); |
| // changeSet.addedSource(source); |
| // _context.applyChanges(changeSet); |
| // HtmlUnitBuilder builder = new HtmlUnitBuilder(_context); |
| // builder.buildHtmlElement(source, _context.getModificationStamp(source), _context.parseHtmlUnit(source)); |
| // GatheringErrorListener errorListener = new GatheringErrorListener(); |
| // errorListener.addAll2(builder.errorListener); |
| // errorListener.assertErrorsWithCodes(expectedErrorCodes); |
| // _errors = errorListener.errors; |
| // } |
| // static dartSuite() { |
| // _ut.group('HtmlWarningCodeTest', () { |
| // _ut.test('test_invalidUri', () { |
| // final __test = new HtmlWarningCodeTest(); |
| // runJUnitTest(__test, __test.test_invalidUri); |
| // }); |
| // _ut.test('test_uriDoesNotExist', () { |
| // final __test = new HtmlWarningCodeTest(); |
| // runJUnitTest(__test, __test.test_uriDoesNotExist); |
| // }); |
| // }); |
| // } |
| // } |
| // /** |
| // * Instances of the class `MockDartSdk` implement a [DartSdk]. |
| // */ |
| // class MockDartSdk implements DartSdk { |
| // @override |
| // Source fromFileUri(Uri uri) => null; |
| // @override |
| // AnalysisContext get context => null; |
| // @override |
| // List<SdkLibrary> get sdkLibraries => null; |
| // @override |
| // SdkLibrary getSdkLibrary(String dartUri) => null; |
| // @override |
| // String get sdkVersion => null; |
| // @override |
| // List<String> get uris => null; |
| // @override |
| // Source mapDartUri(String dartUri) => null; |
| // } |
| // class NonExistingSourceTest extends JUnitTestCase { |
| // Source _source = new NonExistingSource("/foo/bar/baz.dart", UriKind.PACKAGE_URI); |
| // void test_access() { |
| // JUnitTestCase.assertFalse(_source.exists()); |
| // JUnitTestCase.assertSame(UriKind.PACKAGE_URI, _source.uriKind); |
| // JUnitTestCase.assertEquals("/foo/bar/baz.dart", _source.fullName); |
| // JUnitTestCase.assertEquals("/foo/bar/baz.dart", _source.shortName); |
| // JUnitTestCase.assertEquals(0, _source.modificationStamp); |
| // JUnitTestCase.assertFalse(_source.isInSystemLibrary); |
| // } |
| // void test_getContents() { |
| // try { |
| // _source.contents; |
| // JUnitTestCase.fail(); |
| // } on UnsupportedOperationException catch (e) { |
| // } |
| // } |
| // void test_getContentsToReceiver() { |
| // try { |
| // _source.getContentsToReceiver(null); |
| // JUnitTestCase.fail(); |
| // } on UnsupportedOperationException catch (e) { |
| // } |
| // } |
| // void test_getEncoding() { |
| // try { |
| // _source.encoding; |
| // JUnitTestCase.fail(); |
| // } on UnsupportedOperationException catch (e) { |
| // } |
| // } |
| // void test_resolveRelative() { |
| // try { |
| // _source.resolveRelativeUri(parseUriWithException("qux.dart")); |
| // JUnitTestCase.fail(); |
| // } on UnsupportedOperationException catch (e) { |
| // } |
| // } |
| // static dartSuite() { |
| // _ut.group('NonExistingSourceTest', () { |
| // _ut.test('test_access', () { |
| // final __test = new NonExistingSourceTest(); |
| // runJUnitTest(__test, __test.test_access); |
| // }); |
| // _ut.test('test_getContents', () { |
| // final __test = new NonExistingSourceTest(); |
| // runJUnitTest(__test, __test.test_getContents); |
| // }); |
| // _ut.test('test_getContentsToReceiver', () { |
| // final __test = new NonExistingSourceTest(); |
| // runJUnitTest(__test, __test.test_getContentsToReceiver); |
| // }); |
| // _ut.test('test_getEncoding', () { |
| // final __test = new NonExistingSourceTest(); |
| // runJUnitTest(__test, __test.test_getEncoding); |
| // }); |
| // _ut.test('test_resolveRelative', () { |
| // final __test = new NonExistingSourceTest(); |
| // runJUnitTest(__test, __test.test_resolveRelative); |
| // }); |
| // }); |
| // } |
| // } |
| // class PackageUriResolverTest extends JUnitTestCase { |
| // void test_absolute_vs_canonical() { |
| // JavaFile directory = FileUtilities2.createFile("/does/not/exist/packages"); |
| // // Cannot compare paths on Windows because this |
| // // assertEquals(directory.getAbsolutePath(), directory.getCanonicalPath()); |
| // // results in |
| // // expected:<[e]:\does\not\exist\pac...> but was:<[E]:\does\not\exist\pac...> |
| // JUnitTestCase.assertEquals(directory.getAbsoluteFile(), directory.getCanonicalFile()); |
| // } |
| // void test_creation() { |
| // JavaFile directory = FileUtilities2.createFile("/does/not/exist/packages"); |
| // JUnitTestCase.assertNotNull(new PackageUriResolver([directory])); |
| // } |
| // void test_isPackageUri_null_scheme() { |
| // Uri uri = parseUriWithException("foo.dart"); |
| // JUnitTestCase.assertNull(uri.scheme); |
| // JUnitTestCase.assertFalse(PackageUriResolver.isPackageUri(uri)); |
| // } |
| // void test_resolve_canonical() { |
| // if (!FileUtilities2.isSymLinkSupported) { |
| // print("Skipping ${runtimeType.toString()} test_resolve_canonical"); |
| // return; |
| // } |
| // JavaFile lib1Dir = FileUtilities2.createTempDir("pkg1/lib").getCanonicalFile(); |
| // JavaFile otherDir = FileUtilities2.createTempDir("pkg1/other").getCanonicalFile(); |
| // JavaFile packagesDir = FileUtilities2.createTempDir("pkg1/packages").getCanonicalFile(); |
| // JavaFile lib2Dir = FileUtilities2.createTempDir("pkg2/lib").getCanonicalFile(); |
| // // Create symlink packages/pkg1 --> lib1 |
| // JavaFile pkg1Dir = new JavaFile.relative(packagesDir, "pkg1"); |
| // FileUtilities2.createSymLink(lib1Dir, pkg1Dir); |
| // // Create symlink packages/pkg1/other --> other |
| // FileUtilities2.createSymLink(otherDir, new JavaFile.relative(lib1Dir, "other")); |
| // // Create symlink packages/pkg2 --> lib2 |
| // JavaFile pkg2Dir = new JavaFile.relative(packagesDir, "pkg2"); |
| // FileUtilities2.createSymLink(lib2Dir, pkg2Dir); |
| // UriResolver resolver = new PackageUriResolver([packagesDir]); |
| // // Assert that package:pkg1 resolves to lib1 |
| // Source result = resolver.resolveAbsolute(parseUriWithException("package:pkg1")); |
| // JUnitTestCase.assertEquals(lib1Dir, new JavaFile(result.fullName)); |
| // JUnitTestCase.assertSame(UriKind.FILE_URI, result.uriKind); |
| // // Assert that package:pkg1/ resolves to lib1 |
| // result = resolver.resolveAbsolute(parseUriWithException("package:pkg1/")); |
| // JUnitTestCase.assertEquals(lib1Dir, new JavaFile(result.fullName)); |
| // JUnitTestCase.assertSame(UriKind.FILE_URI, result.uriKind); |
| // // Assert that package:pkg1/other resolves to lib1/other not other |
| // result = resolver.resolveAbsolute(parseUriWithException("package:pkg1/other")); |
| // JUnitTestCase.assertEquals(new JavaFile.relative(lib1Dir, "other"), new JavaFile(result.fullName)); |
| // JUnitTestCase.assertSame(UriKind.FILE_URI, result.uriKind); |
| // // Assert that package:pkg1/other/some.dart resolves to lib1/other/some.dart not other.dart |
| // // when some.dart does NOT exist |
| // JavaFile someDart = new JavaFile.relative(new JavaFile.relative(lib1Dir, "other"), "some.dart"); |
| // result = resolver.resolveAbsolute(parseUriWithException("package:pkg1/other/some.dart")); |
| // JUnitTestCase.assertEquals(someDart, new JavaFile(result.fullName)); |
| // // Assert that package:pkg1/other/some.dart resolves to lib1/other/some.dart not other.dart |
| // // when some.dart exists |
| // JUnitTestCase.assertTrue(new JavaFile.relative(otherDir, someDart.getName()).createNewFile()); |
| // JUnitTestCase.assertTrue(someDart.exists()); |
| // result = resolver.resolveAbsolute(parseUriWithException("package:pkg1/other/some.dart")); |
| // JUnitTestCase.assertEquals(someDart, new JavaFile(result.fullName)); |
| // // Assert that package:pkg2/ resolves to lib2 |
| // result = resolver.resolveAbsolute(parseUriWithException("package:pkg2/")); |
| // JUnitTestCase.assertEquals(lib2Dir, new JavaFile(result.fullName)); |
| // JUnitTestCase.assertSame(UriKind.PACKAGE_URI, result.uriKind); |
| // } |
| // void test_resolve_invalid() { |
| // JavaFile packagesDir = new JavaFile("packages"); |
| // UriResolver resolver = new PackageUriResolver([packagesDir]); |
| // // Invalid: URI |
| // try { |
| // parseUriWithException("package:"); |
| // JUnitTestCase.fail("Expected exception"); |
| // } on URISyntaxException catch (e) { |
| // } |
| // // Invalid: just slash |
| // Source result = resolver.resolveAbsolute(parseUriWithException("package:/")); |
| // JUnitTestCase.assertNull(result); |
| // // Invalid: leading slash... or should we gracefully degrade and ignore the leading slash? |
| // result = resolver.resolveAbsolute(parseUriWithException("package:/foo")); |
| // JUnitTestCase.assertNull(result); |
| // } |
| // void test_resolve_nonPackage() { |
| // JavaFile directory = FileUtilities2.createFile("/does/not/exist/packages"); |
| // UriResolver resolver = new PackageUriResolver([directory]); |
| // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core")); |
| // JUnitTestCase.assertNull(result); |
| // } |
| // void test_resolve_package() { |
| // JavaFile directory = FileUtilities2.createFile("/does/not/exist/packages"); |
| // UriResolver resolver = new PackageUriResolver([directory]); |
| // Source result = resolver.resolveAbsolute(parseUriWithException("package:third/party/library.dart")); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(FileUtilities2.createFile("/does/not/exist/packages/third/party/library.dart").getAbsoluteFile(), new JavaFile(result.fullName)); |
| // } |
| // void test_restore() { |
| // if (!FileUtilities2.isSymLinkSupported) { |
| // print("Skipping ${runtimeType.toString()} test_restore"); |
| // return; |
| // } |
| // JavaFile argsCanonicalDir = FileUtilities2.createTempDir("args").getCanonicalFile(); |
| // JavaFile packagesDir = FileUtilities2.createTempDir("packages"); |
| // // Create symlink packages/args --> args-canonical |
| // FileUtilities2.createSymLink(argsCanonicalDir, new JavaFile.relative(packagesDir, "args")); |
| // UriResolver resolver = new PackageUriResolver([packagesDir]); |
| // // args-canonical/args.dart --> packages:args/args.dart |
| // JavaFile someDart = new JavaFile.relative(argsCanonicalDir, "args.dart"); |
| // FileBasedSource source = new FileBasedSource.con1(someDart); |
| // JUnitTestCase.assertEquals(parseUriWithException("package:args/args.dart"), resolver.restoreAbsolute(source)); |
| // } |
| // @override |
| // void tearDown() { |
| // FileUtilities2.deleteTempDir(); |
| // } |
| // static dartSuite() { |
| // _ut.group('PackageUriResolverTest', () { |
| // _ut.test('test_absolute_vs_canonical', () { |
| // final __test = new PackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_absolute_vs_canonical); |
| // }); |
| // _ut.test('test_creation', () { |
| // final __test = new PackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_creation); |
| // }); |
| // _ut.test('test_isPackageUri_null_scheme', () { |
| // final __test = new PackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_isPackageUri_null_scheme); |
| // }); |
| // _ut.test('test_resolve_canonical', () { |
| // final __test = new PackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_canonical); |
| // }); |
| // _ut.test('test_resolve_invalid', () { |
| // final __test = new PackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_invalid); |
| // }); |
| // _ut.test('test_resolve_nonPackage', () { |
| // final __test = new PackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_nonPackage); |
| // }); |
| // _ut.test('test_resolve_package', () { |
| // final __test = new PackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_package); |
| // }); |
| // _ut.test('test_restore', () { |
| // final __test = new PackageUriResolverTest(); |
| // runJUnitTest(__test, __test.test_restore); |
| // }); |
| // }); |
| // } |
| // } |
| // class PolymerCompilationUnitBuilderTest extends PolymerTest { |
| // void test_badAnnotation_noArguments() { |
| // addTagDartSource(EngineTestCase.createSource([ |
| // "class MyAnnotation {}", |
| // "@MyAnnotation", |
| // "class MyElement {", |
| // "}", |
| // ""])); |
| // resolveTagDart(); |
| // JUnitTestCase.assertNull(tagDartElement); |
| // } |
| // void test_badAnnotation_notConstructor() { |
| // addTagDartSource(EngineTestCase.createSource(["@NoSuchAnnotation()", "class MyElement {", "}", ""])); |
| // resolveTagDart(); |
| // JUnitTestCase.assertNull(tagDartElement); |
| // } |
| // void test_customTag() { |
| // addTagDartSource(EngineTestCase.createSource([ |
| // "import 'polymer.dart';", |
| // "", |
| // "@CustomTag('my-element') // marker", |
| // "class MyElement {", |
| // "}", |
| // ""])); |
| // resolveTagDart(); |
| // JUnitTestCase.assertNotNull(tagDartElement); |
| // JUnitTestCase.assertEquals("my-element", tagDartElement.name); |
| // JUnitTestCase.assertEquals(findTagDartOffset("my-element') // marker"), tagDartElement.nameOffset); |
| // } |
| // static dartSuite() { |
| // _ut.group('PolymerCompilationUnitBuilderTest', () { |
| // _ut.test('test_badAnnotation_noArguments', () { |
| // final __test = new PolymerCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_badAnnotation_noArguments); |
| // }); |
| // _ut.test('test_badAnnotation_notConstructor', () { |
| // final __test = new PolymerCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_badAnnotation_notConstructor); |
| // }); |
| // _ut.test('test_customTag', () { |
| // final __test = new PolymerCompilationUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_customTag); |
| // }); |
| // }); |
| // } |
| // } |
| // /** |
| // * Test for [PolymerHtmlUnitBuilder]. |
| // */ |
| // class PolymerHtmlUnitBuilderTest extends PolymerTest { |
| // void test_buildTagHtmlElement_bad_script_noSuchCustomTag() { |
| // addTagDartSource(EngineTestCase.createSource([ |
| // "import 'polymer.dart';", |
| // "", |
| // "@CustomTag('other-name')", |
| // "class MyElement {", |
| // "}", |
| // ""])); |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element name='my-element'>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // " <script type='application/dart' src='my-element.dart'></script>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagDart(); |
| // resolveTagHtml(); |
| // // HTML part is resolved |
| // JUnitTestCase.assertNotNull(tagHtmlElement); |
| // // ...but no Dart part found |
| // JUnitTestCase.assertNull(tagHtmlElement.dartElement); |
| // } |
| // void test_buildTagHtmlElement_bad_script_notResolved() { |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element name='my-element'>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // " <script type='application/dart' src='no-such-file.dart'></script>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagHtml(); |
| // // HTML part is resolved |
| // JUnitTestCase.assertNotNull(tagHtmlElement); |
| // JUnitTestCase.assertNull(tagHtmlElement.dartElement); |
| // } |
| // void test_buildTagHtmlElement_error_AttributeFieldNotPublished() { |
| // addTagDartSource(EngineTestCase.createSource([ |
| // "import 'polymer.dart';", |
| // "", |
| // "const otherAnnotation = null;", |
| // "", |
| // "@CustomTag('my-element') // marker", |
| // "class MyElement {", |
| // " @otherAnnotation", |
| // " String attr;", |
| // "}", |
| // ""])); |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element name='my-element' attributes='attr'>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // " <script type='application/dart' src='my-element.dart'></script>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagDart(); |
| // resolveTagHtml(); |
| // assertNoErrorsTagDart(); |
| // assertErrors(tagHtmlSource, [PolymerCode.ATTRIBUTE_FIELD_NOT_PUBLISHED]); |
| // // Dart and HTML parts are resolved |
| // JUnitTestCase.assertNotNull(tagDartElement); |
| // JUnitTestCase.assertNotNull(tagHtmlElement); |
| // // attribute is still created |
| // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes; |
| // EngineTestCase.assertLength(1, attributes); |
| // { |
| // PolymerAttributeElement attribute = attributes[0]; |
| // JUnitTestCase.assertEquals("attr", attribute.name); |
| // JUnitTestCase.assertNotNull(attribute.field); |
| // } |
| // } |
| // void test_buildTagHtmlElement_error_DuplicateAttributeDefinition() { |
| // addTagDartSource(EngineTestCase.createSource([ |
| // "import 'polymer.dart';", |
| // "", |
| // "@CustomTag('my-element') // marker", |
| // "class MyElement {", |
| // " @published String attr;", |
| // "}", |
| // ""])); |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element name='my-element' attributes='attr attr'>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // " <script type='application/dart' src='my-element.dart'></script>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagDart(); |
| // resolveTagHtml(); |
| // assertNoErrorsTagDart(); |
| // assertErrors(tagHtmlSource, [PolymerCode.DUPLICATE_ATTRIBUTE_DEFINITION]); |
| // // Dart and HTML parts are resolved |
| // JUnitTestCase.assertNotNull(tagDartElement); |
| // JUnitTestCase.assertNotNull(tagHtmlElement); |
| // // attribute is still created |
| // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes; |
| // EngineTestCase.assertLength(1, attributes); |
| // { |
| // PolymerAttributeElement attribute = attributes[0]; |
| // JUnitTestCase.assertEquals("attr", attribute.name); |
| // JUnitTestCase.assertNotNull(attribute.field); |
| // } |
| // } |
| // void test_buildTagHtmlElement_error_EmptyAttributes() { |
| // addTagDartSource(EngineTestCase.createSource([ |
| // "import 'polymer.dart';", |
| // "", |
| // "@CustomTag('my-element') // marker", |
| // "class MyElement {", |
| // "}", |
| // ""])); |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element name='my-element' attributes=''>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // " <script type='application/dart' src='my-element.dart'></script>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagDart(); |
| // resolveTagHtml(); |
| // assertNoErrorsTagDart(); |
| // assertErrors(tagHtmlSource, [PolymerCode.EMPTY_ATTRIBUTES]); |
| // // Dart and HTML parts are resolved |
| // JUnitTestCase.assertNotNull(tagDartElement); |
| // JUnitTestCase.assertNotNull(tagHtmlElement); |
| // // no attributes |
| // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes; |
| // EngineTestCase.assertLength(0, attributes); |
| // } |
| // void test_buildTagHtmlElement_error_InvalidAttributeName() { |
| // addTagDartSource(EngineTestCase.createSource([ |
| // "import 'polymer.dart';", |
| // "", |
| // "@CustomTag('my-element') // marker", |
| // "class MyElement {", |
| // " @published String goodAttr;", |
| // "}", |
| // ""])); |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element name='my-element' attributes='1badAttr goodAttr'>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // " <script type='application/dart' src='my-element.dart'></script>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagDart(); |
| // resolveTagHtml(); |
| // assertNoErrorsTagDart(); |
| // assertErrors(tagHtmlSource, [PolymerCode.INVALID_ATTRIBUTE_NAME]); |
| // // Dart and HTML parts are resolved |
| // JUnitTestCase.assertNotNull(tagDartElement); |
| // JUnitTestCase.assertNotNull(tagHtmlElement); |
| // // one attribute is still created |
| // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes; |
| // EngineTestCase.assertLength(1, attributes); |
| // { |
| // PolymerAttributeElement attribute = attributes[0]; |
| // JUnitTestCase.assertEquals("goodAttr", attribute.name); |
| // } |
| // } |
| // void test_buildTagHtmlElement_error_InvalidTagName() { |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element name='invalid name'>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagHtml(); |
| // assertErrors(tagHtmlSource, [PolymerCode.INVALID_TAG_NAME]); |
| // JUnitTestCase.assertNull(tagHtmlElement); |
| // } |
| // void test_buildTagHtmlElement_error_InvalidTagName_noValue() { |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element name>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagHtml(); |
| // assertErrors(tagHtmlSource, [PolymerCode.INVALID_TAG_NAME]); |
| // JUnitTestCase.assertNull(tagHtmlElement); |
| // } |
| // void test_buildTagHtmlElement_error_MissingTagName() { |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagHtml(); |
| // assertErrors(tagHtmlSource, [PolymerCode.MISSING_TAG_NAME]); |
| // JUnitTestCase.assertNull(tagHtmlElement); |
| // } |
| // void test_buildTagHtmlElement_error_UndefinedAttributeField() { |
| // addTagDartSource(EngineTestCase.createSource([ |
| // "import 'polymer.dart';", |
| // "", |
| // "@CustomTag('my-element') // marker", |
| // "class MyElement {", |
| // "}", |
| // ""])); |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element name='my-element' attributes='attr'>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // " <script type='application/dart' src='my-element.dart'></script>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagDart(); |
| // resolveTagHtml(); |
| // assertNoErrorsTagDart(); |
| // assertErrors(tagHtmlSource, [PolymerCode.UNDEFINED_ATTRIBUTE_FIELD]); |
| // // Dart and HTML parts are resolved |
| // JUnitTestCase.assertNotNull(tagDartElement); |
| // JUnitTestCase.assertNotNull(tagHtmlElement); |
| // // attribute is still created |
| // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes; |
| // EngineTestCase.assertLength(1, attributes); |
| // { |
| // PolymerAttributeElement attribute = attributes[0]; |
| // JUnitTestCase.assertEquals("attr", attribute.name); |
| // JUnitTestCase.assertNull(attribute.field); |
| // } |
| // } |
| // void test_buildTagHtmlElement_OK() { |
| // addTagDartSource(EngineTestCase.createSource([ |
| // "import 'polymer.dart';", |
| // "", |
| // "@CustomTag('my-element') // marker", |
| // "class MyElement {", |
| // " @published String attrA;", |
| // " @published String attrB;", |
| // "}", |
| // ""])); |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element name='my-element' attributes='attrA attrB'>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // " <script type='application/dart' src='my-element.dart'></script>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagDart(); |
| // resolveTagHtml(); |
| // assertNoErrorsTag(); |
| // // Dart and HTML parts are resolved |
| // JUnitTestCase.assertNotNull(tagDartElement); |
| // JUnitTestCase.assertNotNull(tagHtmlElement); |
| // JUnitTestCase.assertEquals("my-element", tagDartElement.name); |
| // JUnitTestCase.assertEquals("my-element", tagHtmlElement.name); |
| // JUnitTestCase.assertEquals(findTagHtmlOffset("my-element' attributes="), tagHtmlElement.nameOffset); |
| // // Dart and HTML parts should point at each other |
| // JUnitTestCase.assertSame(tagDartElement, tagHtmlElement.dartElement); |
| // JUnitTestCase.assertSame(tagHtmlElement, tagDartElement.htmlElement); |
| // // check attributes |
| // List<PolymerAttributeElement> attributes = tagHtmlElement.attributes; |
| // EngineTestCase.assertLength(2, attributes); |
| // { |
| // PolymerAttributeElement attribute = attributes[0]; |
| // JUnitTestCase.assertEquals("attrA", attribute.name); |
| // JUnitTestCase.assertEquals(findTagHtmlOffset("attrA "), attribute.nameOffset); |
| // FieldElement field = attribute.field; |
| // JUnitTestCase.assertNotNull(field); |
| // JUnitTestCase.assertEquals("attrA", field.name); |
| // } |
| // { |
| // PolymerAttributeElement attribute = attributes[1]; |
| // JUnitTestCase.assertEquals("attrB", attribute.name); |
| // JUnitTestCase.assertEquals(findTagHtmlOffset("attrB'>"), attribute.nameOffset); |
| // FieldElement field = attribute.field; |
| // JUnitTestCase.assertNotNull(field); |
| // JUnitTestCase.assertEquals("attrB", field.name); |
| // } |
| // } |
| // void test_buildTagHtmlElement_OK_noScript() { |
| // addTagHtmlSource(EngineTestCase.createSource([ |
| // "<!DOCTYPE html>", |
| // "", |
| // "<polymer-element name='my-element'>", |
| // " <template>", |
| // " <div>Hello!</div>", |
| // " </template>", |
| // "</polymer-element>", |
| // ""])); |
| // resolveTagHtml(); |
| // assertNoErrorsTagHtml(); |
| // // HTML part is resolved |
| // JUnitTestCase.assertNotNull(tagHtmlElement); |
| // JUnitTestCase.assertNull(tagHtmlElement.dartElement); |
| // } |
| // void test_isValidAttributeName() { |
| // // empty |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName("")); |
| // // invalid first character |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName(" ")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName("-")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName("0")); |
| // // invalid character in the middle |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName("a&")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidAttributeName("a-b")); |
| // // OK |
| // JUnitTestCase.assertTrue(PolymerHtmlUnitBuilder.isValidAttributeName("a")); |
| // JUnitTestCase.assertTrue(PolymerHtmlUnitBuilder.isValidAttributeName("bb")); |
| // } |
| // void test_isValidTagName() { |
| // // empty |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("")); |
| // // invalid first character |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName(" ")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("-")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("0")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("&")); |
| // // invalid character in the middle |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("a&")); |
| // // no '-' |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("a")); |
| // // forbidden names |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("annotation-xml")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("color-profile")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("font-face")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("font-face-src")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("font-face-uri")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("font-face-format")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("font-face-name")); |
| // JUnitTestCase.assertFalse(PolymerHtmlUnitBuilder.isValidTagName("missing-glyph")); |
| // // OK |
| // JUnitTestCase.assertTrue(PolymerHtmlUnitBuilder.isValidTagName("a-b")); |
| // JUnitTestCase.assertTrue(PolymerHtmlUnitBuilder.isValidTagName("a-b-c")); |
| // JUnitTestCase.assertTrue(PolymerHtmlUnitBuilder.isValidTagName("aaa-bbb")); |
| // } |
| // static dartSuite() { |
| // _ut.group('PolymerHtmlUnitBuilderTest', () { |
| // _ut.test('test_buildTagHtmlElement_OK', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_OK); |
| // }); |
| // _ut.test('test_buildTagHtmlElement_OK_noScript', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_OK_noScript); |
| // }); |
| // _ut.test('test_buildTagHtmlElement_bad_script_noSuchCustomTag', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_bad_script_noSuchCustomTag); |
| // }); |
| // _ut.test('test_buildTagHtmlElement_bad_script_notResolved', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_bad_script_notResolved); |
| // }); |
| // _ut.test('test_buildTagHtmlElement_error_AttributeFieldNotPublished', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_AttributeFieldNotPublished); |
| // }); |
| // _ut.test('test_buildTagHtmlElement_error_DuplicateAttributeDefinition', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_DuplicateAttributeDefinition); |
| // }); |
| // _ut.test('test_buildTagHtmlElement_error_EmptyAttributes', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_EmptyAttributes); |
| // }); |
| // _ut.test('test_buildTagHtmlElement_error_InvalidAttributeName', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_InvalidAttributeName); |
| // }); |
| // _ut.test('test_buildTagHtmlElement_error_InvalidTagName', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_InvalidTagName); |
| // }); |
| // _ut.test('test_buildTagHtmlElement_error_InvalidTagName_noValue', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_InvalidTagName_noValue); |
| // }); |
| // _ut.test('test_buildTagHtmlElement_error_MissingTagName', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_MissingTagName); |
| // }); |
| // _ut.test('test_buildTagHtmlElement_error_UndefinedAttributeField', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_buildTagHtmlElement_error_UndefinedAttributeField); |
| // }); |
| // _ut.test('test_isValidAttributeName', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_isValidAttributeName); |
| // }); |
| // _ut.test('test_isValidTagName', () { |
| // final __test = new PolymerHtmlUnitBuilderTest(); |
| // runJUnitTest(__test, __test.test_isValidTagName); |
| // }); |
| // }); |
| // } |
| // } |
| // abstract class PolymerTest extends EngineTestCase { |
| // /** |
| // * @return the offset of given <code>search</code> string in <code>contents</code>. Fails test if |
| // * not found. |
| // */ |
| // static int findOffset(String contents, String search) { |
| // int offset = contents.indexOf(search); |
| // assertThat(offset).describedAs(contents).isNotEqualTo(-1); |
| // return offset; |
| // } |
| // AnalysisContextHelper contextHelper = new AnalysisContextHelper(); |
| // AnalysisContext context; |
| // Source tagDartSource; |
| // String tagDartContents; |
| // Source tagHtmlSource; |
| // String tagHtmlContents; |
| // CompilationUnitElement tagDartUnitElement; |
| // HtmlElement tagHtmlUnitElement; |
| // PolymerTagDartElement tagDartElement; |
| // PolymerTagHtmlElement tagHtmlElement; |
| // void addTagDartSource(String contents) { |
| // tagDartContents = contents; |
| // tagDartSource = contextHelper.addSource("/my-element.dart", contents); |
| // } |
| // void addTagHtmlSource(String contents) { |
| // tagHtmlContents = contents; |
| // tagHtmlSource = contextHelper.addSource("/my-element.html", contents); |
| // } |
| // /** |
| // * Assert that the number of errors reported against the given source matches the number of errors |
| // * that are given and that they have the expected error codes. The order in which the errors were |
| // * gathered is ignored. |
| // * |
| // * @param source the source against which the errors should have been reported |
| // * @param expectedErrorCodes the error codes of the errors that should have been reported |
| // * @throws AnalysisException if the reported errors could not be computed |
| // * @throws AssertionFailedError if a different number of errors have been reported than were |
| // * expected |
| // */ |
| // void assertErrors(Source source, List<ErrorCode> expectedErrorCodes) { |
| // GatheringErrorListener errorListener = new GatheringErrorListener(); |
| // AnalysisErrorInfo errorsInfo = context.getErrors(source); |
| // for (AnalysisError error in errorsInfo.errors) { |
| // errorListener.onError(error); |
| // } |
| // errorListener.assertErrorsWithCodes(expectedErrorCodes); |
| // } |
| // void assertNoErrorsTag() { |
| // assertNoErrorsTagDart(); |
| // assertNoErrorsTagHtml(); |
| // } |
| // void assertNoErrorsTagDart() { |
| // assertErrors(tagDartSource, []); |
| // } |
| // void assertNoErrorsTagHtml() { |
| // assertErrors(tagHtmlSource, []); |
| // } |
| // /** |
| // * @return the offset of given <code>search</code> string in [tagDartContents]. Fails test |
| // * if not found. |
| // */ |
| // int findTagDartOffset(String search) => findOffset(tagDartContents, search); |
| // /** |
| // * @return the offset of given <code>search</code> string in [tagHtmlContents]. Fails test |
| // * if not found. |
| // */ |
| // int findTagHtmlOffset(String search) => findOffset(tagHtmlContents, search); |
| // void resolveTagDart() { |
| // contextHelper.runTasks(); |
| // tagDartUnitElement = contextHelper.getDefiningUnitElement(tagDartSource); |
| // // try to find a PolymerTagDartElement |
| // for (ClassElement classElement in tagDartUnitElement.types) { |
| // for (ToolkitObjectElement toolkitObject in classElement.toolkitObjects) { |
| // if (toolkitObject is PolymerTagDartElement) { |
| // tagDartElement = toolkitObject as PolymerTagDartElement; |
| // } |
| // } |
| // } |
| // } |
| // void resolveTagHtml() { |
| // contextHelper.runTasks(); |
| // tagHtmlUnitElement = context.getHtmlElement(tagHtmlSource); |
| // // try to find a PolymerTagHtmlElement |
| // List<PolymerTagHtmlElement> polymerTags = tagHtmlUnitElement.polymerTags; |
| // if (polymerTags.length != 0) { |
| // tagHtmlElement = polymerTags[0]; |
| // } |
| // } |
| // @override |
| // void setUp() { |
| // super.setUp(); |
| // _configureForPolymer(contextHelper); |
| // context = contextHelper.context; |
| // } |
| // @override |
| // void tearDown() { |
| // contextHelper = null; |
| // context = null; |
| // tagDartSource = null; |
| // tagDartContents = null; |
| // tagHtmlSource = null; |
| // tagHtmlContents = null; |
| // tagDartUnitElement = null; |
| // tagHtmlUnitElement = null; |
| // tagDartElement = null; |
| // tagHtmlElement = null; |
| // super.tearDown(); |
| // } |
| // void _configureForPolymer(AnalysisContextHelper contextHelper) { |
| // contextHelper.addSource("/polymer.dart", EngineTestCase.createSource([ |
| // "library polymer;", |
| // "", |
| // "class CustomTag {", |
| // " final String tagName;", |
| // " const CustomTag(this.tagName);", |
| // "}", |
| // "", |
| // "class ObservableProperty {", |
| // " const ObservableProperty();", |
| // "}", |
| // "const ObservableProperty observable = const ObservableProperty();", |
| // "", |
| // "class PublishedProperty extends ObservableProperty {", |
| // " const PublishedProperty();", |
| // "}", |
| // "const published = const PublishedProperty();", |
| // ""])); |
| // } |
| // } |
| // class ReferenceFinderTest extends EngineTestCase { |
| // DirectedGraph<AstNode> _referenceGraph; |
| // HashMap<VariableElement, VariableDeclaration> _variableDeclarationMap; |
| // HashMap<ConstructorElement, ConstructorDeclaration> _constructorDeclarationMap; |
| // VariableDeclaration _head; |
| // AstNode _tail; |
| // void test_visitInstanceCreationExpression_const() { |
| // _visitNode(_makeTailConstructor("A", true, true, true)); |
| // _assertOneArc(_tail); |
| // } |
| // void test_visitInstanceCreationExpression_nonConstDeclaration() { |
| // // In the source: |
| // // const x = const A(); |
| // // x depends on "const A()" even if the A constructor isn't declared as const. |
| // _visitNode(_makeTailConstructor("A", false, true, true)); |
| // _assertOneArc(_tail); |
| // } |
| // void test_visitInstanceCreationExpression_nonConstUsage() { |
| // _visitNode(_makeTailConstructor("A", true, false, true)); |
| // _assertNoArcs(); |
| // } |
| // void test_visitInstanceCreationExpression_notInMap() { |
| // // In the source: |
| // // const x = const A(); |
| // // x depends on "const A()" even if the AST for the A constructor isn't available. |
| // _visitNode(_makeTailConstructor("A", true, true, false)); |
| // _assertOneArc(_tail); |
| // } |
| // void test_visitSimpleIdentifier_const() { |
| // _visitNode(_makeTailVariable("v2", true, true)); |
| // _assertOneArc(_tail); |
| // } |
| // void test_visitSimpleIdentifier_nonConst() { |
| // _visitNode(_makeTailVariable("v2", false, true)); |
| // _assertNoArcs(); |
| // } |
| // void test_visitSimpleIdentifier_notInMap() { |
| // _visitNode(_makeTailVariable("v2", true, false)); |
| // _assertNoArcs(); |
| // } |
| // void test_visitSuperConstructorInvocation_const() { |
| // _visitNode(_makeTailSuperConstructorInvocation("A", true, true)); |
| // _assertOneArc(_tail); |
| // } |
| // void test_visitSuperConstructorInvocation_nonConst() { |
| // _visitNode(_makeTailSuperConstructorInvocation("A", false, true)); |
| // _assertNoArcs(); |
| // } |
| // void test_visitSuperConstructorInvocation_notInMap() { |
| // _visitNode(_makeTailSuperConstructorInvocation("A", true, false)); |
| // _assertNoArcs(); |
| // } |
| // void test_visitSuperConstructorInvocation_unresolved() { |
| // SuperConstructorInvocation superConstructorInvocation = AstFactory.superConstructorInvocation([]); |
| // _tail = superConstructorInvocation; |
| // _visitNode(superConstructorInvocation); |
| // _assertNoArcs(); |
| // } |
| // @override |
| // void setUp() { |
| // _referenceGraph = new DirectedGraph<AstNode>(); |
| // _variableDeclarationMap = new HashMap<VariableElement, VariableDeclaration>(); |
| // _constructorDeclarationMap = new HashMap<ConstructorElement, ConstructorDeclaration>(); |
| // _head = AstFactory.variableDeclaration("v1"); |
| // } |
| // void _assertNoArcs() { |
| // Set<AstNode> tails = _referenceGraph.getTails(_head); |
| // EngineTestCase.assertSizeOfSet(0, tails); |
| // } |
| // void _assertOneArc(AstNode tail) { |
| // Set<AstNode> tails = _referenceGraph.getTails(_head); |
| // EngineTestCase.assertSizeOfSet(1, tails); |
| // JUnitTestCase.assertSame(tail, new JavaIterator(tails).next()); |
| // } |
| // ReferenceFinder _createReferenceFinder(AstNode source) => new ReferenceFinder(source, _referenceGraph, _variableDeclarationMap, _constructorDeclarationMap); |
| // InstanceCreationExpression _makeTailConstructor(String name, bool isConstDeclaration, bool isConstUsage, bool inMap) { |
| // List<ConstructorInitializer> initializers = new List<ConstructorInitializer>(); |
| // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDeclaration(AstFactory.identifier3(name), null, AstFactory.formalParameterList([]), initializers); |
| // if (isConstDeclaration) { |
| // constructorDeclaration.constKeyword = new KeywordToken(Keyword.CONST, 0); |
| // } |
| // ClassElementImpl classElement = ElementFactory.classElement2(name, []); |
| // SimpleIdentifier identifier = AstFactory.identifier3(name); |
| // TypeName type = AstFactory.typeName3(identifier, []); |
| // InstanceCreationExpression instanceCreationExpression = AstFactory.instanceCreationExpression2(isConstUsage ? Keyword.CONST : Keyword.NEW, type, []); |
| // _tail = instanceCreationExpression; |
| // ConstructorElementImpl constructorElement = ElementFactory.constructorElement(classElement, name, isConstDeclaration, []); |
| // if (inMap) { |
| // _constructorDeclarationMap[constructorElement] = constructorDeclaration; |
| // } |
| // instanceCreationExpression.staticElement = constructorElement; |
| // return instanceCreationExpression; |
| // } |
| // SuperConstructorInvocation _makeTailSuperConstructorInvocation(String name, bool isConst, bool inMap) { |
| // List<ConstructorInitializer> initializers = new List<ConstructorInitializer>(); |
| // ConstructorDeclaration constructorDeclaration = AstFactory.constructorDeclaration(AstFactory.identifier3(name), null, AstFactory.formalParameterList([]), initializers); |
| // _tail = constructorDeclaration; |
| // if (isConst) { |
| // constructorDeclaration.constKeyword = new KeywordToken(Keyword.CONST, 0); |
| // } |
| // ClassElementImpl classElement = ElementFactory.classElement2(name, []); |
| // SuperConstructorInvocation superConstructorInvocation = AstFactory.superConstructorInvocation([]); |
| // ConstructorElementImpl constructorElement = ElementFactory.constructorElement(classElement, name, isConst, []); |
| // if (inMap) { |
| // _constructorDeclarationMap[constructorElement] = constructorDeclaration; |
| // } |
| // superConstructorInvocation.staticElement = constructorElement; |
| // return superConstructorInvocation; |
| // } |
| // SimpleIdentifier _makeTailVariable(String name, bool isConst, bool inMap) { |
| // VariableDeclaration variableDeclaration = AstFactory.variableDeclaration(name); |
| // _tail = variableDeclaration; |
| // VariableElementImpl variableElement = ElementFactory.localVariableElement2(name); |
| // variableElement.const3 = isConst; |
| // AstFactory.variableDeclarationList2(isConst ? Keyword.CONST : Keyword.VAR, [variableDeclaration]); |
| // if (inMap) { |
| // _variableDeclarationMap[variableElement] = variableDeclaration; |
| // } |
| // SimpleIdentifier identifier = AstFactory.identifier3(name); |
| // identifier.staticElement = variableElement; |
| // return identifier; |
| // } |
| // void _visitNode(AstNode node) { |
| // node.accept(_createReferenceFinder(_head)); |
| // } |
| // static dartSuite() { |
| // _ut.group('ReferenceFinderTest', () { |
| // _ut.test('test_visitInstanceCreationExpression_const', () { |
| // final __test = new ReferenceFinderTest(); |
| // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_const); |
| // }); |
| // _ut.test('test_visitInstanceCreationExpression_nonConstDeclaration', () { |
| // final __test = new ReferenceFinderTest(); |
| // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_nonConstDeclaration); |
| // }); |
| // _ut.test('test_visitInstanceCreationExpression_nonConstUsage', () { |
| // final __test = new ReferenceFinderTest(); |
| // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_nonConstUsage); |
| // }); |
| // _ut.test('test_visitInstanceCreationExpression_notInMap', () { |
| // final __test = new ReferenceFinderTest(); |
| // runJUnitTest(__test, __test.test_visitInstanceCreationExpression_notInMap); |
| // }); |
| // _ut.test('test_visitSimpleIdentifier_const', () { |
| // final __test = new ReferenceFinderTest(); |
| // runJUnitTest(__test, __test.test_visitSimpleIdentifier_const); |
| // }); |
| // _ut.test('test_visitSimpleIdentifier_nonConst', () { |
| // final __test = new ReferenceFinderTest(); |
| // runJUnitTest(__test, __test.test_visitSimpleIdentifier_nonConst); |
| // }); |
| // _ut.test('test_visitSimpleIdentifier_notInMap', () { |
| // final __test = new ReferenceFinderTest(); |
| // runJUnitTest(__test, __test.test_visitSimpleIdentifier_notInMap); |
| // }); |
| // _ut.test('test_visitSuperConstructorInvocation_const', () { |
| // final __test = new ReferenceFinderTest(); |
| // runJUnitTest(__test, __test.test_visitSuperConstructorInvocation_const); |
| // }); |
| // _ut.test('test_visitSuperConstructorInvocation_nonConst', () { |
| // final __test = new ReferenceFinderTest(); |
| // runJUnitTest(__test, __test.test_visitSuperConstructorInvocation_nonConst); |
| // }); |
| // _ut.test('test_visitSuperConstructorInvocation_notInMap', () { |
| // final __test = new ReferenceFinderTest(); |
| // runJUnitTest(__test, __test.test_visitSuperConstructorInvocation_notInMap); |
| // }); |
| // _ut.test('test_visitSuperConstructorInvocation_unresolved', () { |
| // final __test = new ReferenceFinderTest(); |
| // runJUnitTest(__test, __test.test_visitSuperConstructorInvocation_unresolved); |
| // }); |
| // }); |
| // } |
| // } |
| // class RelativeFileResolverTest extends JUnitTestCase { |
| // void test_creation() { |
| // JavaFile root = FileUtilities2.createFile("/does/not/exist"); |
| // JavaFile directory = FileUtilities2.createFile("/does/not/exist/relative"); |
| // JUnitTestCase.assertNotNull(new RelativeFileUriResolver(root, [directory])); |
| // } |
| // void test_resolve_file() { |
| // JavaFile root = FileUtilities2.createTempDir("/does/not/exist"); |
| // JavaFile directory = FileUtilities2.createTempDir("/does/not/exist/relative"); |
| // JavaFile testFile = new JavaFile.relative(directory, "exist.dart"); |
| // testFile.createNewFile(); |
| // Uri uri = new Uri("file", null, "${root.toURI().path}${JavaFile.separator}exist.dart", null, null); |
| // UriResolver resolver = new RelativeFileUriResolver(root, [directory]); |
| // Source result = resolver.resolveAbsolute(uri); |
| // JUnitTestCase.assertNotNull(result); |
| // JUnitTestCase.assertEquals(testFile.getAbsolutePath(), result.fullName); |
| // } |
| // void test_resolve_nonFile() { |
| // JavaFile root = FileUtilities2.createFile("/does/not/exist"); |
| // JavaFile directory = FileUtilities2.createFile("/does/not/exist/relative"); |
| // UriResolver resolver = new RelativeFileUriResolver(root, [directory]); |
| // Source result = resolver.resolveAbsolute(parseUriWithException("dart:core")); |
| // JUnitTestCase.assertNull(result); |
| // } |
| // @override |
| // void tearDown() { |
| // FileUtilities2.deleteTempDir(); |
| // } |
| // static dartSuite() { |
| // _ut.group('RelativeFileResolverTest', () { |
| // _ut.test('test_creation', () { |
| // final __test = new RelativeFileResolverTest(); |
| // runJUnitTest(__test, __test.test_creation); |
| // }); |
| // _ut.test('test_resolve_file', () { |
| // final __test = new RelativeFileResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_file); |
| // }); |
| // _ut.test('test_resolve_nonFile', () { |
| // final __test = new RelativeFileResolverTest(); |
| // runJUnitTest(__test, __test.test_resolve_nonFile); |
| // }); |
| // }); |
| // } |
| // } |
| // class SDKLibrariesReaderTest extends EngineTestCase { |
| // void test_readFrom_dart2js() { |
| // LibraryMap libraryMap = new SdkLibrariesReader(true).readFromFile(FileUtilities2.createFile("/libs.dart"), EngineTestCase.createSource([ |
| // "final Map<String, LibraryInfo> LIBRARIES = const <String, LibraryInfo> {", |
| // " 'first' : const LibraryInfo(", |
| // " 'first/first.dart',", |
| // " category: 'First',", |
| // " documented: true,", |
| // " platforms: VM_PLATFORM,", |
| // " dart2jsPath: 'first/first_dart2js.dart'),", |
| // "};"])); |
| // JUnitTestCase.assertNotNull(libraryMap); |
| // JUnitTestCase.assertEquals(1, libraryMap.size()); |
| // SdkLibrary first = libraryMap.getLibrary("dart:first"); |
| // JUnitTestCase.assertNotNull(first); |
| // JUnitTestCase.assertEquals("First", first.category); |
| // JUnitTestCase.assertEquals("first/first_dart2js.dart", first.path); |
| // JUnitTestCase.assertEquals("dart:first", first.shortName); |
| // JUnitTestCase.assertEquals(false, first.isDart2JsLibrary); |
| // JUnitTestCase.assertEquals(true, first.isDocumented); |
| // JUnitTestCase.assertEquals(false, first.isImplementation); |
| // JUnitTestCase.assertEquals(true, first.isVmLibrary); |
| // } |
| // void test_readFrom_empty() { |
| // LibraryMap libraryMap = new SdkLibrariesReader(false).readFromFile(FileUtilities2.createFile("/libs.dart"), ""); |
| // JUnitTestCase.assertNotNull(libraryMap); |
| // JUnitTestCase.assertEquals(0, libraryMap.size()); |
| // } |
| // void test_readFrom_normal() { |
| // LibraryMap libraryMap = new SdkLibrariesReader(false).readFromFile(FileUtilities2.createFile("/libs.dart"), EngineTestCase.createSource([ |
| // "final Map<String, LibraryInfo> LIBRARIES = const <String, LibraryInfo> {", |
| // " 'first' : const LibraryInfo(", |
| // " 'first/first.dart',", |
| // " category: 'First',", |
| // " documented: true,", |
| // " platforms: VM_PLATFORM),", |
| // "", |
| // " 'second' : const LibraryInfo(", |
| // " 'second/second.dart',", |
| // " category: 'Second',", |
| // " documented: false,", |
| // " implementation: true,", |
| // " platforms: 0),", |
| // "};"])); |
| // JUnitTestCase.assertNotNull(libraryMap); |
| // JUnitTestCase.assertEquals(2, libraryMap.size()); |
| // SdkLibrary first = libraryMap.getLibrary("dart:first"); |
| // JUnitTestCase.assertNotNull(first); |
| // JUnitTestCase.assertEquals("First", first.category); |
| // JUnitTestCase.assertEquals("first/first.dart", first.path); |
| // JUnitTestCase.assertEquals("dart:first", first.shortName); |
| // JUnitTestCase.assertEquals(false, first.isDart2JsLibrary); |
| // JUnitTestCase.assertEquals(true, first.isDocumented); |
| // JUnitTestCase.assertEquals(false, first.isImplementation); |
| // JUnitTestCase.assertEquals(true, first.isVmLibrary); |
| // SdkLibrary second = libraryMap.getLibrary("dart:second"); |
| // JUnitTestCase.assertNotNull(second); |
| // JUnitTestCase.assertEquals("Second", second.category); |
| // JUnitTestCase.assertEquals("second/second.dart", second.path); |
| // JUnitTestCase.assertEquals("dart:second", second.shortName); |
| // JUnitTestCase.assertEquals(false, second.isDart2JsLibrary); |
| // JUnitTestCase.assertEquals(false, second.isDocumented); |
| // JUnitTestCase.assertEquals(true, second.isImplementation); |
| // JUnitTestCase.assertEquals(false, second.isVmLibrary); |
| // } |
| // static dartSuite() { |
| // _ut.group('SDKLibrariesReaderTest', () { |
| // _ut.test('test_readFrom_dart2js', () { |
| // final __test = new SDKLibrariesReaderTest(); |
| // runJUnitTest(__test, __test.test_readFrom_dart2js); |
| // }); |
| // _ut.test('test_readFrom_empty', () { |
| // final __test = new SDKLibrariesReaderTest(); |
| // runJUnitTest(__test, __test.test_readFrom_empty); |
| // }); |
| // _ut.test('test_readFrom_normal', () { |
| // final __test = new SDKLibrariesReaderTest(); |
| // runJUnitTest(__test, __test.test_readFrom_normal); |
| // }); |
| // }); |
| // } |
| // } |
| // class SourceFactoryTest extends JUnitTestCase { |
| // void test_creation() { |
| // JUnitTestCase.assertNotNull(new SourceFactory([])); |
| // } |
| // void test_fromEncoding_invalidUri() { |
| // SourceFactory factory = new SourceFactory([]); |
| // try { |
| // factory.fromEncoding("<:&%>"); |
| // JUnitTestCase.fail("Expected IllegalArgumentException"); |
| // } on IllegalArgumentException catch (exception) { |
| // } |
| // } |
| // void test_fromEncoding_noResolver() { |
| // SourceFactory factory = new SourceFactory([]); |
| // try { |
| // factory.fromEncoding("foo:/does/not/exist.dart"); |
| // JUnitTestCase.fail("Expected IllegalArgumentException"); |
| // } on IllegalArgumentException catch (exception) { |
| // } |
| // } |
| // void test_fromEncoding_valid() { |
| // String encoding = "file:/does/not/exist.dart"; |
| // SourceFactory factory = new SourceFactory([new UriResolver_SourceFactoryTest_test_fromEncoding_valid(encoding)]); |
| // JUnitTestCase.assertNotNull(factory.fromEncoding(encoding)); |
| // } |
| // void test_resolveUri_absolute() { |
| // List<bool> invoked = [false]; |
| // SourceFactory factory = new SourceFactory([new UriResolver_SourceFactoryTest_test_resolveUri_absolute(invoked)]); |
| // factory.resolveUri(null, "dart:core"); |
| // JUnitTestCase.assertTrue(invoked[0]); |
| // } |
| // void test_resolveUri_nonAbsolute_absolute() { |
| // SourceFactory factory = new SourceFactory([new UriResolver_SourceFactoryTest_test_resolveUri_nonAbsolute_absolute()]); |
| // String absolutePath = "/does/not/matter.dart"; |
| // Source containingSource = new FileBasedSource.con1(FileUtilities2.createFile("/does/not/exist.dart")); |
| // Source result = factory.resolveUri(containingSource, absolutePath); |
| // JUnitTestCase.assertEquals(FileUtilities2.createFile(absolutePath).getAbsolutePath(), result.fullName); |
| // } |
| // void test_resolveUri_nonAbsolute_relative() { |
| // SourceFactory factory = new SourceFactory([new UriResolver_SourceFactoryTest_test_resolveUri_nonAbsolute_relative()]); |
| // Source containingSource = new FileBasedSource.con1(FileUtilities2.createFile("/does/not/have.dart")); |
| // Source result = factory.resolveUri(containingSource, "exist.dart"); |
| // JUnitTestCase.assertEquals(FileUtilities2.createFile("/does/not/exist.dart").getAbsolutePath(), result.fullName); |
| // } |
| // void test_restoreUri() { |
| // JavaFile file1 = FileUtilities2.createFile("/some/file1.dart"); |
| // JavaFile file2 = FileUtilities2.createFile("/some/file2.dart"); |
| // Source source1 = new FileBasedSource.con1(file1); |
| // Source source2 = new FileBasedSource.con1(file2); |
| // Uri expected1 = parseUriWithException("http://www.google.com"); |
| // SourceFactory factory = new SourceFactory([new UriResolver_SourceFactoryTest_test_restoreUri(source1, expected1)]); |
| // JUnitTestCase.assertSame(expected1, factory.restoreUri(source1)); |
| // JUnitTestCase.assertSame(null, factory.restoreUri(source2)); |
| // } |
| // static dartSuite() { |
| // _ut.group('SourceFactoryTest', () { |
| // _ut.test('test_creation', () { |
| // final __test = new SourceFactoryTest(); |
| // runJUnitTest(__test, __test.test_creation); |
| // }); |
| // _ut.test('test_fromEncoding_invalidUri', () { |
| // final __test = new SourceFactoryTest(); |
| // runJUnitTest(__test, __test.test_fromEncoding_invalidUri); |
| // }); |
| // _ut.test('test_fromEncoding_noResolver', () { |
| // final __test = new SourceFactoryTest(); |
| // runJUnitTest(__test, __test.test_fromEncoding_noResolver); |
| // }); |
| // _ut.test('test_fromEncoding_valid', () { |
| // final __test = new SourceFactoryTest(); |
| // runJUnitTest(__test, __test.test_fromEncoding_valid); |
| // }); |
| // _ut.test('test_resolveUri_absolute', () { |
| // final __test = new SourceFactoryTest(); |
| // runJUnitTest(__test, __test.test_resolveUri_absolute); |
| // }); |
| // _ut.test('test_resolveUri_nonAbsolute_absolute', () { |
| // final __test = new SourceFactoryTest(); |
| // runJUnitTest(__test, __test.test_resolveUri_nonAbsolute_absolute); |
| // }); |
| // _ut.test('test_resolveUri_nonAbsolute_relative', () { |
| // final __test = new SourceFactoryTest(); |
| // runJUnitTest(__test, __test.test_resolveUri_nonAbsolute_relative); |
| // }); |
| // _ut.test('test_restoreUri', () { |
| // final __test = new SourceFactoryTest(); |
| // runJUnitTest(__test, __test.test_restoreUri); |
| // }); |
| // }); |
| // } |
| // } |
| // class StringScannerTest extends AbstractScannerTest { |
| // @override |
| // AbstractScanner newScanner(String input) => new StringScanner(null, input); |
| // static dartSuite() { |
| // _ut.group('StringScannerTest', () { |
| // _ut.test('test_tokenize_attribute', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_attribute); |
| // }); |
| // _ut.test('test_tokenize_comment', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_comment); |
| // }); |
| // _ut.test('test_tokenize_comment_incomplete', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_comment_incomplete); |
| // }); |
| // _ut.test('test_tokenize_comment_with_gt', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_comment_with_gt); |
| // }); |
| // _ut.test('test_tokenize_declaration', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_declaration); |
| // }); |
| // _ut.test('test_tokenize_declaration_malformed', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_declaration_malformed); |
| // }); |
| // _ut.test('test_tokenize_directive_incomplete', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_directive_incomplete); |
| // }); |
| // _ut.test('test_tokenize_directive_xml', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_directive_xml); |
| // }); |
| // _ut.test('test_tokenize_directives_incomplete_with_newline', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_directives_incomplete_with_newline); |
| // }); |
| // _ut.test('test_tokenize_empty', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_empty); |
| // }); |
| // _ut.test('test_tokenize_lt', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_lt); |
| // }); |
| // _ut.test('test_tokenize_script_embedded_tags', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_script_embedded_tags); |
| // }); |
| // _ut.test('test_tokenize_script_embedded_tags2', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_script_embedded_tags2); |
| // }); |
| // _ut.test('test_tokenize_script_embedded_tags3', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_script_embedded_tags3); |
| // }); |
| // _ut.test('test_tokenize_script_partial', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_script_partial); |
| // }); |
| // _ut.test('test_tokenize_script_partial2', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_script_partial2); |
| // }); |
| // _ut.test('test_tokenize_script_partial3', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_script_partial3); |
| // }); |
| // _ut.test('test_tokenize_script_ref', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_script_ref); |
| // }); |
| // _ut.test('test_tokenize_script_with_newline', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_script_with_newline); |
| // }); |
| // _ut.test('test_tokenize_spaces_and_newlines', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_spaces_and_newlines); |
| // }); |
| // _ut.test('test_tokenize_string', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_string); |
| // }); |
| // _ut.test('test_tokenize_string_partial', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_string_partial); |
| // }); |
| // _ut.test('test_tokenize_string_single_quote', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_string_single_quote); |
| // }); |
| // _ut.test('test_tokenize_string_single_quote_partial', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_string_single_quote_partial); |
| // }); |
| // _ut.test('test_tokenize_tag_begin_end', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_tag_begin_end); |
| // }); |
| // _ut.test('test_tokenize_tag_begin_only', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_tag_begin_only); |
| // }); |
| // _ut.test('test_tokenize_tag_incomplete_with_special_characters', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_tag_incomplete_with_special_characters); |
| // }); |
| // _ut.test('test_tokenize_tag_self_contained', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_tag_self_contained); |
| // }); |
| // _ut.test('test_tokenize_tags_wellformed', () { |
| // final __test = new StringScannerTest(); |
| // runJUnitTest(__test, __test.test_tokenize_tags_wellformed); |
| // }); |
| // }); |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ClassDeclarationTest); |
| // suite.addTestSuite(ClassTypeAliasTest); |
| // suite.addTestSuite(IndexExpressionTest); |
| // suite.addTestSuite(NodeListTest); |
| // suite.addTestSuite(SimpleIdentifierTest); |
| // suite.addTestSuite(SimpleStringLiteralTest); |
| // suite.addTestSuite(VariableDeclarationTest); |
| // suite.addTest(com.google.dart.engine.ast.visitor.TestAll.suite()); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ConstantEvaluatorTest); |
| // suite.addTestSuite(ElementLocatorTest); |
| // suite.addTestSuite(NodeLocatorTest); |
| // suite.addTestSuite(ToSourceVisitorTest); |
| // suite.addTestSuite(BreadthFirstVisitorTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ConstantEvaluatorTest); |
| // suite.addTestSuite(DeclaredVariablesTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(AnalysisDeltaTest); |
| // suite.addTestSuite(ChangeSetTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ElementKindTest); |
| // suite.addTest(com.google.dart.engine.element.angular.TestAll.suite()); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(AngularPropertyKindTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ErrorSeverityTest); |
| // suite.addTestSuite(TodoCodeTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTest(com.google.dart.engine.html.ast.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.html.parser.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.html.scanner.TestAll.suite()); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTest(com.google.dart.engine.html.ast.visitor.TestAll.suite()); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ToSourceVisitorTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(HtmlParserTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(StringScannerTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTest(com.google.dart.engine.internal.builder.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.cache.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.constant.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.context.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.element.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.error.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.hint.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.html.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.index.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.object.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.resolver.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.scope.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.sdk.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.search.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.task.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.type.TestAll.suite()); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(AngularCompilationUnitBuilderTest); |
| // suite.addTestSuite(ElementBuilderTest); |
| // suite.addTestSuite(EnumMemberBuilderTest); |
| // suite.addTestSuite(HtmlUnitBuilderTest); |
| // suite.addTestSuite(HtmlWarningCodeTest); |
| // suite.addTestSuite(PolymerCompilationUnitBuilderTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(AnalysisCacheTest); |
| // suite.addTestSuite(DartEntryImplTest); |
| // suite.addTestSuite(HtmlEntryImplTest); |
| // suite.addTestSuite(PartitionManagerTest); |
| // suite.addTestSuite(SdkCachePartitionTest); |
| // suite.addTestSuite(UniversalCachePartitionTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ConstantFinderTest); |
| // suite.addTestSuite(ConstantValueComputerTest); |
| // suite.addTestSuite(ConstantVisitorTest); |
| // suite.addTestSuite(ReferenceFinderTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(AnalysisContextImplTest); |
| // suite.addTestSuite(AnalysisOptionsImplTest); |
| // suite.addTestSuite(IncrementalAnalysisCacheTest); |
| // suite.addTestSuite(InstrumentedAnalysisContextImplTest); |
| // suite.addTestSuite(WorkManagerTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ClassElementImplTest); |
| // suite.addTestSuite(CompilationUnitElementImplTest); |
| // suite.addTestSuite(ElementLocationImplTest); |
| // suite.addTestSuite(ElementImplTest); |
| // suite.addTestSuite(HtmlElementImplTest); |
| // suite.addTestSuite(LibraryElementImplTest); |
| // suite.addTestSuite(MultiplyDefinedElementImplTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ErrorReporterTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ExitDetectorTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTest(com.google.dart.engine.internal.html.angular.TestAll.suite()); |
| // suite.addTest(com.google.dart.engine.internal.html.polymer.TestAll.suite()); |
| // suite.addTestSuite(HtmlTagInfoBuilderTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(AngularDartIndexContributorTest); |
| // suite.addTestSuite(AngularHtmlIndexContributorTest); |
| // suite.addTestSuite(AngularHtmlUnitResolverTest); |
| // suite.addTestSuite(AngularHtmlUnitUtilsTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(PolymerHtmlUnitBuilderTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(DartObjectImplTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(DeclarationMatcherTest); |
| // suite.addTestSuite(ElementResolverTest); |
| // suite.addTestSuite(IncrementalResolverTest); |
| // suite.addTestSuite(InheritanceManagerTest); |
| // suite.addTestSuite(LibraryElementBuilderTest); |
| // suite.addTestSuite(LibraryTest); |
| // suite.addTestSuite(StaticTypeAnalyzerTest); |
| // suite.addTestSuite(SubtypeManagerTest); |
| // suite.addTestSuite(TypeOverrideManagerTest); |
| // suite.addTestSuite(TypeProviderImplTest); |
| // suite.addTestSuite(TypeResolverVisitorTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(EnclosedScopeTest); |
| // suite.addTestSuite(LibraryImportScopeTest); |
| // suite.addTestSuite(LibraryScopeTest); |
| // suite.addTestSuite(ScopeBuilderTest); |
| // suite.addTestSuite(ScopeTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(SDKLibrariesReaderTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(AnalysisTaskTest); |
| // suite.addTestSuite(GenerateDartErrorsTaskTest); |
| // suite.addTestSuite(GenerateDartHintsTaskTest); |
| // suite.addTestSuite(GetContentTaskTest); |
| // suite.addTestSuite(IncrementalAnalysisTaskTest); |
| // suite.addTestSuite(ParseDartTaskTest); |
| // suite.addTestSuite(ParseHtmlTaskTest); |
| // suite.addTestSuite(ResolveDartLibraryTaskTest); |
| // suite.addTestSuite(ResolveDartUnitTaskTest); |
| // suite.addTestSuite(ResolveHtmlTaskTest); |
| // suite.addTestSuite(ScanDartTaskTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(FunctionTypeImplTest); |
| // suite.addTestSuite(InterfaceTypeImplTest); |
| // suite.addTestSuite(TypeParameterTypeImplTest); |
| // suite.addTestSuite(UnionTypeImplTest); |
| // suite.addTestSuite(VoidTypeImplTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ComplexParserTest); |
| // suite.addTestSuite(ErrorParserTest); |
| // suite.addTestSuite(IncrementalParserTest); |
| // suite.addTestSuite(NonErrorParserTest); |
| // suite.addTestSuite(RecoveryParserTest); |
| // suite.addTestSuite(ResolutionCopierTest); |
| // suite.addTestSuite(SimpleParserTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(CompileTimeErrorCodeTest); |
| // suite.addTestSuite(ErrorResolverTest); |
| // suite.addTestSuite(HintCodeTest); |
| // suite.addTestSuite(MemberMapTest); |
| // suite.addTestSuite(NonErrorResolverTest); |
| // suite.addTestSuite(NonHintCodeTest); |
| // //suite.addTestSuite(PubSuggestionCodeTest.class); |
| // suite.addTestSuite(SimpleResolverTest); |
| // suite.addTestSuite(StaticTypeWarningCodeTest); |
| // suite.addTestSuite(StaticWarningCodeTest); |
| // suite.addTestSuite(StrictModeTest); |
| // suite.addTestSuite(TypePropagationTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(CharSequenceReaderTest); |
| // suite.addTestSuite(IncrementalScannerTest); |
| // suite.addTestSuite(KeywordStateTest); |
| // suite.addTestSuite(ScannerTest); |
| // suite.addTestSuite(TokenTypeTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(DirectoryBasedDartSdkTest); |
| // return suite; |
| // } |
| // } |
| // class TestAll { |
| // static Test suite() { |
| // TestSuite suite = new ExtendedTestSuite("Tests in ${TestAll.getPackage().getName()}"); |
| // suite.addTestSuite(ContentCacheTest); |
| // suite.addTestSuite(DartUriResolverTest); |
| // suite.addTestSuite(ExplicitPackageUriResolverTest); |
| // suite.addTestSuite(FileUriResolverTest); |
| // suite.addTestSuite(NonExistingSourceTest); |
| // suite.addTestSuite(PackageUriResolverTest); |
| // suite.addTestSuite(RelativeFileResolverTest); |
| // suite.addTestSuite(DirectoryBasedSourceContainerTest); |
| // suite.addTestSuite(SourceFactoryTest); |
| // suite.addTestSuite(FileBasedSourceTest); |
| // suite.addTestSuite(UriKindTest); |
| // return suite; |
| // } |
| // } |
| // /** |
| // * Instances of the class `TestSource` implement a source object that can be used for testing |
| // * purposes. |
| // */ |
| // class TestSource extends FileBasedSource { |
| // /** |
| // * The contents of the file represented by this source. |
| // */ |
| // String _contents; |
| // /** |
| // * The modification stamp associated with this source. |
| // */ |
| // int _modificationStamp = 0; |
| // /** |
| // * A flag indicating whether an exception should be generated when an attempt is made to access |
| // * the contents of this source. |
| // */ |
| // bool _generateExceptionOnRead = false; |
| // /** |
| // * The number of times that the contents of this source have been requested. |
| // */ |
| // int _readCount = 0; |
| // /** |
| // * Initialize a newly created source object. |
| // */ |
| // TestSource() : this.con1(FileUtilities2.createFile("/test.dart"), ""); |
| // /** |
| // * Initialize a newly created source object. The source object is assumed to not be in a system |
| // * library. |
| // * |
| // * @param file the file represented by this source |
| // * @param contents the contents of the file represented by this source |
| // */ |
| // TestSource.con1(JavaFile file, String contents) : super.con1(file) { |
| // this._contents = contents; |
| // _modificationStamp = JavaSystem.currentTimeMillis(); |
| // } |
| // /** |
| // * Initialize a newly created source object with the specified contents. |
| // * |
| // * @param contents the contents of the file represented by this source |
| // */ |
| // TestSource.con2(String contents) : this.con1(FileUtilities2.createFile("/test.dart"), contents); |
| // @override |
| // int get modificationStamp => _modificationStamp; |
| // /** |
| // * The number of times that the contents of this source have been requested. |
| // */ |
| // int get readCount => _readCount; |
| // /** |
| // * Set the contents of this source to the given contents. This has the side-effect of updating the |
| // * modification stamp of the source. |
| // * |
| // * @param contents the new contents of this source |
| // */ |
| // void set contents(String contents) { |
| // this._contents = contents; |
| // _modificationStamp = JavaSystem.currentTimeMillis(); |
| // } |
| // /** |
| // * A flag indicating whether an exception should be generated when an attempt is made to access |
| // * the contents of this source. |
| // */ |
| // void set generateExceptionOnRead(bool generate) { |
| // _generateExceptionOnRead = generate; |
| // } |
| // @override |
| // TimestampedData<String> get contentsFromFile { |
| // _readCount++; |
| // if (_generateExceptionOnRead) { |
| // throw new JavaIOException("I/O Exception while getting the contents of ${fullName}"); |
| // } |
| // return new TimestampedData<String>(_modificationStamp, _contents); |
| // } |
| // @override |
| // void getContentsFromFileToReceiver(Source_ContentReceiver receiver) { |
| // _readCount++; |
| // if (_generateExceptionOnRead) { |
| // throw new JavaIOException("I/O Exception while getting the contents of ${fullName}"); |
| // } |
| // receiver.accept(_contents, _modificationStamp); |
| // } |
| // } |
| // /** |
| // * Instances of the class `ToSourceVisitorTest` |
| // */ |
| // class ToSourceVisitorTest extends EngineTestCase { |
| // void fail_visitHtmlScriptTagNode_attributes_content() { |
| // _assertSource("<script type='application/dart'>f() {}</script>", HtmlFactory.scriptTagWithContent("f() {}", [HtmlFactory.attribute("type", "'application/dart'")])); |
| // } |
| // void fail_visitHtmlScriptTagNode_noAttributes_content() { |
| // _assertSource("<script>f() {}</script>", HtmlFactory.scriptTagWithContent("f() {}", [])); |
| // } |
| // void test_visitHtmlScriptTagNode_attributes_noContent() { |
| // _assertSource("<script type='application/dart'/>", HtmlFactory.scriptTag([HtmlFactory.attribute("type", "'application/dart'")])); |
| // } |
| // void test_visitHtmlScriptTagNode_noAttributes_noContent() { |
| // _assertSource("<script/>", HtmlFactory.scriptTag([])); |
| // } |
| // void test_visitHtmlUnit_empty() { |
| // _assertSource("", new HtmlUnit(null, new List<XmlTagNode>(), null)); |
| // } |
| // void test_visitHtmlUnit_nonEmpty() { |
| // _assertSource("<html/>", new HtmlUnit(null, HtmlFactory.list([HtmlFactory.tagNode("html", [])]), null)); |
| // } |
| // void test_visitXmlAttributeNode() { |
| // _assertSource("x=y", HtmlFactory.attribute("x", "y")); |
| // } |
| // /** |
| // * Assert that a `ToSourceVisitor` will produce the expected source when visiting the given |
| // * node. |
| // * |
| // * @param expectedSource the source string that the visitor is expected to produce |
| // * @param node the AST node being visited to produce the actual source |
| // */ |
| // void _assertSource(String expectedSource, XmlNode node) { |
| // PrintStringWriter writer = new PrintStringWriter(); |
| // node.accept(new ToSourceVisitor(writer)); |
| // JUnitTestCase.assertEquals(expectedSource, writer.toString()); |
| // } |
| // static dartSuite() { |
| // _ut.group('ToSourceVisitorTest', () { |
| // _ut.test('test_visitHtmlScriptTagNode_attributes_noContent', () { |
| // final __test = new ToSourceVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitHtmlScriptTagNode_attributes_noContent); |
| // }); |
| // _ut.test('test_visitHtmlScriptTagNode_noAttributes_noContent', () { |
| // final __test = new ToSourceVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitHtmlScriptTagNode_noAttributes_noContent); |
| // }); |
| // _ut.test('test_visitHtmlUnit_empty', () { |
| // final __test = new ToSourceVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitHtmlUnit_empty); |
| // }); |
| // _ut.test('test_visitHtmlUnit_nonEmpty', () { |
| // final __test = new ToSourceVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitHtmlUnit_nonEmpty); |
| // }); |
| // _ut.test('test_visitXmlAttributeNode', () { |
| // final __test = new ToSourceVisitorTest(); |
| // runJUnitTest(__test, __test.test_visitXmlAttributeNode); |
| // }); |
| // }); |
| // } |
| // } |
| // class TodoCodeTest extends EngineTestCase { |
| // void test_locateLineCommentTodo() { |
| // _locate("//TODO", 2, 4); |
| // _locate("//TODO:", 2, 5); |
| // _locate("// TODO(sdsdf): ", 3, 13); |
| // _locate("// TODO (sdsdf): ", 3, 14); |
| // _locate("//TODO(sdsdf)", 2, 11); |
| // _locate("// TODO(sdsdf): ", 4, 13); |
| // } |
| // void test_locateMultiLineCommentTodo() { |
| // _locate("* TODO \n * foo", 2, 5); |
| // _locate("*TODO:\n * foo", 1, 5); |
| // _locate("*TODO(sdsdf): \n * foo", 1, 13); |
| // _locate("* TODO(sdsdf)\n * foo", 2, 11); |
| // _locate(" * TODO(sdsdf): \n * foo", 3, 13); |
| // _locate(" * sdfsdf \n * TODO(sdsdf): \n * foo", 14, 13); |
| // } |
| // void test_locateMultipleComments() { |
| // JavaPatternMatcher m = new JavaPatternMatcher(TodoCode.TODO_REGEX, "/**\n * TODO: foo bar\n * TODO bar baz\n*/"); |
| // JUnitTestCase.assertTrue(m.find()); |
| // JUnitTestCase.assertEquals(7, m.start(2)); |
| // JUnitTestCase.assertEquals(13, m.end(2) - m.start(2)); |
| // JUnitTestCase.assertTrue(m.find()); |
| // JUnitTestCase.assertEquals(24, m.start(2)); |
| // JUnitTestCase.assertEquals(12, m.end(2) - m.start(2)); |
| // JUnitTestCase.assertFalse(m.find()); |
| // } |
| // void test_negativeLineCommentTodo() { |
| // _negative("// TODOS"); |
| // _negative("// todo"); |
| // } |
| // void test_negativeMultiLineCommentTodo() { |
| // _negative(" * TODOS \n * foo"); |
| // _negative(" * todo\n * foo"); |
| // } |
| // void _locate(String comment, int start, int length) { |
| // JavaPatternMatcher m = new JavaPatternMatcher(TodoCode.TODO_REGEX, comment); |
| // JUnitTestCase.assertTrue(m.find()); |
| // JUnitTestCase.assertEquals(start, m.start(2)); |
| // JUnitTestCase.assertEquals(length, m.end(2) - m.start(2)); |
| // } |
| // void _negative(String comment) { |
| // JavaPatternMatcher m = new JavaPatternMatcher(TodoCode.TODO_REGEX, comment); |
| // JUnitTestCase.assertFalse(m.find()); |
| // } |
| // static dartSuite() { |
| // _ut.group('TodoCodeTest', () { |
| // _ut.test('test_locateLineCommentTodo', () { |
| // final __test = new TodoCodeTest(); |
| // runJUnitTest(__test, __test.test_locateLineCommentTodo); |
| // }); |
| // _ut.test('test_locateMultiLineCommentTodo', () { |
| // final __test = new TodoCodeTest(); |
| // runJUnitTest(__test, __test.test_locateMultiLineCommentTodo); |
| // }); |
| // _ut.test('test_locateMultipleComments', () { |
| // final __test = new TodoCodeTest(); |
| // runJUnitTest(__test, __test.test_locateMultipleComments); |
| // }); |
| // _ut.test('test_negativeLineCommentTodo', () { |
| // final __test = new TodoCodeTest(); |
| // runJUnitTest(__test, __test.test_negativeLineCommentTodo); |
| // }); |
| // _ut.test('test_negativeMultiLineCommentTodo', () { |
| // final __test = new TodoCodeTest(); |
| // runJUnitTest(__test, __test.test_negativeMultiLineCommentTodo); |
| // }); |
| // }); |
| // } |
| // } |
| // class UriKindTest extends JUnitTestCase { |
| // void test_fromEncoding() { |
| // JUnitTestCase.assertSame(UriKind.DART_URI, UriKind.fromEncoding(0x64)); |
| // JUnitTestCase.assertSame(UriKind.FILE_URI, UriKind.fromEncoding(0x66)); |
| // JUnitTestCase.assertSame(UriKind.PACKAGE_URI, UriKind.fromEncoding(0x70)); |
| // JUnitTestCase.assertSame(null, UriKind.fromEncoding(0x58)); |
| // } |
| // void test_getEncoding() { |
| // JUnitTestCase.assertEquals(0x64, UriKind.DART_URI.encoding); |
| // JUnitTestCase.assertEquals(0x66, UriKind.FILE_URI.encoding); |
| // JUnitTestCase.assertEquals(0x70, UriKind.PACKAGE_URI.encoding); |
| // } |
| // static dartSuite() { |
| // _ut.group('UriKindTest', () { |
| // _ut.test('test_fromEncoding', () { |
| // final __test = new UriKindTest(); |
| // runJUnitTest(__test, __test.test_fromEncoding); |
| // }); |
| // _ut.test('test_getEncoding', () { |
| // final __test = new UriKindTest(); |
| // runJUnitTest(__test, __test.test_getEncoding); |
| // }); |
| // }); |
| // } |
| // } |
| // class UriResolver_SourceFactoryTest_test_fromEncoding_valid extends UriResolver { |
| // String encoding; |
| // UriResolver_SourceFactoryTest_test_fromEncoding_valid(this.encoding) : super(); |
| // @override |
| // Source resolveAbsolute(Uri uri) { |
| // if (uri.toString() == encoding) { |
| // return new TestSource(); |
| // } |
| // return null; |
| // } |
| // } |
| // class UriResolver_SourceFactoryTest_test_resolveUri_absolute extends UriResolver { |
| // List<bool> invoked; |
| // UriResolver_SourceFactoryTest_test_resolveUri_absolute(this.invoked) : super(); |
| // @override |
| // Source resolveAbsolute(Uri uri) { |
| // invoked[0] = true; |
| // return null; |
| // } |
| // } |
| // class UriResolver_SourceFactoryTest_test_resolveUri_nonAbsolute_absolute extends UriResolver { |
| // @override |
| // Source resolveAbsolute(Uri uri) => new FileBasedSource.con2(uri, new JavaFile.fromUri(uri)); |
| // } |
| // class UriResolver_SourceFactoryTest_test_resolveUri_nonAbsolute_relative extends UriResolver { |
| // @override |
| // Source resolveAbsolute(Uri uri) => new FileBasedSource.con2(uri, new JavaFile.fromUri(uri)); |
| // } |
| // class UriResolver_SourceFactoryTest_test_restoreUri extends UriResolver { |
| // Source source1; |
| // Uri expected1; |
| // UriResolver_SourceFactoryTest_test_restoreUri(this.source1, this.expected1) : super(); |
| // @override |
| // Source resolveAbsolute(Uri uri) => null; |
| // @override |
| // Uri restoreAbsolute(Source source) { |
| // if (identical(source, source1)) { |
| // return expected1; |
| // } |
| // return null; |
| // } |
| // } |
| // /** |
| // * Instances of `XmlValidator` traverse an [XmlNode] structure and validate the node |
| // * hierarchy. |
| // */ |
| // class XmlValidator extends RecursiveXmlVisitor<Object> { |
| // /** |
| // * A list containing the errors found while traversing the AST structure. |
| // */ |
| // List<String> _errors = new List<String>(); |
| // /** |
| // * The tags to expect when visiting or `null` if tags should not be checked. |
| // */ |
| // List<XmlValidator_Tag> _expectedTagsInOrderVisited; |
| // /** |
| // * The current index into the [expectedTagsInOrderVisited] array. |
| // */ |
| // int _expectedTagsIndex = 0; |
| // /** |
| // * The key/value pairs to expect when visiting or `null` if attributes should not be |
| // * checked. |
| // */ |
| // List<String> _expectedAttributeKeyValuePairs; |
| // /** |
| // * The current index into the [expectedAttributeKeyValuePairs]. |
| // */ |
| // int _expectedAttributeIndex = 0; |
| // /** |
| // * Assert that no errors were found while traversing any of the AST structures that have been |
| // * visited. |
| // */ |
| // void assertValid() { |
| // while (_expectedTagsIndex < _expectedTagsInOrderVisited.length) { |
| // String expectedTag = _expectedTagsInOrderVisited[_expectedTagsIndex++]._tag; |
| // _errors.add("Expected to visit node with tag: ${expectedTag}"); |
| // } |
| // if (!_errors.isEmpty) { |
| // PrintStringWriter writer = new PrintStringWriter(); |
| // writer.print("Invalid XML structure:"); |
| // for (String message in _errors) { |
| // writer.newLine(); |
| // writer.print(" "); |
| // writer.print(message); |
| // } |
| // JUnitTestCase.fail(writer.toString()); |
| // } |
| // } |
| // /** |
| // * Set the tags to be expected when visiting |
| // * |
| // * @param expectedTags the expected tags |
| // */ |
| // void expectTags(List<XmlValidator_Tag> expectedTags) { |
| // // Flatten the hierarchy into expected order in which the tags are visited |
| // List<XmlValidator_Tag> expected = new List<XmlValidator_Tag>(); |
| // _expectTags(expected, expectedTags); |
| // this._expectedTagsInOrderVisited = new List.from(expected); |
| // } |
| // @override |
| // Object visitHtmlUnit(HtmlUnit node) { |
| // if (node.parent != null) { |
| // _errors.add("HtmlUnit should not have a parent"); |
| // } |
| // if (node.endToken.type != TokenType.EOF) { |
| // _errors.add("HtmlUnit end token should be of type EOF"); |
| // } |
| // _validateNode(node); |
| // return super.visitHtmlUnit(node); |
| // } |
| // @override |
| // Object visitXmlAttributeNode(XmlAttributeNode actual) { |
| // if (actual.parent is! XmlTagNode) { |
| // _errors.add("Expected ${actual.runtimeType.toString()} to have parent of type ${XmlTagNode.toString()}"); |
| // } |
| // String actualName = actual.name; |
| // String actualValue = actual.valueToken.lexeme; |
| // if (_expectedAttributeIndex < _expectedAttributeKeyValuePairs.length) { |
| // String expectedName = _expectedAttributeKeyValuePairs[_expectedAttributeIndex]; |
| // if (expectedName != actualName) { |
| // _errors.add("Expected ${(_expectedTagsIndex - 1)} tag: ${_expectedTagsInOrderVisited[_expectedTagsIndex - 1]._tag} attribute ${(_expectedAttributeIndex ~/ 2)} to have name: ${expectedName} but found: ${actualName}"); |
| // } |
| // String expectedValue = _expectedAttributeKeyValuePairs[_expectedAttributeIndex + 1]; |
| // if (expectedValue != actualValue) { |
| // _errors.add("Expected ${(_expectedTagsIndex - 1)} tag: ${_expectedTagsInOrderVisited[_expectedTagsIndex - 1]._tag} attribute ${(_expectedAttributeIndex ~/ 2)} to have value: ${expectedValue} but found: ${actualValue}"); |
| // } |
| // } else { |
| // _errors.add("Unexpected ${(_expectedTagsIndex - 1)} tag: ${_expectedTagsInOrderVisited[_expectedTagsIndex - 1]._tag} attribute ${(_expectedAttributeIndex ~/ 2)} name: ${actualName} value: ${actualValue}"); |
| // } |
| // _expectedAttributeIndex += 2; |
| // _validateNode(actual); |
| // return super.visitXmlAttributeNode(actual); |
| // } |
| // @override |
| // Object visitXmlTagNode(XmlTagNode actual) { |
| // if (!(actual.parent is HtmlUnit || actual.parent is XmlTagNode)) { |
| // _errors.add("Expected ${actual.runtimeType.toString()} to have parent of type ${HtmlUnit.toString()} or ${XmlTagNode.toString()}"); |
| // } |
| // if (_expectedTagsInOrderVisited != null) { |
| // String actualTag = actual.tag; |
| // if (_expectedTagsIndex < _expectedTagsInOrderVisited.length) { |
| // XmlValidator_Tag expected = _expectedTagsInOrderVisited[_expectedTagsIndex]; |
| // if (expected._tag != actualTag) { |
| // _errors.add("Expected ${_expectedTagsIndex} tag: ${expected._tag} but found: ${actualTag}"); |
| // } |
| // _expectedAttributeKeyValuePairs = expected._attributes._keyValuePairs; |
| // int expectedAttributeCount = _expectedAttributeKeyValuePairs.length ~/ 2; |
| // int actualAttributeCount = actual.attributes.length; |
| // if (expectedAttributeCount != actualAttributeCount) { |
| // _errors.add("Expected ${_expectedTagsIndex} tag: ${expected._tag} to have ${expectedAttributeCount} attributes but found ${actualAttributeCount}"); |
| // } |
| // _expectedAttributeIndex = 0; |
| // _expectedTagsIndex++; |
| // Assert.assertNotNull(actual.attributeEnd); |
| // Assert.assertNotNull(actual.contentEnd); |
| // int count = 0; |
| // Token token = actual.attributeEnd.next; |
| // Token lastToken = actual.contentEnd; |
| // while (!identical(token, lastToken)) { |
| // token = token.next; |
| // if (++count > 1000) { |
| // JUnitTestCase.fail("Expected ${_expectedTagsIndex} tag: ${expected._tag} to have a sequence of tokens from getAttributeEnd() to getContentEnd()"); |
| // break; |
| // } |
| // } |
| // if (actual.attributeEnd.type == TokenType.GT) { |
| // if (HtmlParser.SELF_CLOSING.contains(actual.tag)) { |
| // Assert.assertNull(actual.closingTag); |
| // } else { |
| // Assert.assertNotNull(actual.closingTag); |
| // } |
| // } else if (actual.attributeEnd.type == TokenType.SLASH_GT) { |
| // Assert.assertNull(actual.closingTag); |
| // } else { |
| // JUnitTestCase.fail("Unexpected attribute end token: ${actual.attributeEnd.lexeme}"); |
| // } |
| // if (expected._content != null && expected._content != actual.content) { |
| // _errors.add("Expected ${_expectedTagsIndex} tag: ${expected._tag} to have content '${expected._content}' but found '${actual.content}'"); |
| // } |
| // if (expected._children.length != actual.tagNodes.length) { |
| // _errors.add("Expected ${_expectedTagsIndex} tag: ${expected._tag} to have ${expected._children.length} children but found ${actual.tagNodes.length}"); |
| // } else { |
| // for (int index = 0; index < expected._children.length; index++) { |
| // String expectedChildTag = expected._children[index]._tag; |
| // String actualChildTag = actual.tagNodes[index].tag; |
| // if (expectedChildTag != actualChildTag) { |
| // _errors.add("Expected ${_expectedTagsIndex} tag: ${expected._tag} child ${index} to have tag: ${expectedChildTag} but found: ${actualChildTag}"); |
| // } |
| // } |
| // } |
| // } else { |
| // _errors.add("Visited unexpected tag: ${actualTag}"); |
| // } |
| // } |
| // _validateNode(actual); |
| // return super.visitXmlTagNode(actual); |
| // } |
| // /** |
| // * Append the specified tags to the array in depth first order |
| // * |
| // * @param expected the array to which the tags are added (not `null`) |
| // * @param expectedTags the expected tags to be added (not `null`, contains no `null`s) |
| // */ |
| // void _expectTags(List<XmlValidator_Tag> expected, List<XmlValidator_Tag> expectedTags) { |
| // for (XmlValidator_Tag tag in expectedTags) { |
| // expected.add(tag); |
| // _expectTags(expected, tag._children); |
| // } |
| // } |
| // void _validateNode(XmlNode node) { |
| // if (node.beginToken == null) { |
| // _errors.add("No begin token for ${node.runtimeType.toString()}"); |
| // } |
| // if (node.endToken == null) { |
| // _errors.add("No end token for ${node.runtimeType.toString()}"); |
| // } |
| // int nodeStart = node.offset; |
| // int nodeLength = node.length; |
| // if (nodeStart < 0 || nodeLength < 0) { |
| // _errors.add("No source info for ${node.runtimeType.toString()}"); |
| // } |
| // XmlNode parent = node.parent; |
| // if (parent != null) { |
| // int nodeEnd = nodeStart + nodeLength; |
| // int parentStart = parent.offset; |
| // int parentEnd = parentStart + parent.length; |
| // if (nodeStart < parentStart) { |
| // _errors.add("Invalid source start (${nodeStart}) for ${node.runtimeType.toString()} inside ${parent.runtimeType.toString()} (${parentStart})"); |
| // } |
| // if (nodeEnd > parentEnd) { |
| // _errors.add("Invalid source end (${nodeEnd}) for ${node.runtimeType.toString()} inside ${parent.runtimeType.toString()} (${parentStart})"); |
| // } |
| // } |
| // } |
| // } |
| // class XmlValidator_Attributes { |
| // final List<String> _keyValuePairs; |
| // XmlValidator_Attributes(this._keyValuePairs); |
| // } |
| // class XmlValidator_Tag { |
| // final String _tag; |
| // final XmlValidator_Attributes _attributes; |
| // final String _content; |
| // final List<XmlValidator_Tag> _children; |
| // XmlValidator_Tag(this._tag, this._attributes, this._content, this._children); |
| // } |