diff --git a/packages/compiler-cli/test/compliance/BUILD.bazel b/packages/compiler-cli/test/compliance/BUILD.bazel index 365b20bc3d..b49764a597 100644 --- a/packages/compiler-cli/test/compliance/BUILD.bazel +++ b/packages/compiler-cli/test/compliance/BUILD.bazel @@ -12,17 +12,14 @@ ts_library( "//packages/compiler", "//packages/compiler-cli", "//packages/compiler/test:test_utils", - "//packages/compiler/testing", - "//packages/core", ], ) jasmine_node_test( name = "compliance", - bootstrap = ["angular/tools/testing/init_node_spec.js"], + bootstrap = ["angular/tools/testing/init_node_no_angular_spec.js"], data = [ - "//packages/common:npm_package", - "//packages/core:npm_package", + "//packages/compiler-cli/test/ngtsc/fake_core:npm_package", ], tags = [ "ivy-local", @@ -30,6 +27,6 @@ jasmine_node_test( ], deps = [ ":test_lib", - "//tools/testing:node", + "//tools/testing:node_no_angular", ], ) diff --git a/packages/compiler-cli/test/compliance/mock_compiler_spec.ts b/packages/compiler-cli/test/compliance/mock_compiler_spec.ts index 128890af0e..77e5320f5f 100644 --- a/packages/compiler-cli/test/compliance/mock_compiler_spec.ts +++ b/packages/compiler-cli/test/compliance/mock_compiler_spec.ts @@ -14,9 +14,9 @@ describe('mock_compiler', () => { // This produces a MockDirectory of the file needed to compile an Angular application. // This setup is performed in a beforeAll which populates the map returned. const angularFiles = setup({ - compileAngular: true, + compileAngular: false, + compileFakeCore: true, compileAnimations: false, - compileCommon: true, }); describe('compiling', () => { diff --git a/packages/compiler-cli/test/compliance/r3_compiler_compliance_spec.ts b/packages/compiler-cli/test/compliance/r3_compiler_compliance_spec.ts index 3540e9700a..c338994e57 100644 --- a/packages/compiler-cli/test/compliance/r3_compiler_compliance_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_compiler_compliance_spec.ts @@ -17,9 +17,9 @@ import {compile, expectEmit} from './mock_compile'; describe('compiler compliance', () => { const angularFiles = setup({ - compileAngular: true, + compileAngular: false, compileAnimations: false, - compileCommon: true, + compileFakeCore: true, }); describe('elements', () => { @@ -1287,7 +1287,6 @@ describe('compiler compliance', () => { app: { 'spec.ts': ` import {Component, NgModule} from '@angular/core'; - import {CommonModule} from '@angular/common'; @Component({ selector: 'my-component', @@ -1301,7 +1300,7 @@ describe('compiler compliance', () => { }) export class MyComponent {} - @NgModule({declarations: [MyComponent], imports: [CommonModule]}) + @NgModule({declarations: [MyComponent]}) export class MyModule {} ` } diff --git a/packages/compiler-cli/test/compliance/r3_view_compiler_binding_spec.ts b/packages/compiler-cli/test/compliance/r3_view_compiler_binding_spec.ts index 4b6d9b474b..5dde3a2b3e 100644 --- a/packages/compiler-cli/test/compliance/r3_view_compiler_binding_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_view_compiler_binding_spec.ts @@ -11,9 +11,9 @@ import {compile, expectEmit} from './mock_compile'; describe('compiler compliance: bindings', () => { const angularFiles = setup({ - compileAngular: true, + compileAngular: false, + compileFakeCore: true, compileAnimations: false, - compileCommon: false, }); describe('text bindings', () => { diff --git a/packages/compiler-cli/test/compliance/r3_view_compiler_di_spec.ts b/packages/compiler-cli/test/compliance/r3_view_compiler_di_spec.ts index 455569a0a5..1075fa1fa7 100644 --- a/packages/compiler-cli/test/compliance/r3_view_compiler_di_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_view_compiler_di_spec.ts @@ -11,9 +11,9 @@ import {compile, expectEmit} from './mock_compile'; describe('compiler compliance: dependency injection', () => { const angularFiles = setup({ - compileAngular: true, + compileAngular: false, + compileFakeCore: true, compileAnimations: false, - compileCommon: true, }); it('should create factory methods', () => { @@ -21,7 +21,6 @@ describe('compiler compliance: dependency injection', () => { app: { 'spec.ts': ` import {Component, NgModule, Injectable, Attribute, Host, SkipSelf, Self, Optional} from '@angular/core'; - import {CommonModule} from '@angular/common'; @Injectable() export class MyService {} @@ -42,7 +41,7 @@ describe('compiler compliance: dependency injection', () => { ) {} } - @NgModule({declarations: [MyComponent], imports: [CommonModule], providers: [MyService]}) + @NgModule({declarations: [MyComponent], providers: [MyService]}) export class MyModule {} ` } diff --git a/packages/compiler-cli/test/compliance/r3_view_compiler_i18n_spec.ts b/packages/compiler-cli/test/compliance/r3_view_compiler_i18n_spec.ts index f3af5b9a3b..98884f56ea 100644 --- a/packages/compiler-cli/test/compliance/r3_view_compiler_i18n_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_view_compiler_i18n_spec.ts @@ -13,9 +13,9 @@ const TRANSLATION_NAME_REGEXP = /^MSG_[A-Z0-9]+/; describe('i18n support in the view compiler', () => { const angularFiles = setup({ - compileAngular: true, + compileAngular: false, + compileFakeCore: true, compileAnimations: false, - compileCommon: true, }); describe('single text nodes', () => { diff --git a/packages/compiler-cli/test/compliance/r3_view_compiler_input_outputs_spec.ts b/packages/compiler-cli/test/compliance/r3_view_compiler_input_outputs_spec.ts index 6b8adb4abf..06b57717af 100644 --- a/packages/compiler-cli/test/compliance/r3_view_compiler_input_outputs_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_view_compiler_input_outputs_spec.ts @@ -11,9 +11,9 @@ import {compile, expectEmit} from './mock_compile'; describe('compiler compliance: listen()', () => { const angularFiles = setup({ - compileAngular: true, + compileAngular: false, + compileFakeCore: true, compileAnimations: false, - compileCommon: true, }); it('should create declare inputs/outputs', () => { diff --git a/packages/compiler-cli/test/compliance/r3_view_compiler_listener_spec.ts b/packages/compiler-cli/test/compliance/r3_view_compiler_listener_spec.ts index 41bb8e5740..944f4c6c1e 100644 --- a/packages/compiler-cli/test/compliance/r3_view_compiler_listener_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_view_compiler_listener_spec.ts @@ -14,9 +14,9 @@ import {compile, expectEmit} from './mock_compile'; */ describe('compiler compliance: listen()', () => { const angularFiles = setup({ - compileAngular: true, + compileAngular: false, + compileFakeCore: true, compileAnimations: false, - compileCommon: true, }); it('should create listener instruction on element', () => { @@ -63,7 +63,6 @@ describe('compiler compliance: listen()', () => { app: { 'spec.ts': ` import {Component, NgModule} from '@angular/core'; - import {CommonModule} from '@angular/common'; @Component({ selector: 'my-component', @@ -80,7 +79,7 @@ describe('compiler compliance: listen()', () => { onClick2(name: any) {} } - @NgModule({declarations: [MyComponent], imports: [CommonModule]}) + @NgModule({declarations: [MyComponent]}) export class MyModule {} ` } diff --git a/packages/compiler-cli/test/compliance/r3_view_compiler_spec.ts b/packages/compiler-cli/test/compliance/r3_view_compiler_spec.ts index c67dfb1efe..de9d39af5c 100644 --- a/packages/compiler-cli/test/compliance/r3_view_compiler_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_view_compiler_spec.ts @@ -11,9 +11,9 @@ import {compile, expectEmit} from './mock_compile'; describe('r3_view_compiler', () => { const angularFiles = setup({ - compileAngular: true, + compileAngular: false, + compileFakeCore: true, compileAnimations: false, - compileCommon: true, }); describe('hello world', () => { @@ -47,7 +47,6 @@ describe('r3_view_compiler', () => { app: { 'example.ts': ` import {Component, OnInit, OnDestroy, ElementRef, Input, NgModule} from '@angular/core'; - import {CommonModule} from '@angular/common'; @Component({ selector: 'my-app', @@ -83,7 +82,6 @@ describe('r3_view_compiler', () => { @NgModule({ declarations: [TodoComponent, MyApp], - imports: [CommonModule] }) export class TodoModule{} ` diff --git a/packages/compiler-cli/test/compliance/r3_view_compiler_styling_spec.ts b/packages/compiler-cli/test/compliance/r3_view_compiler_styling_spec.ts index 00aa063cae..516623def2 100644 --- a/packages/compiler-cli/test/compliance/r3_view_compiler_styling_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_view_compiler_styling_spec.ts @@ -13,9 +13,9 @@ import {compile, expectEmit} from './mock_compile'; describe('compiler compliance: styling', () => { const angularFiles = setup({ - compileAngular: true, + compileAngular: false, + compileFakeCore: true, compileAnimations: false, - compileCommon: true, }); describe('[style] and [style.prop]', () => { diff --git a/packages/compiler-cli/test/compliance/r3_view_compiler_template_spec.ts b/packages/compiler-cli/test/compliance/r3_view_compiler_template_spec.ts index 4d051e5109..7f90ee7cbf 100644 --- a/packages/compiler-cli/test/compliance/r3_view_compiler_template_spec.ts +++ b/packages/compiler-cli/test/compliance/r3_view_compiler_template_spec.ts @@ -11,9 +11,9 @@ import {compile, expectEmit} from './mock_compile'; describe('compiler compliance: template', () => { const angularFiles = setup({ - compileAngular: true, + compileAngular: false, + compileFakeCore: true, compileAnimations: false, - compileCommon: true, }); it('should correctly bind to context in nested template', () => { @@ -21,7 +21,6 @@ describe('compiler compliance: template', () => { app: { 'spec.ts': ` import {Component, NgModule} from '@angular/core'; - import {CommonModule} from '@angular/common'; @Component({ selector: 'my-component', @@ -43,7 +42,7 @@ describe('compiler compliance: template', () => { onClick(outer: any, middle: any, inner: any) { } } - @NgModule({declarations: [MyComponent], imports: [CommonModule]}) + @NgModule({declarations: [MyComponent]}) export class MyModule {} ` } @@ -122,7 +121,6 @@ describe('compiler compliance: template', () => { app: { 'spec.ts': ` import {Component, NgModule} from '@angular/core'; - import {CommonModule} from '@angular/common'; @Component({ selector: 'my-component', @@ -133,7 +131,7 @@ describe('compiler compliance: template', () => { }) export class MyComponent {} - @NgModule({declarations: [MyComponent], imports: [CommonModule]}) + @NgModule({declarations: [MyComponent]}) export class MyModule {} ` } @@ -174,7 +172,6 @@ describe('compiler compliance: template', () => { app: { 'spec.ts': ` import {Component, NgModule} from '@angular/core'; - import {CommonModule} from '@angular/common'; @Component({ selector: 'my-component', @@ -187,7 +184,7 @@ describe('compiler compliance: template', () => { }) export class MyComponent {} - @NgModule({declarations: [MyComponent], imports: [CommonModule]}) + @NgModule({declarations: [MyComponent]}) export class MyModule {} ` } @@ -243,7 +240,6 @@ describe('compiler compliance: template', () => { app: { 'spec.ts': ` import {Component, NgModule} from '@angular/core'; - import {CommonModule} from '@angular/common'; @Component({ selector: 'my-component', @@ -258,7 +254,7 @@ describe('compiler compliance: template', () => { }) export class MyComponent {} - @NgModule({declarations: [MyComponent], imports: [CommonModule]}) + @NgModule({declarations: [MyComponent]}) export class MyModule {} ` } diff --git a/packages/compiler-cli/test/ngtsc/fake_core/index.ts b/packages/compiler-cli/test/ngtsc/fake_core/index.ts index 7e7978e1de..89e622ae45 100644 --- a/packages/compiler-cli/test/ngtsc/fake_core/index.ts +++ b/packages/compiler-cli/test/ngtsc/fake_core/index.ts @@ -47,7 +47,7 @@ export type ModuleWithProviders = any; export class ChangeDetectorRef {} export class ElementRef {} export class Injector {} -export class TemplateRef {} +export class TemplateRef {} export class ViewContainerRef {} export class ɵNgModuleFactory { constructor(public clazz: T) {} @@ -56,3 +56,5 @@ export class ɵNgModuleFactory { export function forwardRef(fn: () => T): T { return fn(); } + +export interface SimpleChanges { [propName: string]: any; } \ No newline at end of file diff --git a/packages/compiler/test/aot/test_util.ts b/packages/compiler/test/aot/test_util.ts index 2a92800aa6..ce969725ef 100644 --- a/packages/compiler/test/aot/test_util.ts +++ b/packages/compiler/test/aot/test_util.ts @@ -602,12 +602,16 @@ export function isInBazel(): boolean { return process.env.TEST_SRCDIR != null; } -export function setup( - options: {compileAngular: boolean, compileAnimations: boolean, compileCommon?: boolean} = { - compileAngular: true, - compileAnimations: true, - compileCommon: false, - }) { +export function setup(options: { + compileAngular: boolean, + compileFakeCore?: boolean, + compileAnimations: boolean, compileCommon?: boolean +} = { + compileAngular: true, + compileAnimations: true, + compileCommon: false, + compileFakeCore: false, +}) { let angularFiles = new Map(); beforeAll(() => { @@ -626,6 +630,11 @@ export function setup( path.join(sources, 'angular/packages/core/npm_package'), 'core', angularFiles, skipDirs); } + if (options.compileFakeCore) { + readBazelWrittenFilesFrom( + path.join(sources, 'angular/packages/compiler-cli/test/ngtsc/fake_core/npm_package'), + 'core', angularFiles, skipDirs); + } if (options.compileAnimations) { // If this fails please add //packages/animations:npm_package as a test data dependency. readBazelWrittenFilesFrom(