Use WebSocket for message proxy

This commit is contained in:
hensm
2019-01-12 06:17:28 +00:00
parent 8f6770e8a0
commit 626b8ca75e
8 changed files with 179 additions and 200 deletions

73
test/customBoot.js Normal file
View File

@@ -0,0 +1,73 @@
"use strict";
window.jasmine = jasmineRequire.core(jasmineRequire);
jasmineRequire.html(jasmine);
const env = jasmine.getEnv();
// Copy to window
Object.assign(window, jasmineRequire.interface(jasmine, env));
// Create query string
const queryString = new jasmine.QueryString({
getWindowLocation () {
return window.location;
}
});
// If spec is present in the query string
const filterSpecs = !!queryString.getParam("spec");
// Create HTML reporter
const htmlReporter = new jasmine.HtmlReporter({
env
, filterSpecs
, timer: new jasmine.Timer()
, getContainer () {
return document.body;
}
// Bound functions
, navigateWithNewParam: queryString.navigateWithNewParam.bind(queryString)
, addToExistingQueryString: queryString.fullStringWithNewParam.bind(queryString)
, createElement: document.createElement.bind(document)
, createTextNode: document.createTextNode.bind(document)
});
// Create spec filter
const specFilter = new jasmine.HtmlSpecFilter({
filterString () {
return queryString.getParam("spec");
}
});
// Add reporters
env.addReporter(jsApiReporter);
env.addReporter(htmlReporter);
// Configure Env
env.configure({
failFast : queryString.getParam("failFast")
, hideDisabled : queryString.getParam("hideDisabled")
, oneFailurePerSpec : queryString.getParam("oneFailurePerSpec")
, random : queryString.getParam("random")
, seed : queryString.getParam("seed")
, specFilter (spec) {
return specFilter.matches(spec.getFullName());
}
});
window.addEventListener("load", () => {
htmlReporter.initialize();
// Use messageProxy socket to request spec injection
window.sendMessage({
subject: "injectSpecs"
});
});