1+ import { verifyNoBrowserErrors } from 'angular2/src/testing/e2e_util' ;
2+
3+ describe ( 'WebWorkers Input' , function ( ) {
4+ afterEach ( ( ) => {
5+ verifyNoBrowserErrors ( ) ;
6+ browser . ignoreSynchronization = false ;
7+ } ) ;
8+ const selector = 'input-app' ;
9+ const URL = 'playground/src/web_workers/input/index.html' ;
10+ const VALUE = 'test val' ;
11+
12+ it ( 'should bootstrap' , ( ) => {
13+ // This test can't wait for Angular 2 as Testability is not available when using WebWorker
14+ browser . ignoreSynchronization = true ;
15+ browser . get ( URL ) ;
16+
17+ waitForBootstrap ( ) ;
18+ let elem = element ( by . css ( selector + ' h2' ) ) ;
19+ expect ( elem . getText ( ) ) . toEqual ( 'Input App' ) ;
20+ } ) ;
21+
22+ it ( 'should bind to input value' , ( ) => {
23+ // This test can't wait for Angular 2 as Testability is not available when using WebWorker
24+ browser . ignoreSynchronization = true ;
25+ browser . get ( URL ) ;
26+
27+ waitForBootstrap ( ) ;
28+ let elem = element ( by . css ( selector + ' h2' ) ) ;
29+
30+ let input = element ( by . css ( selector + ' input' ) ) ;
31+ input . sendKeys ( VALUE ) ;
32+ let displayElem = element ( by . css ( selector + ' .input-val' ) ) ;
33+ const expectedVal = `Input val is ${ VALUE } .` ;
34+ browser . wait ( protractor . until . elementTextIs ( displayElem , expectedVal ) , 5000 ) ;
35+ expect ( displayElem . getText ( ) ) . toEqual ( expectedVal ) ;
36+ } ) ;
37+
38+ it ( 'should bind to textarea value' , ( ) => {
39+ // This test can't wait for Angular 2 as Testability is not available when using WebWorker
40+ browser . ignoreSynchronization = true ;
41+ browser . get ( URL ) ;
42+
43+ waitForBootstrap ( ) ;
44+ let elem = element ( by . css ( selector + ' h2' ) ) ;
45+
46+ let input = element ( by . css ( selector + ' textarea' ) ) ;
47+ input . sendKeys ( VALUE ) ;
48+ let displayElem = element ( by . css ( selector + ' .textarea-val' ) ) ;
49+ const expectedVal = `Textarea val is ${ VALUE } .` ;
50+ browser . wait ( protractor . until . elementTextIs ( displayElem , expectedVal ) , 5000 ) ;
51+ expect ( displayElem . getText ( ) ) . toEqual ( expectedVal ) ;
52+ } ) ;
53+
54+ function waitForBootstrap ( ) {
55+ browser . wait ( protractor . until . elementLocated ( by . css ( selector + ' h2' ) ) , 15000 ) ;
56+ let elem = element ( by . css ( selector + ' h2' ) ) ;
57+ browser . wait ( protractor . until . elementTextIs ( elem , 'Input App' ) , 5000 ) ;
58+ }
59+ } ) ;
0 commit comments