feat(WebWorker): Expose MessageBroker API

Closes #3942
This commit is contained in:
Jason Teplitz
2015-09-01 10:55:11 -07:00
parent 6532171997
commit 358908e605
31 changed files with 267 additions and 275 deletions

View File

@ -1,45 +0,0 @@
import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
import {PromiseWrapper} from "angular2/src/core/facade/async";
var URL = 'examples/src/message_broker/index.html';
describe('message bus', function() {
afterEach(verifyNoBrowserErrors);
it('should receive a response from the worker', function() {
browser.get(URL);
browser.sleep(5000);
var VALUE = "hi there";
var input = element.all(by.css("#echo_input")).first();
input.sendKeys(VALUE);
clickComponentButton("body", "#send_echo");
browser.wait(protractor.until.elementLocated(protractor.By.css("#echo_result .response")),
5000);
expect(getComponentText("#echo_result", ".response")).toEqual(VALUE);
});
});
describe('message broker', function() {
afterEach(verifyNoBrowserErrors);
it('should be able to run tasks on the UI thread after init', () => {
var VALUE = '5';
browser.get(URL);
browser.wait(protractor.until.elementLocated(protractor.By.css("#ui_result .result")), 5000);
expect(getComponentText("#ui_result", ".result")).toEqual(VALUE);
});
});
function getComponentText(selector, innerSelector) {
return browser.executeScript('return document.querySelector("' + selector + '").querySelector("' +
innerSelector + '").textContent');
}
function clickComponentButton(selector, innerSelector) {
return browser.executeScript('return document.querySelector("' + selector + '").querySelector("' +
innerSelector + '").click()');
}

View File

@ -0,0 +1,32 @@
import {verifyNoBrowserErrors} from "angular2/src/test_lib/e2e_util";
import {PromiseWrapper} from "angular2/src/core/facade/async";
var URL = "examples/src/web_workers/message_broker/index.html";
describe("MessageBroker", function() {
afterEach(verifyNoBrowserErrors);
it("should bootstrap", () => {
browser.get(URL);
waitForBootstrap();
expect(element(by.css("app h1")).getText()).toEqual("WebWorker MessageBroker Test");
});
it("should echo messages", () => {
const VALUE = "Hi There";
browser.get(URL);
waitForBootstrap();
var input = element.all(by.css("#echo_input")).first();
input.sendKeys(VALUE);
element(by.css("#send_echo")).click();
var area = element(by.css("#echo_result"));
browser.wait(protractor.until.elementTextIs(area, VALUE), 5000);
expect(area.getText()).toEqual(VALUE);
});
});
function waitForBootstrap(): void {
browser.wait(protractor.until.elementLocated(by.css("app h1")), 5000);
}