diff --git a/packages/compiler/test/BUILD.bazel b/packages/compiler/test/BUILD.bazel index 0a1179f0e6..9a90d09782 100644 --- a/packages/compiler/test/BUILD.bazel +++ b/packages/compiler/test/BUILD.bazel @@ -38,6 +38,7 @@ ts_library( "//packages/common", "//packages/compiler", "//packages/compiler/test/expression_parser/utils", + "//packages/compiler/test/ml_parser/util", "//packages/compiler/testing", "//packages/core", "//packages/core/testing", @@ -75,7 +76,8 @@ jasmine_node_test( "//packages/core:npm_package", ], tags = [ - "fixme-ivy-aot", + # Disabled as these tests pertain to the old ngc compilation and are not relevant in Ivy. + "no-ivy-aot", ], deps = [ ":test_lib", @@ -90,7 +92,8 @@ jasmine_node_test( ts_web_test_suite( name = "test_web", tags = [ - "fixme-ivy-aot", + # Disabled as these tests pertain to the old ngc compilation and are not relevant in Ivy. + "no-ivy-aot", ], deps = [ ":test_lib", diff --git a/packages/compiler/test/css_parser/BUILD.bazel b/packages/compiler/test/css_parser/BUILD.bazel new file mode 100644 index 0000000000..f81c8a0de2 --- /dev/null +++ b/packages/compiler/test/css_parser/BUILD.bazel @@ -0,0 +1,30 @@ +load("//tools:defaults.bzl", "jasmine_node_test", "ts_library", "ts_web_test_suite") + +ts_library( + name = "css_parser_lib", + testonly = True, + srcs = glob(["**/*.ts"]), + deps = [ + "//packages:types", + "//packages/compiler/testing", + "//packages/core/testing", + "//packages/platform-browser", + "//packages/platform-browser/testing", + ], +) + +jasmine_node_test( + name = "css_parser", + bootstrap = ["angular/tools/testing/init_node_spec.js"], + deps = [ + ":css_parser_lib", + "//tools/testing:node", + ], +) + +ts_web_test_suite( + name = "css_parser_web", + deps = [ + ":css_parser_lib", + ], +) diff --git a/packages/compiler/test/expression_parser/BUILD.bazel b/packages/compiler/test/expression_parser/BUILD.bazel new file mode 100644 index 0000000000..ff72c3bb1b --- /dev/null +++ b/packages/compiler/test/expression_parser/BUILD.bazel @@ -0,0 +1,30 @@ +load("//tools:defaults.bzl", "jasmine_node_test", "ts_library", "ts_web_test_suite") + +ts_library( + name = "expression_parser_lib", + testonly = True, + srcs = glob(["**/*.ts"]), + deps = [ + "//packages:types", + "//packages/compiler", + "//packages/compiler/test/expression_parser/utils", + "//packages/compiler/testing", + "//packages/platform-browser/testing", + ], +) + +jasmine_node_test( + name = "expression_parser", + bootstrap = ["angular/tools/testing/init_node_spec.js"], + deps = [ + ":expression_parser_lib", + "//tools/testing:node", + ], +) + +ts_web_test_suite( + name = "expression_parser_web", + deps = [ + ":expression_parser_lib", + ], +) diff --git a/packages/compiler/test/i18n/extractor_merger_spec.ts b/packages/compiler/test/i18n/extractor_merger_spec.ts index 55f8c45225..7d8f489436 100644 --- a/packages/compiler/test/i18n/extractor_merger_spec.ts +++ b/packages/compiler/test/i18n/extractor_merger_spec.ts @@ -14,7 +14,7 @@ import {extractMessages, mergeTranslations} from '../../src/i18n/extractor_merge import * as i18n from '../../src/i18n/i18n_ast'; import {TranslationBundle} from '../../src/i18n/translation_bundle'; import * as html from '../../src/ml_parser/ast'; -import {serializeNodes as serializeHtmlNodes} from '../ml_parser/ast_serializer_spec'; +import {serializeNodes as serializeHtmlNodes} from '../ml_parser/util/util'; { describe('Extractor', () => { diff --git a/packages/compiler/test/i18n/translation_bundle_spec.ts b/packages/compiler/test/i18n/translation_bundle_spec.ts index cac903ecca..d164d8874f 100644 --- a/packages/compiler/test/i18n/translation_bundle_spec.ts +++ b/packages/compiler/test/i18n/translation_bundle_spec.ts @@ -12,7 +12,7 @@ import * as i18n from '../../src/i18n/i18n_ast'; import {TranslationBundle} from '../../src/i18n/translation_bundle'; import * as html from '../../src/ml_parser/ast'; import {ParseLocation, ParseSourceFile, ParseSourceSpan} from '../../src/parse_util'; -import {serializeNodes} from '../ml_parser/ast_serializer_spec'; +import {serializeNodes} from '../ml_parser/util/util'; import {_extractMessages} from './i18n_parser_spec'; diff --git a/packages/compiler/test/ml_parser/BUILD.bazel b/packages/compiler/test/ml_parser/BUILD.bazel new file mode 100644 index 0000000000..dea7d01799 --- /dev/null +++ b/packages/compiler/test/ml_parser/BUILD.bazel @@ -0,0 +1,28 @@ +load("//tools:defaults.bzl", "jasmine_node_test", "ts_library", "ts_web_test_suite") + +ts_library( + name = "ml_parser_lib", + testonly = True, + srcs = glob(["**/*.ts"]), + deps = [ + "//packages:types", + "//packages/compiler", + "//packages/compiler/test/ml_parser/util", + ], +) + +jasmine_node_test( + name = "ml_parser", + bootstrap = ["angular/tools/testing/init_node_spec.js"], + deps = [ + ":ml_parser_lib", + "//tools/testing:node", + ], +) + +ts_web_test_suite( + name = "ml_parser_web", + deps = [ + ":ml_parser_lib", + ], +) diff --git a/packages/compiler/test/ml_parser/ast_serializer_spec.ts b/packages/compiler/test/ml_parser/ast_serializer_spec.ts index 2c0fb98700..b880e37909 100644 --- a/packages/compiler/test/ml_parser/ast_serializer_spec.ts +++ b/packages/compiler/test/ml_parser/ast_serializer_spec.ts @@ -6,9 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import * as html from '@angular/compiler/src/ml_parser/ast'; import {HtmlParser} from '@angular/compiler/src/ml_parser/html_parser'; -import {getHtmlTagDefinition} from '@angular/compiler/src/ml_parser/html_tags'; +import {serializeNodes} from './util/util'; { describe('Node serializer', () => { @@ -59,42 +58,3 @@ import {getHtmlTagDefinition} from '@angular/compiler/src/ml_parser/html_tags'; }); }); } - -class _SerializerVisitor implements html.Visitor { - visitElement(element: html.Element, context: any): any { - if (getHtmlTagDefinition(element.name).isVoid) { - return `<${element.name}${this._visitAll(element.attrs, ' ')}/>`; - } - - return `<${element.name}${this._visitAll(element.attrs, ' ')}>${this._visitAll(element.children)}`; - } - - visitAttribute(attribute: html.Attribute, context: any): any { - return `${attribute.name}="${attribute.value}"`; - } - - visitText(text: html.Text, context: any): any { return text.value; } - - visitComment(comment: html.Comment, context: any): any { return ``; } - - visitExpansion(expansion: html.Expansion, context: any): any { - return `{${expansion.switchValue}, ${expansion.type},${this._visitAll(expansion.cases)}}`; - } - - visitExpansionCase(expansionCase: html.ExpansionCase, context: any): any { - return ` ${expansionCase.value} {${this._visitAll(expansionCase.expression)}}`; - } - - private _visitAll(nodes: html.Node[], join: string = ''): string { - if (nodes.length == 0) { - return ''; - } - return join + nodes.map(a => a.visit(this, null)).join(join); - } -} - -const serializerVisitor = new _SerializerVisitor(); - -export function serializeNodes(nodes: html.Node[]): string[] { - return nodes.map(node => node.visit(serializerVisitor, null)); -} diff --git a/packages/compiler/test/ml_parser/util/BUILD.bazel b/packages/compiler/test/ml_parser/util/BUILD.bazel new file mode 100644 index 0000000000..d93887ffbc --- /dev/null +++ b/packages/compiler/test/ml_parser/util/BUILD.bazel @@ -0,0 +1,12 @@ +load("//tools:defaults.bzl", "ts_library") + +ts_library( + name = "util", + testonly = True, + srcs = glob(["**/*.ts"]), + visibility = ["//visibility:public"], + deps = [ + "//packages:types", + "//packages/compiler", + ], +) diff --git a/packages/compiler/test/ml_parser/util/util.ts b/packages/compiler/test/ml_parser/util/util.ts new file mode 100644 index 0000000000..b61939b501 --- /dev/null +++ b/packages/compiler/test/ml_parser/util/util.ts @@ -0,0 +1,49 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import * as html from '@angular/compiler/src/ml_parser/ast'; +import {getHtmlTagDefinition} from '@angular/compiler/src/ml_parser/html_tags'; + +class _SerializerVisitor implements html.Visitor { + visitElement(element: html.Element, context: any): any { + if (getHtmlTagDefinition(element.name).isVoid) { + return `<${element.name}${this._visitAll(element.attrs, ' ')}/>`; + } + + return `<${element.name}${this._visitAll(element.attrs, ' ')}>${this._visitAll(element.children)}`; + } + + visitAttribute(attribute: html.Attribute, context: any): any { + return `${attribute.name}="${attribute.value}"`; + } + + visitText(text: html.Text, context: any): any { return text.value; } + + visitComment(comment: html.Comment, context: any): any { return ``; } + + visitExpansion(expansion: html.Expansion, context: any): any { + return `{${expansion.switchValue}, ${expansion.type},${this._visitAll(expansion.cases)}}`; + } + + visitExpansionCase(expansionCase: html.ExpansionCase, context: any): any { + return ` ${expansionCase.value} {${this._visitAll(expansionCase.expression)}}`; + } + + private _visitAll(nodes: html.Node[], join: string = ''): string { + if (nodes.length == 0) { + return ''; + } + return join + nodes.map(a => a.visit(this, null)).join(join); + } +} + +const serializerVisitor = new _SerializerVisitor(); + +export function serializeNodes(nodes: html.Node[]): string[] { + return nodes.map(node => node.visit(serializerVisitor, null)); +} \ No newline at end of file diff --git a/packages/compiler/test/selector/BUILD.bazel b/packages/compiler/test/selector/BUILD.bazel new file mode 100644 index 0000000000..5928f7d796 --- /dev/null +++ b/packages/compiler/test/selector/BUILD.bazel @@ -0,0 +1,28 @@ +load("//tools:defaults.bzl", "jasmine_node_test", "ts_library", "ts_web_test_suite") + +ts_library( + name = "selector_lib", + testonly = True, + srcs = glob(["**/*.ts"]), + deps = [ + "//packages:types", + "//packages/compiler/testing", + "//packages/core/testing", + ], +) + +jasmine_node_test( + name = "selector", + bootstrap = ["angular/tools/testing/init_node_spec.js"], + deps = [ + ":selector_lib", + "//tools/testing:node", + ], +) + +ts_web_test_suite( + name = "selector_web", + deps = [ + ":selector_lib", + ], +) diff --git a/packages/compiler/test/selector_spec.ts b/packages/compiler/test/selector/selector_spec.ts similarity index 100% rename from packages/compiler/test/selector_spec.ts rename to packages/compiler/test/selector/selector_spec.ts