diff options
Diffstat (limited to 'public/bower_components/morris.js/spec/viz/examples.js')
-rw-r--r-- | public/bower_components/morris.js/spec/viz/examples.js | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/public/bower_components/morris.js/spec/viz/examples.js b/public/bower_components/morris.js/spec/viz/examples.js new file mode 100644 index 0000000..0e97de3 --- /dev/null +++ b/public/bower_components/morris.js/spec/viz/examples.js @@ -0,0 +1,56 @@ +var webpage = require("webpage"), + fs = require("fs"); + +var html_path = fs.absolute("test.html"); +var examples = []; + +function run_example(example_index) { + if (example_index >= examples.length) { + phantom.exit(0); + return; + } + + var example = examples[example_index]; + var snapshot_index = 0; + var page = webpage.create(); + + page.viewportSize = { width: 500, height: 300 }; + page.clipRect = { width: 500, height: 300 }; + page.onAlert = function (msg) { + var e = JSON.parse(msg); + if (e.fn == "snapshot") { + page.render("output/" + example.name + snapshot_index + ".png"); + snapshot_index += 1; + } else if (e.fn == "mousemove") { + page.sendEvent("mousemove", e.x, e.y); + } + }; + + page.open(html_path, function (status) { + if (status == "fail") { + console.log("Failed to load test page: " + example.name); + phantom.exit(1); + } else { + page.evaluate(example.runner); + } + page.close(); + run_example(example_index + 1); + }); +} + +exports.def = function (name, runner) { + examples.push({ name: name, runner: runner }); +}; + +exports.run = function () { + if (fs.isDirectory("output")) { + fs.list("output").forEach(function (path) { + if (path != "." && path != "..") { + fs.remove("output/" + path); + } + }); + } else { + fs.makeDirectory("output"); + } + run_example(0); +}; |