Add test-suite using SlimerJS
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>OL Rendering Test Runner</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" type="text/css" href="../node_modules/mocha/mocha.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="mocha"></div>
|
||||
|
||||
<script type="text/javascript" src="../node_modules/jquery/dist/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../node_modules/expect.js/index.js"></script>
|
||||
<script type="text/javascript" src="../node_modules/sinon/pkg/sinon.js"></script>
|
||||
<script type="text/javascript" src="../node_modules/mocha/mocha.js"></script>
|
||||
<script type="text/javascript" src="../node_modules/proj4/dist/proj4.js"></script>
|
||||
<script type="text/javascript" src="../node_modules/resemblejs/resemble.js"></script>
|
||||
<script type="text/javascript" src="../test/test-extensions.js"></script>
|
||||
<script>
|
||||
mocha.setup({
|
||||
ui: 'bdd',
|
||||
bail: false
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- This script is provided by the debug server (start with `build.py serve`) -->
|
||||
<script type="text/javascript" src="loader.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
/**
|
||||
* The goog.dom.ViewportSizeMonitor (used in map.js) creates a global leak
|
||||
* by setting goog.UID_PROPERTY_ on the monitored window. In order to test
|
||||
* that we don't have other global leaks, we preemptively set the property
|
||||
* so Mocha can compare the global before and after our tests.
|
||||
*
|
||||
* In addition, calling goog.events.listen on the global object (as done
|
||||
* in deviceorientation.js) creates a second leak by setting
|
||||
* goog.events.LISTENER_MAP_PROP_ on the global object.
|
||||
*
|
||||
* We preemptively set both of these properties so Mocha can compare the
|
||||
* global before and after tests. The call to goog.events.listen also
|
||||
* calls goog.getUid.
|
||||
*/
|
||||
goog.events.listen(this, 'test', function() {});
|
||||
|
||||
var errors = [];
|
||||
var runner = mocha.run(function(evt) {
|
||||
if (window.callPhantom) {
|
||||
window.callPhantom(errors);
|
||||
}
|
||||
});
|
||||
|
||||
window.showDiff = false;
|
||||
if (window.location.search.indexOf('showdiff') >= 0) {
|
||||
// show a difference image if '?showdiff' is in the URL
|
||||
window.showDiff = true;
|
||||
}
|
||||
|
||||
window.showMap = false;
|
||||
if (window.location.search.indexOf('generate') >= 0) {
|
||||
// show the canvas of the test map if '?generate' is in the URL
|
||||
window.showMap = true;
|
||||
}
|
||||
|
||||
if (window.console && console.log) {
|
||||
// write stacks to the console for failed tests
|
||||
runner.on('fail', function(test, err) {
|
||||
if (test.duration > test._timeout) {
|
||||
var titles = [];
|
||||
for (var p = test; p; p = p.parent) {
|
||||
if (p.title) {
|
||||
titles.unshift(p.title);
|
||||
}
|
||||
}
|
||||
console.log('Test timed out:', titles.join(' > '));
|
||||
}
|
||||
errors.push({
|
||||
title: test.fullTitle(),
|
||||
errorStack: test.err
|
||||
});
|
||||
console.log(test.fullTitle());
|
||||
console.error(test.err.stack);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<!--
|
||||
Tests should not depend on any specific markup and should instead create
|
||||
whatever elements are needed (cleaning up when done).
|
||||
-->
|
||||
<div id="debug"></div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user