build(examples): work around protractor typings issues and fix existing type errors
This works around the typings issues until we have a build of protractor with typings that don't polute global types via ambient type definitions
This commit is contained in:
parent
7105021c41
commit
4e6c41b3a1
3
build.sh
3
build.sh
|
@ -161,5 +161,4 @@ do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# TODO(i): uncomment once the protractor typings issue is resolved
|
./modules/@angular/examples/build.sh
|
||||||
#./modules/@angular/examples/build.sh
|
|
||||||
|
|
|
@ -10,8 +10,8 @@ import {verifyNoBrowserErrors} from '../../../../../_common/e2e_util';
|
||||||
|
|
||||||
describe('contentChild example', () => {
|
describe('contentChild example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
let button: ElementFinder;
|
let button: protractor.ElementFinder;
|
||||||
let result: ElementFinder;
|
let result: protractor.ElementFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/core/di/ts/contentChild/index.html');
|
browser.get('/core/di/ts/contentChild/index.html');
|
||||||
|
|
|
@ -10,8 +10,8 @@ import {verifyNoBrowserErrors} from '../../../../../_common/e2e_util';
|
||||||
|
|
||||||
describe('contentChildren example', () => {
|
describe('contentChildren example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
let button: ElementFinder;
|
let button: protractor.ElementFinder;
|
||||||
let result: ElementFinder;
|
let result: protractor.ElementFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/core/di/ts/contentChildren/index.html');
|
browser.get('/core/di/ts/contentChildren/index.html');
|
||||||
|
|
|
@ -10,8 +10,8 @@ import {verifyNoBrowserErrors} from '../../../../../_common/e2e_util';
|
||||||
|
|
||||||
describe('viewChild example', () => {
|
describe('viewChild example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
let button: ElementFinder;
|
let button: protractor.ElementFinder;
|
||||||
let result: ElementFinder;
|
let result: protractor.ElementFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/core/di/ts/viewChild/index.html');
|
browser.get('/core/di/ts/viewChild/index.html');
|
||||||
|
|
|
@ -25,7 +25,7 @@ export class Pane {
|
||||||
<div>Selected: {{selectedPane}}</div>
|
<div>Selected: {{selectedPane}}</div>
|
||||||
`,
|
`,
|
||||||
})
|
})
|
||||||
export class ViewChildComp implements AfterViewInit {
|
export class ViewChildComp {
|
||||||
@ViewChild(Pane)
|
@ViewChild(Pane)
|
||||||
set pane(v: Pane) {
|
set pane(v: Pane) {
|
||||||
setTimeout(() => { this.selectedPane = v.id; }, 0);
|
setTimeout(() => { this.selectedPane = v.id; }, 0);
|
||||||
|
|
|
@ -10,8 +10,8 @@ import {verifyNoBrowserErrors} from '../../../../../_common/e2e_util';
|
||||||
|
|
||||||
describe('viewChildren example', () => {
|
describe('viewChildren example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
let button: ElementFinder;
|
let button: protractor.ElementFinder;
|
||||||
let result: ElementFinder;
|
let result: protractor.ElementFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/core/di/ts/viewChildren/index.html');
|
browser.get('/core/di/ts/viewChildren/index.html');
|
||||||
|
|
|
@ -10,8 +10,8 @@ import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
|
||||||
|
|
||||||
describe('formBuilder example', () => {
|
describe('formBuilder example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
let inputs: ElementFinder;
|
let inputs: protractor.ElementArrayFinder;
|
||||||
let paragraphs: ElementFinder;
|
let paragraphs: protractor.ElementArrayFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/forms/ts/formBuilder/index.html');
|
browser.get('/forms/ts/formBuilder/index.html');
|
||||||
|
|
|
@ -10,8 +10,8 @@ import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
|
||||||
|
|
||||||
describe('nestedFormArray example', () => {
|
describe('nestedFormArray example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
let inputs: ElementFinder;
|
let inputs: protractor.ElementArrayFinder;
|
||||||
let buttons: ElementFinder;
|
let buttons: protractor.ElementArrayFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/forms/ts/nestedFormArray/index.html');
|
browser.get('/forms/ts/nestedFormArray/index.html');
|
||||||
|
@ -25,12 +25,12 @@ describe('nestedFormArray example', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should add inputs programmatically', () => {
|
it('should add inputs programmatically', () => {
|
||||||
expect(browser.isElementPresent(inputs.get(2))).toBe(false);
|
expect(inputs.count()).toBe(2);
|
||||||
|
|
||||||
buttons.get(1).click();
|
buttons.get(1).click();
|
||||||
inputs = element.all(by.css('input'));
|
inputs = element.all(by.css('input'));
|
||||||
|
|
||||||
expect(browser.isElementPresent(inputs.get(2))).toBe(true);
|
expect(inputs.count()).toBe(3);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should set the value programmatically', () => {
|
it('should set the value programmatically', () => {
|
||||||
|
|
|
@ -34,7 +34,7 @@ export class NestedFormArray {
|
||||||
]),
|
]),
|
||||||
});
|
});
|
||||||
|
|
||||||
get cities(): FormArray { return this.form.get('cities'); }
|
get cities(): FormArray { return this.form.get('cities') as FormArray; }
|
||||||
|
|
||||||
addCity() { this.cities.push(new FormControl()); }
|
addCity() { this.cities.push(new FormControl()); }
|
||||||
|
|
||||||
|
|
|
@ -10,9 +10,9 @@ import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
|
||||||
|
|
||||||
describe('nestedFormGroup example', () => {
|
describe('nestedFormGroup example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
let firstInput: ElementFinder;
|
let firstInput: protractor.ElementFinder;
|
||||||
let lastInput: ElementFinder;
|
let lastInput: protractor.ElementFinder;
|
||||||
let button: ElementFinder;
|
let button: protractor.ElementFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/forms/ts/nestedFormGroup/index.html');
|
browser.get('/forms/ts/nestedFormGroup/index.html');
|
||||||
|
|
|
@ -10,8 +10,8 @@ import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
|
||||||
|
|
||||||
describe('ngModelGroup example', () => {
|
describe('ngModelGroup example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
let inputs: ElementFinder;
|
let inputs: protractor.ElementArrayFinder;
|
||||||
let buttons: ElementFinder;
|
let buttons: protractor.ElementArrayFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/forms/ts/ngModelGroup/index.html');
|
browser.get('/forms/ts/ngModelGroup/index.html');
|
||||||
|
|
|
@ -10,8 +10,8 @@ import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
|
||||||
|
|
||||||
describe('simpleForm example', () => {
|
describe('simpleForm example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
let inputs: ElementFinder;
|
let inputs: protractor.ElementArrayFinder;
|
||||||
let paragraphs: ElementFinder;
|
let paragraphs: protractor.ElementArrayFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/forms/ts/simpleForm/index.html');
|
browser.get('/forms/ts/simpleForm/index.html');
|
||||||
|
|
|
@ -12,9 +12,9 @@ describe('simpleFormControl example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
|
|
||||||
describe('index view', () => {
|
describe('index view', () => {
|
||||||
let input: ElementFinder;
|
let input: protractor.ElementFinder;
|
||||||
let valueP: ElementFinder;
|
let valueP: protractor.ElementFinder;
|
||||||
let statusP: ElementFinder;
|
let statusP: protractor.ElementFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/forms/ts/simpleFormControl/index.html');
|
browser.get('/forms/ts/simpleFormControl/index.html');
|
||||||
|
|
|
@ -12,8 +12,8 @@ describe('formControlName example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
|
|
||||||
describe('index view', () => {
|
describe('index view', () => {
|
||||||
let firstInput: ElementFinder;
|
let firstInput: protractor.ElementFinder;
|
||||||
let lastInput: ElementFinder;
|
let lastInput: protractor.ElementFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/forms/ts/simpleFormGroup/index.html');
|
browser.get('/forms/ts/simpleFormGroup/index.html');
|
||||||
|
|
|
@ -10,9 +10,9 @@ import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
|
||||||
|
|
||||||
describe('simpleNgModel example', () => {
|
describe('simpleNgModel example', () => {
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
let input: ElementFinder;
|
let input: protractor.ElementFinder;
|
||||||
let paragraphs: ElementFinder;
|
let paragraphs: protractor.ElementArrayFinder;
|
||||||
let button: ElementFinder;
|
let button: protractor.ElementFinder;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
browser.get('/forms/ts/simpleNgModel/index.html');
|
browser.get('/forms/ts/simpleNgModel/index.html');
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
"target": "es5",
|
"target": "es5",
|
||||||
"lib": ["es2015", "dom"],
|
"lib": ["es2015", "dom"],
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"types": ["jasmine", "protractor", "node"]
|
"types": ["jasmine", "node"]
|
||||||
},
|
},
|
||||||
"include": [
|
"include": [
|
||||||
"./_common/*.ts",
|
"./_common/*.ts",
|
||||||
|
@ -24,6 +24,8 @@
|
||||||
"./**/test/*.ts",
|
"./**/test/*.ts",
|
||||||
"./**/e2e_test/*.ts",
|
"./**/e2e_test/*.ts",
|
||||||
"../../../node_modules/zone.js/dist/zone.js.d.ts",
|
"../../../node_modules/zone.js/dist/zone.js.d.ts",
|
||||||
"../../system.d.ts"
|
"../../system.d.ts",
|
||||||
|
// TODO(i): we can't use protractor's built-in typings because they contain lots of ambient definitions
|
||||||
|
"../../../node_modules/@types/protractor/index.d.ts",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,8 +37,7 @@ if [[ ${TRAVIS} ]]; then
|
||||||
sh -e /etc/init.d/xvfb start
|
sh -e /etc/init.d/xvfb start
|
||||||
fi
|
fi
|
||||||
NODE_PATH=$NODE_PATH:./dist/all $(npm bin)/protractor ./protractor-e2e.conf.js --bundles=true
|
NODE_PATH=$NODE_PATH:./dist/all $(npm bin)/protractor ./protractor-e2e.conf.js --bundles=true
|
||||||
# TODO(i): uncomment once the protractor typings issue is resolved
|
NODE_PATH=$NODE_PATH:./dist/all $(npm bin)/protractor ./protractor-examples-e2e.conf.js --bundles=true
|
||||||
#NODE_PATH=$NODE_PATH:./dist/all $(npm bin)/protractor ./protractor-examples-e2e.conf.js --bundles=true
|
|
||||||
NODE_PATH=$NODE_PATH:./dist/all $(npm bin)/protractor ./protractor-perf.conf.js --bundles=true --dryrun
|
NODE_PATH=$NODE_PATH:./dist/all $(npm bin)/protractor ./protractor-perf.conf.js --bundles=true --dryrun
|
||||||
echo 'travis_fold:end:test.e2e.localChrome'
|
echo 'travis_fold:end:test.e2e.localChrome'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue