mirror of
https://github.com/servo/servo.git
synced 2025-06-24 09:04:33 +01:00
51 lines
1.9 KiB
JavaScript
51 lines
1.9 KiB
JavaScript
|
|
// generates tests that work in a browser
|
|
|
|
// XXX
|
|
// have it run through valid and invalid properly
|
|
|
|
var pth = require("path")
|
|
, fs = require("fs")
|
|
, dir = function (path) {
|
|
return pth.join(__dirname, "..", path);
|
|
}
|
|
, allFromDir = function (dir, ext, asJSON) {
|
|
return fs.readdirSync(dir)
|
|
.filter(function (it) { return ext.test(it); })
|
|
.map(function (it) {
|
|
var cnt = fs.readFileSync(pth.join(dir, it), "utf8");
|
|
return asJSON ? JSON.parse(cnt) : cnt;
|
|
});
|
|
}
|
|
, data = {
|
|
valid: {
|
|
json: allFromDir(dir("syntax/json"), /\.json$/, true)
|
|
, idl: allFromDir(dir("syntax/idl"), /\.w?idl$/, false)
|
|
}
|
|
, invalid:{
|
|
json: allFromDir(dir("invalid/json"), /\.json$/, true)
|
|
, idl: allFromDir(dir("invalid/idl"), /\.w?idl$/, false)
|
|
}
|
|
}
|
|
, html = [
|
|
"<!DOCTYPE html>"
|
|
, "<html>"
|
|
, " <head><meta charset='utf-8''><link rel='stylesheet' href='../../node_modules/mocha/mocha.css'>"
|
|
, " <title>WebIDL2 Browser Tests</title>"
|
|
, " <script>var data = " + JSON.stringify(data) + "</script>"
|
|
, " </head>"
|
|
, " <body><div id='mocha'></div>"
|
|
, " <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>"
|
|
, " <script src='../../node_modules/expect.js/expect.js'></script>"
|
|
, " <script src='../../node_modules/mocha/mocha.js'></script>"
|
|
, " <script src='../../node_modules/jsondiffpatch/jsondiffpatch.min.js'></script>"
|
|
, " <script src='../../lib/webidl2.js'></script>"
|
|
, " <script>mocha.setup('bdd');</script>"
|
|
, " <script src='run-tests.js'></script>"
|
|
, " <script>mocha.run();</script>"
|
|
, " </body>"
|
|
, "</html>"
|
|
].join("\n")
|
|
;
|
|
|
|
fs.writeFileSync("browser-tests.html", html, "utf8");
|