add browser test runner

This commit is contained in:
Fabian Jakobs 2011-02-12 13:16:25 +01:00
commit 61049e9ca2
2 changed files with 128 additions and 0 deletions

View file

@ -0,0 +1,74 @@
define(function(require, exports, module) {
var async = require("asyncjs");
var dom = require("pilot/dom");
var passed = 0
var failed = 0
var log = document.getElementById("log")
async.concat(
require("./anchor_test"),
require("./change_document_test"),
require("./document_test"),
require("./edit_session_test"),
require("./event_emitter_test"),
require("./navigation_test"),
require("./range_test"),
require("./search_test"),
require("./selection_test"),
require("./text_edit_test"),
require("./virtual_renderer_test"),
require("./mode/css_test"),
require("./mode/css_tokenizer_test"),
require("./mode/html_test"),
require("./mode/html_tokenizer_test"),
require("./mode/javascript_test"),
require("./mode/javascript_tokenizer_test"),
require("./mode/text_test"),
require("./mode/xml_test"),
require("./mode/xml_tokenizer_test")
)
.run()
.each(function(test, next) {
var node = document.createElement("div");
node.className = test.passed ? "passed" : "failed";
var name = test.name
if (test.suiteName)
name = test.suiteName + ": " + test.name
var msg = "[" + test.count + "/" + test.index + "] " + name + " " + (test.passed ? "OK" : "FAIL")
if (!test.passed) {
if (test.err.stack)
var err = test.err.stack
else
var err = test.err
msg += "<pre class='error'>" + err + "</pre>";
}
node.innerHTML = msg;
log.appendChild(node);
next()
})
.each(function(test) {
if (test.passed)
passed += 1
else
failed += 1
})
.end(function() {
log.innerHTML += [
"<div class='summary'>",
"<br>",
"Summary: <br>",
"<br>",
"Total number of tests: " + (passed + failed) + "<br>",
(passed ? "Passed tests: " + passed + "<br>" : ""),
(failed ? "Failed tests: " + failed + "<br>" : "")
].join("")
})
});

54
lib/ace/test/tests.html Normal file
View file

@ -0,0 +1,54 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Ace Unit Tests</title>
<style type="text/css" media="screen">
#log .passed {
color: green;
}
#log .failed {
color: red;
}
#log pre.error {
color: black;
}
</style>
</head>
<body>
<div id="log"></div>
<script src="../../../demo/require.js" type="text/javascript" charset="utf-8"></script>
<script>
require({
paths: {
ace: "../lib/ace",
cockpit: "../support/cockpit/lib/cockpit",
pilot: "../support/pilot/lib/pilot"
},
packages : [{
name: "asyncjs",
location: "../lib/ace/test",
lib: "asyncjs",
main: "index"
}, {
name: "assert",
location: "../lib/ace/test",
lib: "asyncjs",
main: "assert"
}]
});
require(["ace/test/all_browser"], function(tests) {
});
</script>
</body>
</html>