blossom
Version:
Modern, Cross-Platform Application Framework
106 lines (91 loc) • 3.2 kB
HTML
<html>
<!--
Copyright (C) 1998-2000 Greg J. Badros
Use of this source code is governed by the LGPL, which can be found in the
COPYING.LGPL file.
Parts Copyright (C) 2011, Alex Rusell (slightlyoff@chromium.org)
-->
<head>
<title>Cassowary Javascript Smoke Tests</title>
<script>
// Utility code to log results to the page.
var append = function(n, h) { (h||document.body).appendChild(n); return n; };
var t = function(text) { return document.createTextNode(text); };
var el = function(type, html, text) {
var node = document.createElement(type);
if (html) { node.innerHTML = html; }
if (text) { node.appendChild(t(text)); }
return node;
};
var domLog = function() {
var al = arguments.length;
var pre = append(el("pre"));
for(var x = 0; x < al; x++) {
append(t(arguments[x]), pre);
append(t("\n"), pre);
}
};
// print = function(s) { console.log(s); }
var printLog = [];
print = function(s) { printLog.push(s); }
</script>
<script src="../src/c.js"></script>
<script>
// Configuration
// c.debug = true;
// c.verbose = true;
// c.trace = true;
</script>
<script src="../src/HashTable.js"></script>
<script src="../src/HashSet.js"></script>
<script src="../src/Error.js"></script>
<script src="../src/SymbolicWeight.js"></script>
<script src="../src/Strength.js"></script>
<script src="../src/Variable.js"></script>
<script src="../src/Point.js"></script>
<script src="../src/LinearExpression.js"></script>
<script src="../src/Constraint.js"></script>
<script src="../src/LinearConstraint.js"></script>
<script src="../src/EditInfo.js"></script>
<script src="../src/Tableau.js"></script>
<script src="../src/SimplexSolver.js"></script>
<script src="../src/Timer.js"></script>
<script src="SmokeTests.js"></script>
<script>
window.addEventListener("load", function() {
append(el("h2", "In-page test results:"));
append(el("pre", printLog.join("\n")));
printLog.length = 0;
}, false);
</script>
<script>
(function(scope) {
// Load tests in a Worker to verify that they run there as well:
worker = new Worker("WorkerSmokeTests.js");
worker.onmessage = function(e) {
var d = e.data;
var type = d[0];
var dualLog = function(content) {
console.log.apply(console, content);
domLog.apply(null, content);
};
if (type == "log") {
d.unshift();
dualLog(d.slice(1));
}
if (type == "logs") { d.slice(1).forEach(dualLog); }
};
// Start the tests
window.addEventListener("load", function() {
append(el("h2", "Test results from WebWorker:"));
// TODO(slightlyoff): pass c.* config to the worker in the init message.
worker.postMessage(["init"]);
});
})(this);
</script>
</head>
<body>
<h1>Cassowary Javascript Smoke Tests</h1>
</body>
</html>