fs.readdir(files_dir, function(err, files){ if(err) return allDone(err); λ.each.series(files, function(file, next){ fs.readFile(path.resolve(files_dir, file), "utf-8", function(err, src){ if(err) return next(err); console.log("testing: " + path.basename(file)); var out = generator(parser(src, {filename: file})); var expected = _.filter(src.split("\n"), function(line){ return line.trim().indexOf("//") !== 0; }).join("\n").trim(); if(out === expected){ console.log(" ...passed"); next(); }else{ console.log(); console.log(diff(expected, out, {n_surrounding: 3})); console.log(); console.log("testing: " + path.basename(file)); next(new Error("see diff")); } }); }, allDone); });
function setScore(browser, row, callback) { var ra = row.shift(), raStr = ("0000000000" + ra.toString()).substr(-10), i = 0; contra.each.series(row, function(score, callback){ var inputId = "tbProva_" + (++i) + "_" + raStr + "_", score = score.toString().replace(".", ","), _el = null; contra.waterfall([ function(){ browser.elementById(inputId, utils.getCallback(arguments)); }, function(el) { _el = el; _el.click(utils.getCallback(arguments)); }, function(el) { _el.clear(utils.getCallback(arguments)); }, function(el) { _el.sendKeys(score, utils.getCallback(arguments)); } ], callback); }, function(err){ if (err) { console.log("Can't find element: %s", err); } callback(); }); }
}, function(urls) { var callback = utils.getCallback(arguments); contra.each.series(urls, function(u, callback) { var _el; contra.waterfall([ function(){ b.get(url(u[1]), utils.getCallback(arguments)); }, function() { b.elementById('ctl18_ctl03_fvPlanoAula_txtConteudoPrevisto', utils.getCallback(arguments)); }, function(el) { _el = el; el.clear(utils.getCallback(arguments)); }, function() { _el.sendKeys(content[u[0]], utils.getCallback(arguments)); }, function(){ b.elementById('ctl18_stbSave_tblabel', utils.getCallback(arguments)); }, function(el) { el.click(utils.getCallback(arguments)); } ], callback); // contra.waterfall }, callback); // contra.each.series }
comments(users, function (discussions) { contra.each.series(discussions, insertCommentThread, done); function insertCommentThread (discussion, next) { var children = discussion.comments; var op = children.shift(); production.model('entry').findOne({ _id: discussion.entry }, function (err, entry) { Article.findOne({ slug: entry.slug }, function (err, article) { var comment = article.comments.create(op); article.comments.push(comment); article.save(function () { children.forEach(function (child) { child.parent = comment._id; article.comments.push(child); }); article.save(function () { next(); }); }); }); }); } });
next => contra.each.series(modifications, updateArticle, next)
next => contra.each.series(removals, removeArticle, next),
}, function() { contra.each.series(data, function(row, cb){ setScore(b, row, cb); }, utils.getCallback(arguments)); }, function() {