UNPKG

funcunit

Version:
54 lines (46 loc) 1.12 kB
var Browser = require("zombie"), connect = require("connect"); 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(connect.static(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 }