示例#1
0
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);
});
示例#2
0
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();
  });
}
示例#3
0
 }, 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
 }
示例#4
0
              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();
                        });
                      });
                    });
                  });
                }
              });
示例#5
0
 next => contra.each.series(modifications, updateArticle, next)
示例#6
0
 next => contra.each.series(removals, removeArticle, next),
示例#7
0
 }, function() {
   contra.each.series(data, function(row, cb){
     setScore(b, row, cb);
   }, utils.getCallback(arguments));
 }, function() {