build(examples): upgrade to protractor 4.0.9 (#12803)

closes #12798
This commit is contained in:
Victor Berchet 2016-11-10 18:13:11 -08:00 committed by GitHub
parent fcb4e66493
commit 1bd858fb43
53 changed files with 254 additions and 279 deletions

View File

@ -6,6 +6,8 @@
* found in the LICENSE file at https://angular.io/license
*/
import {$, browser} from 'protractor';
var benchpress = require('../../index.js');
var runner = new benchpress.Runner([
// use protractor as Webdriver client

View File

@ -6,6 +6,8 @@
* found in the LICENSE file at https://angular.io/license
*/
import {browser} from 'protractor';
var assertEventsContainsName = function(events: any[], eventName: string) {
var found = false;
for (var i = 0; i < events.length; ++i) {

View File

@ -6,10 +6,11 @@
* found in the LICENSE file at https://angular.io/license
*/
import {$, ExpectedConditions, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
function waitForElement(selector: string) {
var EC = (<any>protractor).ExpectedConditions;
var EC = ExpectedConditions;
// Waits for the element with id 'abc' to be present on the dom.
browser.wait(EC.presenceOf($(selector)), 20000);
}

View File

@ -6,10 +6,11 @@
* found in the LICENSE file at https://angular.io/license
*/
import {$, ExpectedConditions, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../../_common/e2e_util';
function waitForElement(selector: string) {
var EC = (<any>protractor).ExpectedConditions;
var EC = ExpectedConditions;
// Waits for the element with id 'abc' to be present on the dom.
browser.wait(EC.presenceOf($(selector)), 20000);
}

View File

@ -6,12 +6,13 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../../_common/e2e_util';
describe('contentChild example', () => {
afterEach(verifyNoBrowserErrors);
let button: protractor.ElementFinder;
let result: protractor.ElementFinder;
let button: ElementFinder;
let result: ElementFinder;
beforeEach(() => {
browser.get('/core/di/ts/contentChild/index.html');

View File

@ -6,12 +6,13 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../../_common/e2e_util';
describe('contentChildren example', () => {
afterEach(verifyNoBrowserErrors);
let button: protractor.ElementFinder;
let result: protractor.ElementFinder;
let button: ElementFinder;
let result: ElementFinder;
beforeEach(() => {
browser.get('/core/di/ts/contentChildren/index.html');

View File

@ -6,12 +6,13 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../../_common/e2e_util';
describe('viewChild example', () => {
afterEach(verifyNoBrowserErrors);
let button: protractor.ElementFinder;
let result: protractor.ElementFinder;
let button: ElementFinder;
let result: ElementFinder;
beforeEach(() => {
browser.get('/core/di/ts/viewChild/index.html');

View File

@ -6,12 +6,14 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../../_common/e2e_util';
describe('viewChildren example', () => {
afterEach(verifyNoBrowserErrors);
let button: protractor.ElementFinder;
let result: protractor.ElementFinder;
let button: ElementFinder;
let result: ElementFinder;
beforeEach(() => {
browser.get('/core/di/ts/viewChildren/index.html');

View File

@ -6,12 +6,13 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementArrayFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('formBuilder example', () => {
afterEach(verifyNoBrowserErrors);
let inputs: protractor.ElementArrayFinder;
let paragraphs: protractor.ElementArrayFinder;
let inputs: ElementArrayFinder;
let paragraphs: ElementArrayFinder;
beforeEach(() => {
browser.get('/forms/ts/formBuilder/index.html');

View File

@ -6,12 +6,13 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementArrayFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('nestedFormArray example', () => {
afterEach(verifyNoBrowserErrors);
let inputs: protractor.ElementArrayFinder;
let buttons: protractor.ElementArrayFinder;
let inputs: ElementArrayFinder;
let buttons: ElementArrayFinder;
beforeEach(() => {
browser.get('/forms/ts/nestedFormArray/index.html');

View File

@ -6,13 +6,14 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('nestedFormGroup example', () => {
afterEach(verifyNoBrowserErrors);
let firstInput: protractor.ElementFinder;
let lastInput: protractor.ElementFinder;
let button: protractor.ElementFinder;
let firstInput: ElementFinder;
let lastInput: ElementFinder;
let button: ElementFinder;
beforeEach(() => {
browser.get('/forms/ts/nestedFormGroup/index.html');

View File

@ -6,12 +6,13 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementArrayFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('ngModelGroup example', () => {
afterEach(verifyNoBrowserErrors);
let inputs: protractor.ElementArrayFinder;
let buttons: protractor.ElementArrayFinder;
let inputs: ElementArrayFinder;
let buttons: ElementArrayFinder;
beforeEach(() => {
browser.get('/forms/ts/ngModelGroup/index.html');

View File

@ -6,12 +6,13 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementArrayFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('radioButtons example', () => {
afterEach(verifyNoBrowserErrors);
let inputs: protractor.ElementArrayFinder;
let paragraphs: protractor.ElementArrayFinder;
let inputs: ElementArrayFinder;
let paragraphs: ElementArrayFinder;
beforeEach(() => {
browser.get('/forms/ts/radioButtons/index.html');

View File

@ -6,11 +6,12 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementArrayFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('radioButtons example', () => {
afterEach(verifyNoBrowserErrors);
let inputs: protractor.ElementArrayFinder;
let inputs: ElementArrayFinder;
beforeEach(() => {
browser.get('/forms/ts/reactiveRadioButtons/index.html');

View File

@ -6,13 +6,14 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementArrayFinder, ElementFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('reactiveSelectControl example', () => {
afterEach(verifyNoBrowserErrors);
let select: protractor.ElementFinder;
let options: protractor.ElementArrayFinder;
let p: protractor.ElementFinder;
let select: ElementFinder;
let options: ElementArrayFinder;
let p: ElementFinder;
beforeEach(() => {
browser.get('/forms/ts/reactiveSelectControl/index.html');

View File

@ -6,13 +6,14 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementArrayFinder, ElementFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('selectControl example', () => {
afterEach(verifyNoBrowserErrors);
let select: protractor.ElementFinder;
let options: protractor.ElementArrayFinder;
let p: protractor.ElementFinder;
let select: ElementFinder;
let options: ElementArrayFinder;
let p: ElementFinder;
beforeEach(() => {
browser.get('/forms/ts/selectControl/index.html');

View File

@ -6,12 +6,13 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementArrayFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('simpleForm example', () => {
afterEach(verifyNoBrowserErrors);
let inputs: protractor.ElementArrayFinder;
let paragraphs: protractor.ElementArrayFinder;
let inputs: ElementArrayFinder;
let paragraphs: ElementArrayFinder;
beforeEach(() => {
browser.get('/forms/ts/simpleForm/index.html');

View File

@ -6,15 +6,16 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('simpleFormControl example', () => {
afterEach(verifyNoBrowserErrors);
describe('index view', () => {
let input: protractor.ElementFinder;
let valueP: protractor.ElementFinder;
let statusP: protractor.ElementFinder;
let input: ElementFinder;
let valueP: ElementFinder;
let statusP: ElementFinder;
beforeEach(() => {
browser.get('/forms/ts/simpleFormControl/index.html');

View File

@ -6,14 +6,15 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('formControlName example', () => {
afterEach(verifyNoBrowserErrors);
describe('index view', () => {
let firstInput: protractor.ElementFinder;
let lastInput: protractor.ElementFinder;
let firstInput: ElementFinder;
let lastInput: ElementFinder;
beforeEach(() => {
browser.get('/forms/ts/simpleFormGroup/index.html');

View File

@ -6,13 +6,14 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ElementArrayFinder, ElementFinder, browser, by, element} from 'protractor';
import {verifyNoBrowserErrors} from '../../../../_common/e2e_util';
describe('simpleNgModel example', () => {
afterEach(verifyNoBrowserErrors);
let input: protractor.ElementFinder;
let paragraphs: protractor.ElementArrayFinder;
let button: protractor.ElementFinder;
let input: ElementFinder;
let paragraphs: ElementArrayFinder;
let button: ElementFinder;
beforeEach(() => {
browser.get('/forms/ts/simpleNgModel/index.html');

View File

@ -25,7 +25,6 @@
"testing/index.ts",
"../../../node_modules/@types/hammerjs/index.d.ts",
"../../../node_modules/@types/jasmine/index.d.ts",
"../../../node_modules/@types/protractor/index.d.ts",
"../../../node_modules/zone.js/dist/zone.js.d.ts"
],
"angularCompilerOptions": {

View File

@ -7,6 +7,7 @@
*/
import {runBenchmark, verifyNoBrowserErrors} from 'e2e_util/perf_util';
import {$} from 'protractor';
interface Worker {
id: string;

View File

@ -7,6 +7,7 @@
*/
import {openBrowser, verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {$, By, element} from 'protractor';
describe('largeform benchmark spec', () => {

View File

@ -7,6 +7,7 @@
*/
import {runBenchmark, verifyNoBrowserErrors} from 'e2e_util/perf_util';
import {$} from 'protractor';
interface Worker {
id: string;

View File

@ -7,6 +7,7 @@
*/
import {openBrowser, verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {$} from 'protractor';
describe('largetable benchmark spec', () => {

View File

@ -7,6 +7,7 @@
*/
import {runBenchmark, verifyNoBrowserErrors} from 'e2e_util/perf_util';
import {$} from 'protractor';
interface Worker {
id: string;

View File

@ -7,6 +7,7 @@
*/
import {openBrowser, verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {$} from 'protractor';
describe('tree benchmark spec', () => {

View File

@ -5,12 +5,14 @@
* 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 {browser} from 'protractor';
const yargs = require('yargs');
import * as webdriver from 'selenium-webdriver';
let cmdArgs: {'bundles': boolean};
declare var browser: any;
declare var expect: any;
export function readCommandLine(extraOptions?: {[key: string]: any}) {

View File

@ -7,6 +7,8 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {$, browser} from 'protractor';
import {promise} from 'selenium-webdriver';
describe('async', () => {
var URL = 'all/playground/src/async/index.html';
@ -67,7 +69,7 @@ describe('async', () => {
});
it('should wait via frameworkStabilizer', () => {
var whenAllStable = function() {
var whenAllStable = (): promise.Promise<any> => {
return browser.executeAsyncScript('window.frameworkStabilizers[0](arguments[0]);');
};
@ -82,14 +84,14 @@ describe('async', () => {
timeout.$('.action').click();
whenAllStable().then((didWork) => {
whenAllStable().then((didWork: any) => {
// whenAllStable should only be called when all the async actions
// finished, so the count should be 10 at this point.
expect(timeout.$('.val').getText()).toEqual('10');
expect(didWork).toBeTruthy(); // Work was done.
});
whenAllStable().then((didWork) => {
whenAllStable().then((didWork: any) => {
// whenAllStable should be called immediately since nothing is pending.
expect(didWork).toBeFalsy(); // No work was done.
browser.ignoreSynchronization = false;

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser} from 'protractor';
describe('hello world', function() {

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser} from 'protractor';
describe('http', function() {

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser} from 'protractor';
describe('jsonp', function() {

View File

@ -7,6 +7,9 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser, by, element, protractor} from 'protractor';
const Key = protractor.Key;
describe('key_events', function() {
@ -20,13 +23,13 @@ describe('key_events', function() {
expect(firstArea.getText()).toEqual('(none)');
// testing different key categories:
firstArea.sendKeys(protractor.Key.ENTER);
firstArea.sendKeys(Key.ENTER);
expect(firstArea.getText()).toEqual('enter');
firstArea.sendKeys(protractor.Key.SHIFT, protractor.Key.ENTER);
firstArea.sendKeys(Key.SHIFT, Key.ENTER);
expect(firstArea.getText()).toEqual('shift.enter');
firstArea.sendKeys(protractor.Key.CONTROL, protractor.Key.SHIFT, protractor.Key.ENTER);
firstArea.sendKeys(Key.CONTROL, Key.SHIFT, Key.ENTER);
expect(firstArea.getText()).toEqual('control.shift.enter');
firstArea.sendKeys(' ');
@ -37,41 +40,41 @@ describe('key_events', function() {
firstArea.sendKeys('u');
expect(firstArea.getText()).toEqual('u');
firstArea.sendKeys(protractor.Key.CONTROL, 'b');
firstArea.sendKeys(Key.CONTROL, 'b');
expect(firstArea.getText()).toEqual('control.b');
firstArea.sendKeys(protractor.Key.F1);
firstArea.sendKeys(Key.F1);
expect(firstArea.getText()).toEqual('f1');
firstArea.sendKeys(protractor.Key.ALT, protractor.Key.F1);
firstArea.sendKeys(Key.ALT, Key.F1);
expect(firstArea.getText()).toEqual('alt.f1');
firstArea.sendKeys(protractor.Key.CONTROL, protractor.Key.F1);
firstArea.sendKeys(Key.CONTROL, Key.F1);
expect(firstArea.getText()).toEqual('control.f1');
// There is an issue with protractor.Key.NUMPAD0 (and other NUMPADx):
// There is an issue with Key.NUMPAD0 (and other NUMPADx):
// chromedriver does not correctly set the location property on the event to
// specify that the key is on the numeric keypad (event.location = 3)
// so the following test fails:
// firstArea.sendKeys(protractor.Key.NUMPAD0);
// firstArea.sendKeys(Key.NUMPAD0);
// expect(firstArea.getText()).toEqual('0');
});
it('should correctly react to the specified key', function() {
var secondArea = element.all(by.css('.sample-area')).get(1);
secondArea.sendKeys(protractor.Key.SHIFT, protractor.Key.ENTER);
secondArea.sendKeys(Key.SHIFT, Key.ENTER);
expect(secondArea.getText()).toEqual('You pressed shift.enter!');
});
it('should not react to incomplete keys', function() {
var secondArea = element.all(by.css('.sample-area')).get(1);
secondArea.sendKeys(protractor.Key.ENTER);
secondArea.sendKeys(Key.ENTER);
expect(secondArea.getText()).toEqual('');
});
it('should not react to keys with more modifiers', function() {
var secondArea = element.all(by.css('.sample-area')).get(1);
secondArea.sendKeys(protractor.Key.CONTROL, protractor.Key.SHIFT, protractor.Key.ENTER);
secondArea.sendKeys(Key.CONTROL, Key.SHIFT, Key.ENTER);
expect(secondArea.getText()).toEqual('');
});

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser, by, element} from 'protractor';
describe('Model-Driven Forms', function() {
@ -24,6 +25,9 @@ describe('Model-Driven Forms', function() {
input.sendKeys('invalid');
firstName.click();
expect(form.getInnerHtml()).toContain('is invalid credit card number');
// TODO: getInnerHtml has been deprecated by selenium-webdriver in the
// upcoming release of 3.0.0. Protractor has removed this method from
// ElementFinder but can still be accessed via WebElement.
expect(form.getWebElement().getInnerHtml()).toContain('is invalid credit card number');
});
});

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser} from 'protractor';
describe('Order Management CRUD', function() {
var URL = 'all/playground/src/order_management/index.html';

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser} from 'protractor';
describe('Person Management CRUD', function() {
var URL = 'all/playground/src/person_management/index.html';

View File

@ -7,11 +7,11 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {$, ExpectedConditions, browser, by, element} from 'protractor';
function waitForElement(selector: string) {
const EC = protractor.ExpectedConditions;
// Waits for the element with id 'abc' to be present on the dom.
browser.wait(EC.presenceOf($(selector)), 20000);
browser.wait(ExpectedConditions.presenceOf($(selector)), 20000);
}
describe('relative assets relative-app', () => {

View File

@ -7,11 +7,11 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {$, ExpectedConditions, browser, by, element} from 'protractor';
function waitForElement(selector: string) {
const EC = protractor.ExpectedConditions;
// Waits for the element with id 'abc' to be present on the dom.
browser.wait(EC.presenceOf($(selector)), 20000);
browser.wait(ExpectedConditions.presenceOf($(selector)), 20000);
}
describe('routing inbox-app', () => {

View File

@ -6,7 +6,9 @@
* found in the LICENSE file at https://angular.io/license
*/
import * as testUtil from 'e2e_util/e2e_util';
import {$, browser} from 'protractor';
import {logging} from 'selenium-webdriver';
var fs = require('fs');
var sourceMap = require('source-map');
@ -22,10 +24,10 @@ describe('sourcemaps', function() {
// TODO(tbosch): Bug in ChromeDriver: Need to execute at least one command
// so that the browser logs can be read out!
browser.executeScript('1+1');
browser.manage().logs().get('browser').then(function(logs) {
browser.manage().logs().get(logging.Type.BROWSER).then(function(logs: any) {
var errorLine: number = null;
var errorColumn: number = null;
logs.forEach(function(log) {
logs.forEach(function(log: any) {
const match = log.message.match(/\.createError\s+\(.+:(\d+):(\d+)/m);
if (match) {
errorLine = parseInt(match[1]);

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser, by, element} from 'protractor';
describe('SVG', function() {

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser, by, element} from 'protractor';
describe('Template-Driven Forms', function() {
@ -24,6 +25,9 @@ describe('Template-Driven Forms', function() {
input.sendKeys('invalid');
firstName.click();
expect(form.getInnerHtml()).toContain('is invalid credit card number');
// TODO: getInnerHtml has been deprecated by selenium-webdriver in the
// upcoming release of 3.0.0. Protractor has removed this method from
// ElementFinder but can still be accessed via WebElement.
expect(form.getWebElement().getInnerHtml()).toContain('is invalid credit card number');
});
});

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser, by, element} from 'protractor';
// TODO(i): reenable once we are using a version of protractor containing the
// change in https://github.com/angular/protractor/pull/3403

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser, by, element, protractor} from 'protractor';
describe('WebWorkers Animations', function() {
afterEach(() => {

View File

@ -7,6 +7,8 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {ExpectedConditions, browser, by, element, protractor} from 'protractor';
describe('WebWorkers Input', function() {
afterEach(() => {
@ -37,8 +39,7 @@ describe('WebWorkers Input', function() {
input.sendKeys(VALUE);
let displayElem = element(by.css(selector + ' .input-val'));
const expectedVal = `Input val is ${VALUE}.`;
browser.wait(
protractor.ExpectedConditions.textToBePresentInElement(displayElem, expectedVal), 5000);
browser.wait(ExpectedConditions.textToBePresentInElement(displayElem, expectedVal), 5000);
expect(displayElem.getText()).toEqual(expectedVal);
});
@ -52,20 +53,19 @@ describe('WebWorkers Input', function() {
input.sendKeys(VALUE);
let displayElem = element(by.css(selector + ' .textarea-val'));
const expectedVal = `Textarea val is ${VALUE}.`;
browser.wait(
protractor.ExpectedConditions.textToBePresentInElement(displayElem, expectedVal), 5000);
browser.wait(ExpectedConditions.textToBePresentInElement(displayElem, expectedVal), 5000);
expect(displayElem.getText()).toEqual(expectedVal);
});
function waitForBootstrap() {
browser.wait(protractor.until.elementLocated(by.css(selector + ' h2')), 5000)
.then(
_ => {
() => {
let elem = element(by.css(selector + ' h2'));
browser.wait(
protractor.ExpectedConditions.textToBePresentInElement(elem, 'Input App'), 5000);
},
_ => {
() => {
// jasmine will timeout if this gets called too many times
console.log('>> unexpected timeout -> browser.refresh()');
browser.refresh();

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {ExpectedConditions, browser, by, element, protractor} from 'protractor';
describe('WebWorkers Kitchen Sink', function() {
afterEach(() => {
@ -23,8 +24,7 @@ describe('WebWorkers Kitchen Sink', function() {
browser.wait(protractor.until.elementLocated(by.css(selector)), 15000);
var elem = element(by.css(selector));
browser.wait(
protractor.ExpectedConditions.textToBePresentInElement(elem, 'hello world!'), 5000);
browser.wait(ExpectedConditions.textToBePresentInElement(elem, 'hello world!'), 5000);
expect(elem.getText()).toEqual('hello world!');
});
@ -38,8 +38,7 @@ describe('WebWorkers Kitchen Sink', function() {
browser.wait(protractor.until.elementLocated(by.css(changeButtonSelector)), 15000);
element(by.css(changeButtonSelector)).click();
var elem = element(by.css(selector));
browser.wait(
protractor.ExpectedConditions.textToBePresentInElement(elem, 'howdy world!'), 5000);
browser.wait(ExpectedConditions.textToBePresentInElement(elem, 'howdy world!'), 5000);
expect(elem.getText()).toEqual('howdy world!');
});
@ -53,7 +52,7 @@ describe('WebWorkers Kitchen Sink', function() {
expect(area.getText()).toEqual('(none)');
area.sendKeys('u');
browser.wait(protractor.ExpectedConditions.textToBePresentInElement(area, 'U'), 5000);
browser.wait(ExpectedConditions.textToBePresentInElement(area, 'U'), 5000);
expect(area.getText()).toEqual('U');
});
});

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {ExpectedConditions, browser, by, element, protractor} from 'protractor';
var URL = 'all/playground/src/web_workers/message_broker/index.html';
@ -36,7 +37,7 @@ describe('MessageBroker', function() {
input.sendKeys(VALUE);
element(by.css('#send_echo')).click();
var area = element(by.css('#echo_result'));
browser.wait(protractor.ExpectedConditions.textToBePresentInElement(area, VALUE), 5000);
browser.wait(ExpectedConditions.textToBePresentInElement(area, VALUE), 5000);
expect(area.getText()).toEqual(VALUE);
});
});

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser, by, element, protractor} from 'protractor';
describe('WebWorker Router', () => {
beforeEach(() => {
@ -67,7 +68,7 @@ describe('WebWorker Router', () => {
browser.wait(() => {
let deferred = protractor.promise.defer();
const elem = element(by.css(contentSelector));
elem.getText().then((text) => deferred.fulfill(text === expected));
elem.getText().then((text: string) => { return deferred.fulfill(text === expected); });
return deferred.promise;
}, 5000);
}
@ -75,7 +76,8 @@ describe('WebWorker Router', () => {
function waitForUrl(regex: RegExp): void {
browser.wait(() => {
let deferred = protractor.promise.defer();
browser.getCurrentUrl().then((url) => deferred.fulfill(url.match(regex) !== null));
browser.getCurrentUrl().then(
(url: string) => { return deferred.fulfill(url.match(regex) !== null); });
return deferred.promise;
}, 5000);
}

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser, by, element, protractor} from 'protractor';
describe('WebWorkers Todo', function() {
afterEach(() => {

View File

@ -7,6 +7,7 @@
*/
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
import {browser, by, element} from 'protractor';
describe('Zippy Component', function() {

1
modules/types.d.ts vendored
View File

@ -12,7 +12,6 @@
/// <reference path="../node_modules/@types/hammerjs/index.d.ts" />
/// <reference path="../node_modules/@types/jasmine/index.d.ts" />
/// <reference path="../node_modules/@types/node/index.d.ts" />
/// <reference path="../node_modules/@types/protractor/index.d.ts" />
/// <reference path="../node_modules/@types/selenium-webdriver/index.d.ts" />
/// <reference path="./es6-subset.d.ts" />
/// <reference path="./system.d.ts" />

View File

@ -30,12 +30,12 @@
"version": "4.0.22-alpha",
"dev": true
},
"@types/protractor": {
"version": "1.5.11-alpha",
"@types/q": {
"version": "0.0.32",
"dev": true
},
"@types/selenium-webdriver": {
"version": "2.44.20-alpha",
"version": "2.53.35",
"dev": true
},
"accepts": {
@ -224,12 +224,16 @@
"version": "0.1.6",
"dev": true
},
"asynckit": {
"version": "0.4.0",
"dev": true
},
"aws-sign2": {
"version": "0.6.0",
"dev": true
},
"aws4": {
"version": "1.4.1",
"version": "1.5.0",
"dev": true
},
"backo2": {
@ -279,14 +283,7 @@
"bcrypt-pbkdf": {
"version": "1.0.0",
"dev": true,
"optional": true,
"dependencies": {
"tweetnacl": {
"version": "0.14.3",
"dev": true,
"optional": true
}
}
"optional": true
},
"beeper": {
"version": "1.1.0",
@ -2579,23 +2576,15 @@
"dev": true
},
"form-data": {
"version": "1.0.1",
"version": "2.1.2",
"dev": true,
"dependencies": {
"async": {
"version": "2.0.1",
"dev": true
},
"lodash": {
"version": "4.15.0",
"dev": true
},
"mime-db": {
"version": "1.23.0",
"version": "1.24.0",
"dev": true
},
"mime-types": {
"version": "2.1.11",
"version": "2.1.12",
"dev": true
}
}
@ -3259,7 +3248,7 @@
"dev": true,
"dependencies": {
"glob": {
"version": "7.0.6",
"version": "7.1.1",
"dev": true
}
}
@ -3501,7 +3490,11 @@
"dev": true,
"dependencies": {
"is-my-json-valid": {
"version": "2.13.1",
"version": "2.15.0",
"dev": true
},
"jsonpointer": {
"version": "4.0.0",
"dev": true
}
}
@ -3831,7 +3824,7 @@
"optional": true
},
"json-schema": {
"version": "0.2.2",
"version": "0.2.3",
"dev": true
},
"json-stringify-safe": {
@ -3867,7 +3860,7 @@
"dev": true
},
"jsprim": {
"version": "1.3.0",
"version": "1.3.1",
"dev": true
},
"jstransform": {
@ -4591,7 +4584,7 @@
"dev": true
},
"path-is-inside": {
"version": "1.0.1",
"version": "1.0.2",
"dev": true
},
"path-type": {
@ -4661,65 +4654,35 @@
"dev": true
},
"protractor": {
"version": "4.0.5",
"version": "4.0.11",
"dev": true,
"dependencies": {
"@types/jasmine": {
"version": "2.2.33",
"version": "2.5.37",
"dev": true
},
"@types/node": {
"version": "6.0.38",
"dev": true
},
"bl": {
"version": "1.1.2",
"version": "6.0.46",
"dev": true
},
"glob": {
"version": "7.0.6",
"dev": true
},
"isarray": {
"version": "1.0.0",
"dev": true
},
"jasmine": {
"version": "2.4.1",
"dev": true,
"dependencies": {
"glob": {
"version": "3.2.11",
"dev": true
},
"minimatch": {
"version": "0.3.0",
"dev": true
}
}
},
"jasmine-core": {
"version": "2.4.1",
"version": "7.1.1",
"dev": true
},
"mime-db": {
"version": "1.23.0",
"version": "1.24.0",
"dev": true
},
"mime-types": {
"version": "2.1.11",
"version": "2.1.12",
"dev": true
},
"qs": {
"version": "6.2.1",
"dev": true
},
"readable-stream": {
"version": "2.0.6",
"version": "6.3.0",
"dev": true
},
"request": {
"version": "2.74.0",
"version": "2.78.0",
"dev": true
},
"rimraf": {
@ -4730,12 +4693,16 @@
"version": "1.3.0",
"dev": true
},
"semver": {
"version": "5.3.0",
"dev": true
},
"tough-cookie": {
"version": "2.3.1",
"version": "2.3.2",
"dev": true
},
"webdriver-manager": {
"version": "10.2.3",
"version": "10.2.8",
"dev": true
}
}
@ -5263,7 +5230,7 @@
"dev": true
},
"sshpk": {
"version": "1.10.0",
"version": "1.10.1",
"dev": true,
"dependencies": {
"assert-plus": {
@ -5526,7 +5493,7 @@
"dev": true
},
"tweetnacl": {
"version": "0.13.3",
"version": "0.14.3",
"dev": true,
"optional": true
},

207
npm-shrinkwrap.json generated
View File

@ -44,16 +44,16 @@
"resolved": "https://registry.npmjs.org/@types/node/-/node-4.0.22-alpha.tgz",
"dev": true
},
"@types/protractor": {
"version": "1.5.11-alpha",
"from": "@types/protractor@latest",
"resolved": "https://registry.npmjs.org/@types/protractor/-/protractor-1.5.11-alpha.tgz",
"@types/q": {
"version": "0.0.32",
"from": "@types/q@>=0.0.32 <0.0.33",
"resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
"dev": true
},
"@types/selenium-webdriver": {
"version": "2.44.20-alpha",
"version": "2.53.35",
"from": "@types/selenium-webdriver@latest",
"resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-2.44.20-alpha.tgz",
"resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-2.53.35.tgz",
"dev": true
},
"accepts": {
@ -330,6 +330,12 @@
"resolved": "https://registry.npmjs.org/async-each/-/async-each-0.1.6.tgz",
"dev": true
},
"asynckit": {
"version": "0.4.0",
"from": "asynckit@>=0.4.0 <0.5.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"dev": true
},
"aws-sign2": {
"version": "0.6.0",
"from": "aws-sign2@>=0.6.0 <0.7.0",
@ -337,9 +343,9 @@
"dev": true
},
"aws4": {
"version": "1.4.1",
"version": "1.5.0",
"from": "aws4@>=1.2.1 <2.0.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz",
"dev": true
},
"backo2": {
@ -413,16 +419,7 @@
"from": "bcrypt-pbkdf@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz",
"dev": true,
"optional": true,
"dependencies": {
"tweetnacl": {
"version": "0.14.3",
"from": "tweetnacl@>=0.14.3 <0.15.0",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz",
"dev": true,
"optional": true
}
}
"optional": true
},
"beeper": {
"version": "1.1.0",
@ -3725,33 +3722,21 @@
"dev": true
},
"form-data": {
"version": "1.0.1",
"from": "form-data@>=1.0.0-rc4 <1.1.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz",
"version": "2.1.2",
"from": "form-data@>=2.1.1 <2.2.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz",
"dev": true,
"dependencies": {
"async": {
"version": "2.0.1",
"from": "async@>=2.0.1 <3.0.0",
"resolved": "https://registry.npmjs.org/async/-/async-2.0.1.tgz",
"dev": true
},
"lodash": {
"version": "4.15.0",
"from": "lodash@>=4.8.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.15.0.tgz",
"dev": true
},
"mime-db": {
"version": "1.23.0",
"from": "mime-db@>=1.23.0 <1.24.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz",
"version": "1.24.0",
"from": "mime-db@>=1.24.0 <1.25.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz",
"dev": true
},
"mime-types": {
"version": "2.1.11",
"from": "mime-types@2.1.11",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
"version": "2.1.12",
"from": "mime-types@^2.1.12",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz",
"dev": true
}
}
@ -4729,9 +4714,9 @@
"dev": true,
"dependencies": {
"glob": {
"version": "7.0.6",
"from": "glob@7.0.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
"version": "7.1.1",
"from": "glob@^7.0.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
"dev": true
}
}
@ -5081,9 +5066,15 @@
"dev": true,
"dependencies": {
"is-my-json-valid": {
"version": "2.13.1",
"version": "2.15.0",
"from": "is-my-json-valid@>=2.12.4 <3.0.0",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz",
"dev": true
},
"jsonpointer": {
"version": "4.0.0",
"from": "jsonpointer@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz",
"dev": true
}
}
@ -5569,9 +5560,9 @@
"optional": true
},
"json-schema": {
"version": "0.2.2",
"from": "json-schema@0.2.2",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz",
"version": "0.2.3",
"from": "json-schema@0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"dev": true
},
"json-stringify-safe": {
@ -5623,9 +5614,9 @@
"dev": true
},
"jsprim": {
"version": "1.3.0",
"version": "1.3.1",
"from": "jsprim@>=1.2.2 <2.0.0",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz",
"dev": true
},
"jstransform": {
@ -6683,9 +6674,9 @@
"dev": true
},
"path-is-inside": {
"version": "1.0.1",
"version": "1.0.2",
"from": "path-is-inside@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
"dev": true
},
"path-type": {
@ -6787,95 +6778,51 @@
"dev": true
},
"protractor": {
"version": "4.0.5",
"from": "protractor@4.0.5",
"resolved": "https://registry.npmjs.org/protractor/-/protractor-4.0.5.tgz",
"version": "4.0.11",
"from": "protractor@4.0.11",
"resolved": "https://registry.npmjs.org/protractor/-/protractor-4.0.11.tgz",
"dev": true,
"dependencies": {
"@types/jasmine": {
"version": "2.2.33",
"from": "@types/jasmine@>=2.2.31 <3.0.0",
"resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.2.33.tgz",
"version": "2.5.37",
"from": "@types/jasmine@>=2.5.36 <3.0.0",
"resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.5.37.tgz",
"dev": true
},
"@types/node": {
"version": "6.0.38",
"from": "@types/node@>=6.0.35 <7.0.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.38.tgz",
"dev": true
},
"bl": {
"version": "1.1.2",
"from": "bl@>=1.1.2 <1.2.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
"version": "6.0.46",
"from": "@types/node@>=6.0.46 <7.0.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.46.tgz",
"dev": true
},
"glob": {
"version": "7.0.6",
"version": "7.1.1",
"from": "glob@>=7.0.3 <8.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
"dev": true
},
"isarray": {
"version": "1.0.0",
"from": "isarray@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"dev": true
},
"jasmine": {
"version": "2.4.1",
"from": "jasmine@2.4.1",
"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.4.1.tgz",
"dev": true,
"dependencies": {
"glob": {
"version": "3.2.11",
"from": "glob@>=3.2.11 <4.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
"dev": true
},
"minimatch": {
"version": "0.3.0",
"from": "minimatch@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
"dev": true
}
}
},
"jasmine-core": {
"version": "2.4.1",
"from": "jasmine-core@>=2.4.0 <2.5.0",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.4.1.tgz",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
"dev": true
},
"mime-db": {
"version": "1.23.0",
"from": "mime-db@1.23.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz",
"version": "1.24.0",
"from": "mime-db@~1.24.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz",
"dev": true
},
"mime-types": {
"version": "2.1.11",
"version": "2.1.12",
"from": "mime-types@>=2.1.7 <2.2.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz",
"dev": true
},
"qs": {
"version": "6.2.1",
"from": "qs@>=6.2.0 <6.3.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz",
"dev": true
},
"readable-stream": {
"version": "2.0.6",
"from": "readable-stream@>=2.0.5 <2.1.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"version": "6.3.0",
"from": "qs@>=6.3.0 <6.4.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz",
"dev": true
},
"request": {
"version": "2.74.0",
"from": "request@>=2.69.0 <3.0.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.74.0.tgz",
"version": "2.78.0",
"from": "request@>=2.78.0 <3.0.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.78.0.tgz",
"dev": true
},
"rimraf": {
@ -6890,16 +6837,22 @@
"resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.3.0.tgz",
"dev": true
},
"semver": {
"version": "5.3.0",
"from": "semver@>=5.3.0 <6.0.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"dev": true
},
"tough-cookie": {
"version": "2.3.1",
"version": "2.3.2",
"from": "tough-cookie@>=2.3.0 <2.4.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.1.tgz",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
"dev": true
},
"webdriver-manager": {
"version": "10.2.3",
"from": "webdriver-manager@>=10.2.2 <11.0.0",
"resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-10.2.3.tgz",
"version": "10.2.8",
"from": "webdriver-manager@>=10.2.8 <11.0.0",
"resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-10.2.8.tgz",
"dev": true
}
}
@ -7671,9 +7624,9 @@
"dev": true
},
"sshpk": {
"version": "1.10.0",
"version": "1.10.1",
"from": "sshpk@>=1.7.0 <2.0.0",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.0.tgz",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz",
"dev": true,
"dependencies": {
"assert-plus": {
@ -8056,9 +8009,9 @@
"dev": true
},
"tweetnacl": {
"version": "0.13.3",
"from": "tweetnacl@>=0.13.0 <0.14.0",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz",
"version": "0.14.3",
"from": "tweetnacl@>=0.14.0 <0.15.0",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz",
"dev": true,
"optional": true
},

View File

@ -30,8 +30,7 @@
"@types/hammerjs": "^2.0.33",
"@types/jasmine": "^2.2.22-alpha",
"@types/node": "^4.0.22-alpha",
"@types/protractor": "^1.5.11-alpha",
"@types/selenium-webdriver": "^2.44.20-alpha",
"@types/selenium-webdriver": "^2.53.35",
"angular": "^1.5.0",
"angular-animate": "^1.5.0",
"angular-mocks": "^1.5.0",
@ -68,7 +67,7 @@
"nan": "^2.4.0",
"node-uuid": "1.4.x",
"parse5": "^2.2.1",
"protractor": "^4.0.5",
"protractor": "^4.0.11",
"react": "^0.14.0",
"rewire": "^2.3.3",
"rollup": "^0.26.3",