mirror of
https://github.com/nasa/openmct.git
synced 2024-12-18 20:57:53 +00:00
680e8c8cff
Don't request json as an XHR response type, as this is not supported by Phantom for command line test execution. Part of ongoing intitial repository and build setup for WTD-519.
136 lines
4.9 KiB
HTML
136 lines
4.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<link rel="stylesheet"
|
|
type="text/css"
|
|
href="platform/framework/test/lib/css/jasmine.css">
|
|
<script type="text/javascript"
|
|
src="platform/framework/lib/require.js">
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
require(
|
|
{
|
|
paths: {
|
|
'jasmine': 'platform/framework/test/lib/jasmine',
|
|
'jasmine-html': 'platform/framework/test/lib/jasmine-html',
|
|
'blanket-jasmine': 'platform/framework/test/lib/blanket_jasmine',
|
|
'console-runner': 'platform/framework/test/lib/console-runner'
|
|
},
|
|
shim: {
|
|
'jasmine': {
|
|
'exports': 'jasmine'
|
|
},
|
|
'jasmine-html': {
|
|
'exports': 'jasmine',
|
|
'deps': ['jasmine']
|
|
},
|
|
'console-runner': {
|
|
'exports': 'jasmine',
|
|
'deps': ['jasmine']
|
|
},
|
|
'blanket-jasmine': {
|
|
'exports': 'blanket',
|
|
'deps': ['jasmine']
|
|
}
|
|
}
|
|
},
|
|
[
|
|
'blanket-jasmine',
|
|
'jasmine-html',
|
|
'console-runner'
|
|
],
|
|
function () {
|
|
"use strict";
|
|
|
|
// Utility function; load a JSON definition
|
|
function loadJSON(file, callback) {
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open("GET", file);
|
|
xhr.onreadystatechange = function () {
|
|
if (xhr.readyState === 4) { // DONE
|
|
callback(JSON.parse(xhr.response));
|
|
}
|
|
}
|
|
xhr.send();
|
|
}
|
|
|
|
// Run Jasmine upon full declared suite.
|
|
// Called after all tests loaded.
|
|
function runJasmine() {
|
|
var jasmineEnv = jasmine.getEnv(),
|
|
htmlReporter,
|
|
titleReporter;
|
|
jasmineEnv.updateInterval = 250;
|
|
|
|
htmlReporter = new jasmine.HtmlReporter();
|
|
//https://github.com/jcarver989/phantom-jasmine/issues/2
|
|
window.console_reporter = new jasmine.ConsoleReporter();
|
|
|
|
titleReporter = new jasmine.Reporter();
|
|
titleReporter.reportRunnerResults = function (runner) {
|
|
document.title = runner.results().passed() ?
|
|
"PASSING" : "FAILING";
|
|
};
|
|
|
|
jasmineEnv.addReporter(htmlReporter);
|
|
jasmineEnv.addReporter(new jasmine.BlanketReporter());
|
|
jasmineEnv.addReporter(window.console_reporter);
|
|
jasmineEnv.addReporter(titleReporter);
|
|
jasmineEnv.specFilter = function (spec) {
|
|
return htmlReporter.specFilter(spec);
|
|
};
|
|
jasmineEnv.currentRunner().execute();
|
|
}
|
|
|
|
function lookupSource(component) {
|
|
return component.src;
|
|
}
|
|
|
|
function lookupSpec(component) {
|
|
return component.spec;
|
|
}
|
|
|
|
// Run a full list of specs.
|
|
// Should be done after loading and path-correcting all specs
|
|
function runSpecs(components) {
|
|
blanket.options({'filter': components.map(lookupSource)});
|
|
require(components.map(lookupSpec), runJasmine);
|
|
}
|
|
|
|
// Run all test suites contained in all bundles
|
|
function runSuites(bundles) {
|
|
var components = [], count = 0;
|
|
|
|
function addSuite(bundle) {
|
|
function fixPath(name) {
|
|
return {
|
|
spec: bundle + "/test/" + name + "Spec",
|
|
src: bundle + "/src/" + name
|
|
};
|
|
}
|
|
|
|
function addSpecs(suiteSpecs) {
|
|
components = components.concat(suiteSpecs.map(fixPath));
|
|
count += 1;
|
|
if (count === bundles.length) {
|
|
runSpecs(components);
|
|
}
|
|
}
|
|
|
|
loadJSON(bundle + "/test/suite.json", addSpecs);
|
|
}
|
|
|
|
bundles.forEach(addSuite);
|
|
}
|
|
|
|
// Set the ball rolling; load and run all test suites
|
|
loadJSON("bundles.json", runSuites);
|
|
}
|
|
);
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|