funcunit
Version:
<!-- @hide title
54 lines (46 loc) • 1.12 kB
JavaScript
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
}