blob: 936982410bce6b8b0d776c6ffeb12350b67dafe0 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<!-- allow fancy checkmarks to show up -->
<meta charset="UTF-8">
<!-- complain about uncaught errors -->
<script type="text/javascript">
window.onerror = function() {
document.documentElement.style.background = 'red';
};
</script>
<!-- better living through jQuery -->
<script type="text/javascript" src="support/jquery-1.5.2.js"></script>
<!-- mocha test framework -->
<script type="text/javascript" src="../node_modules/mocha/mocha.js"></script>
<link rel="stylesheet" type="text/css" href="../node_modules/mocha/mocha.css" />
<!-- home-grown assertions -->
<script src="support/assert.js" type="text/javascript"></script>
<!-- configure mocha and chai -->
<script type="text/javascript">
var post_xunit_to = Mocha.utils.parseQuery(location.search).post_xunit_to;
mocha.setup({
ui: 'tdd',
reporter: post_xunit_to ? 'xunit' : 'html'
});
var xunit = '';
Mocha.process.stdout.write = function(line) { xunit += line; };
</script>
<!-- include the library with the tests inlined -->
<script id="mathquill" type="text/javascript" src="../build/mathquill.test.js"
onerror="alert('couldn\'t find `build/mathquill.test.js`. Please run `make test` before opening this file.')">
</script>
<!-- include MathQuill-basic -->
<link rel="stylesheet" type="text/css" href="../build/mathquill.css" />
<script type="text/javascript" src="../build/mathquill-basic.js"></script>
<script type="text/javascript">
MQBasic = MathQuill.noConflict().getInterface(MathQuill.getInterface.MAX);
MQ = MathQuill.getInterface(MathQuill.getInterface.MAX);
</script>
</head>
<body>
<h1>Unit Tests</h1>
<div id="mocha"></div>
<div id="mock"></div>
<script type="text/javascript">
teardown(function() { $('#mock').empty(); });
var runner = mocha.run();
if (post_xunit_to) {
// the following is based on https://github.com/saucelabs-sample-scripts/JavaScript/blob/4946c5cf0ab7325dce5562881dba7c28e30989e5/reporting_mocha.js
var failedTests = [];
runner.on('fail', function(test, err) {
function flattenTitles(test) {
var titles = [];
while (test.parent.title) {
titles.push(test.parent.title);
test = test.parent;
}
return titles.reverse();
}
failedTests.push({name: test.title, result: false, message: err.message, stack: err.stack, titles: flattenTitles(test) });
});
runner.on('end', function() {
setTimeout(function() {
$.post(post_xunit_to, xunit).complete(function() {
window.mochaResults = runner.stats;
window.mochaResults.reports = failedTests;
});
});
});
}
</script>
</body>
</html>