parent
fcb4e66493
commit
1bd858fb43
|
@ -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
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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": {
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {runBenchmark, verifyNoBrowserErrors} from 'e2e_util/perf_util';
|
||||
import {$} from 'protractor';
|
||||
|
||||
interface Worker {
|
||||
id: string;
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {openBrowser, verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
||||
import {$, By, element} from 'protractor';
|
||||
|
||||
describe('largeform benchmark spec', () => {
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {runBenchmark, verifyNoBrowserErrors} from 'e2e_util/perf_util';
|
||||
import {$} from 'protractor';
|
||||
|
||||
interface Worker {
|
||||
id: string;
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {openBrowser, verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
||||
import {$} from 'protractor';
|
||||
|
||||
describe('largetable benchmark spec', () => {
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {runBenchmark, verifyNoBrowserErrors} from 'e2e_util/perf_util';
|
||||
import {$} from 'protractor';
|
||||
|
||||
interface Worker {
|
||||
id: string;
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {openBrowser, verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
||||
import {$} from 'protractor';
|
||||
|
||||
describe('tree benchmark spec', () => {
|
||||
|
||||
|
|
|
@ -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}) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
||||
import {browser} from 'protractor';
|
||||
|
||||
describe('hello world', function() {
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
||||
import {browser} from 'protractor';
|
||||
|
||||
describe('http', function() {
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
||||
import {browser} from 'protractor';
|
||||
|
||||
describe('jsonp', function() {
|
||||
|
||||
|
|
|
@ -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('');
|
||||
});
|
||||
|
||||
|
|
|
@ -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');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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', () => {
|
||||
|
|
|
@ -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', () => {
|
||||
|
|
|
@ -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]);
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
||||
import {browser, by, element} from 'protractor';
|
||||
|
||||
describe('SVG', function() {
|
||||
|
||||
|
|
|
@ -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');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
||||
import {browser, by, element, protractor} from 'protractor';
|
||||
|
||||
describe('WebWorkers Animations', function() {
|
||||
afterEach(() => {
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
||||
import {browser, by, element, protractor} from 'protractor';
|
||||
|
||||
describe('WebWorkers Todo', function() {
|
||||
afterEach(() => {
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
||||
import {browser, by, element} from 'protractor';
|
||||
|
||||
describe('Zippy Component', function() {
|
||||
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
},
|
||||
"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
|
||||
},
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
},
|
||||
"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
|
||||
},
|
||||
|
|
|
@ -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",
|
||||
|
|
Loading…
Reference in New Issue