test(ivy): turn on platform-browser-dynamic tests on CI (#27940)
We missed removing the `fixme-ivy-aot` bazel tag from the BUILD file of platform-browser-dynamic, so we weren't running the `//packages/platform-browser-dynamic/test:test_web_chromium-local` test target on CI. This commit turns on the tests and adds root causes where they are known. PR Close #27940
This commit is contained in:
parent
4c9aff5695
commit
6b0c1a71fa
@ -12,6 +12,7 @@ ts_library(
|
|||||||
"//packages/platform-browser-dynamic",
|
"//packages/platform-browser-dynamic",
|
||||||
"//packages/platform-browser-dynamic/testing",
|
"//packages/platform-browser-dynamic/testing",
|
||||||
"//packages/platform-browser/testing",
|
"//packages/platform-browser/testing",
|
||||||
|
"//packages/private/testing",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -30,9 +31,6 @@ ts_web_test_suite(
|
|||||||
"//packages/platform-browser/test:static_assets/test.html",
|
"//packages/platform-browser/test:static_assets/test.html",
|
||||||
"//packages/platform-browser/test:browser/static_assets/200.html",
|
"//packages/platform-browser/test:browser/static_assets/200.html",
|
||||||
],
|
],
|
||||||
tags = [
|
|
||||||
"fixme-ivy-aot",
|
|
||||||
],
|
|
||||||
deps = [
|
deps = [
|
||||||
":test_lib",
|
":test_lib",
|
||||||
],
|
],
|
||||||
|
@ -9,11 +9,10 @@
|
|||||||
import {ResourceLoader, UrlResolver} from '@angular/compiler';
|
import {ResourceLoader, UrlResolver} from '@angular/compiler';
|
||||||
import {Component} from '@angular/core';
|
import {Component} from '@angular/core';
|
||||||
import {TestBed, async, fakeAsync, tick} from '@angular/core/testing';
|
import {TestBed, async, fakeAsync, tick} from '@angular/core/testing';
|
||||||
|
import {CachedResourceLoader} from '@angular/platform-browser-dynamic/src/resource_loader/resource_loader_cache';
|
||||||
|
import {setTemplateCache} from '@angular/platform-browser-dynamic/test/resource_loader/resource_loader_cache_setter';
|
||||||
import {expect} from '@angular/platform-browser/testing/src/matchers';
|
import {expect} from '@angular/platform-browser/testing/src/matchers';
|
||||||
|
import {fixmeIvy} from '@angular/private/testing';
|
||||||
import {CachedResourceLoader} from '../../src/resource_loader/resource_loader_cache';
|
|
||||||
|
|
||||||
import {setTemplateCache} from './resource_loader_cache_setter';
|
|
||||||
|
|
||||||
if (isBrowser) {
|
if (isBrowser) {
|
||||||
describe('CachedResourceLoader', () => {
|
describe('CachedResourceLoader', () => {
|
||||||
@ -55,19 +54,20 @@ if (isBrowser) {
|
|||||||
.catch((error) => {/** success */});
|
.catch((error) => {/** success */});
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('should allow fakeAsync Tests to load components with templateUrl synchronously',
|
fixmeIvy('FW-553: TestBed is unaware of async compilation')
|
||||||
fakeAsync(() => {
|
.it('should allow fakeAsync Tests to load components with templateUrl synchronously',
|
||||||
TestBed.configureTestingModule({declarations: [TestComponent]});
|
fakeAsync(() => {
|
||||||
TestBed.compileComponents();
|
TestBed.configureTestingModule({declarations: [TestComponent]});
|
||||||
tick();
|
TestBed.compileComponents();
|
||||||
|
tick();
|
||||||
|
|
||||||
const fixture = TestBed.createComponent(TestComponent);
|
const fixture = TestBed.createComponent(TestComponent);
|
||||||
|
|
||||||
// This should initialize the fixture.
|
// This should initialize the fixture.
|
||||||
tick();
|
tick();
|
||||||
|
|
||||||
expect(fixture.debugElement.children[0].nativeElement).toHaveText('Hello');
|
expect(fixture.debugElement.children[0].nativeElement).toHaveText('Hello');
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import {AsyncTestCompleter, beforeEach, describe, expect, inject, it} from '@angular/core/testing/src/testing_internal';
|
import {AsyncTestCompleter, beforeEach, describe, expect, inject, it} from '@angular/core/testing/src/testing_internal';
|
||||||
import {ResourceLoaderImpl} from '../../src/resource_loader/resource_loader_impl';
|
import {ResourceLoaderImpl} from '@angular/platform-browser-dynamic/src/resource_loader/resource_loader_impl';
|
||||||
|
|
||||||
if (isBrowser) {
|
if (isBrowser) {
|
||||||
describe('ResourceLoaderImpl', () => {
|
describe('ResourceLoaderImpl', () => {
|
||||||
|
@ -10,7 +10,8 @@ import {ResourceLoader} from '@angular/compiler';
|
|||||||
import {Compiler, Component, NgModule} from '@angular/core';
|
import {Compiler, Component, NgModule} from '@angular/core';
|
||||||
import {TestBed, async, fakeAsync, inject, tick} from '@angular/core/testing';
|
import {TestBed, async, fakeAsync, inject, tick} from '@angular/core/testing';
|
||||||
|
|
||||||
import {ResourceLoaderImpl} from '../src/resource_loader/resource_loader_impl';
|
import {ResourceLoaderImpl} from '@angular/platform-browser-dynamic/src/resource_loader/resource_loader_impl';
|
||||||
|
import {fixmeIvy} from '@angular/private/testing';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -62,10 +63,11 @@ if (isBrowser) {
|
|||||||
{providers: [{provide: FancyService, useValue: new FancyService()}]});
|
{providers: [{provide: FancyService, useValue: new FancyService()}]});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('provides a real ResourceLoader instance',
|
fixmeIvy('unknown').it(
|
||||||
inject([ResourceLoader], (resourceLoader: ResourceLoader) => {
|
'provides a real ResourceLoader instance',
|
||||||
expect(resourceLoader instanceof ResourceLoaderImpl).toBeTruthy();
|
inject([ResourceLoader], (resourceLoader: ResourceLoader) => {
|
||||||
}));
|
expect(resourceLoader instanceof ResourceLoaderImpl).toBeTruthy();
|
||||||
|
}));
|
||||||
|
|
||||||
it('should allow the use of fakeAsync',
|
it('should allow the use of fakeAsync',
|
||||||
fakeAsync(inject([FancyService], (service: any /** TODO #9100 */) => {
|
fakeAsync(inject([FancyService], (service: any /** TODO #9100 */) => {
|
||||||
@ -78,7 +80,7 @@ if (isBrowser) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('Compiler', () => {
|
describe('Compiler', () => {
|
||||||
it('should return NgModule id when asked', () => {
|
fixmeIvy('unknown').it('should return NgModule id when asked', () => {
|
||||||
@NgModule({
|
@NgModule({
|
||||||
id: 'test-module',
|
id: 'test-module',
|
||||||
})
|
})
|
||||||
@ -115,37 +117,41 @@ if (isBrowser) {
|
|||||||
|
|
||||||
const restoreJasmineIt = () => { jasmine.getEnv().it = originalJasmineIt; };
|
const restoreJasmineIt = () => { jasmine.getEnv().it = originalJasmineIt; };
|
||||||
|
|
||||||
it('should fail when an ResourceLoader fails', done => {
|
fixmeIvy('FW-553: TestBed is unaware of async compilation')
|
||||||
const itPromise = patchJasmineIt();
|
.it('should fail when an ResourceLoader fails', done => {
|
||||||
|
const itPromise = patchJasmineIt();
|
||||||
|
|
||||||
it('should fail with an error from a promise', async(() => {
|
it('should fail with an error from a promise', async(() => {
|
||||||
TestBed.configureTestingModule({declarations: [BadTemplateUrl]});
|
TestBed.configureTestingModule({declarations: [BadTemplateUrl]});
|
||||||
TestBed.compileComponents();
|
TestBed.compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
itPromise.then(
|
itPromise.then(
|
||||||
() => { done.fail('Expected test to fail, but it did not'); },
|
() => { done.fail('Expected test to fail, but it did not'); },
|
||||||
(err: any) => {
|
(err: any) => {
|
||||||
expect(err.message)
|
expect(err.message)
|
||||||
.toEqual('Uncaught (in promise): Failed to load non-existent.html');
|
.toEqual('Uncaught (in promise): Failed to load non-existent.html');
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
restoreJasmineIt();
|
restoreJasmineIt();
|
||||||
}, 10000);
|
}, 10000);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('TestBed createComponent', function() {
|
describe('TestBed createComponent', function() {
|
||||||
it('should allow an external templateUrl', async(() => {
|
fixmeIvy('FW-553: TestBed is unaware of async compilation')
|
||||||
TestBed.configureTestingModule({declarations: [ExternalTemplateComp]});
|
.it('should allow an external templateUrl', async(() => {
|
||||||
TestBed.compileComponents().then(() => {
|
TestBed.configureTestingModule({declarations: [ExternalTemplateComp]});
|
||||||
const componentFixture = TestBed.createComponent(ExternalTemplateComp);
|
TestBed.compileComponents().then(() => {
|
||||||
componentFixture.detectChanges();
|
const componentFixture = TestBed.createComponent(ExternalTemplateComp);
|
||||||
expect(componentFixture.nativeElement.textContent).toEqual('from external template');
|
componentFixture.detectChanges();
|
||||||
});
|
expect(componentFixture.nativeElement.textContent)
|
||||||
}),
|
.toEqual('from external template');
|
||||||
10000); // Long timeout here because this test makes an actual ResourceLoader request, and
|
});
|
||||||
// is slow
|
}),
|
||||||
// on Edge.
|
10000); // Long timeout here because this test makes an actual ResourceLoader
|
||||||
|
// request, and
|
||||||
|
// is slow
|
||||||
|
// on Edge.
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user