UNPKG

bit-docs

Version:

The sophisticated JavaScript documentation engine.

54 lines (49 loc) 1.18 kB
var Browser = require("zombie"), connect = require("connect"), path = require("path"), serveStatic = require("serve-static") ; var find = function(browser, property, callback, done){ var start = new Date(); var check = function(){ if(browser.window && browser.window[property]) { callback(browser.window[property]); } else if(new Date() - start < 2000){ setTimeout(check, 20); } else { done("failed to find "+property); } }; check(); }; var waitFor = function(browser, checker, callback, done){ var start = new Date(); var check = function(){ if(checker(browser.window)) { callback(browser.window); } else if(new Date() - start < 2000){ setTimeout(check, 20); } else { done(new Error("checker was never true")); } }; check(); }; var open = function(url, callback, done){ var server = connect().use(serveStatic(path.join(__dirname))).listen(8081); var browser = new Browser(); browser.visit("http://localhost:8081/"+url) .then(function(){ callback(browser, function(){ server.close(); }); }).catch(function(e){ server.close(); done(e); }); }; module.exports = { find: find, waitFor: waitFor, open: open };