Example #1
0
    it('calls flush() after writes if the method exists on response', function(done) {
        // Initialize a server with a custom `flush()` method added on each incoming request,
        // mimicking the `compression` middleware. Check that we call `flush()`:
        //   - On connect, after the initial headers, retry, and preamble has been written
        //   - After "missed events" have been sent (once)
        //   - After each broadcast
        var flushes = 0;
        initServer({
            flush: function() {
                flushes++;
            },
            history: [
                { id: 1338, data: 'Event #1338' },
                { id: 1339, data: 'Event #1339' }
            ]
        });

        es = new EventSource(host + path + '?lastEventId=1337&evs_preamble=1');
        es.onopen = function() {
            channel.send('We set sail from the sweet cove of Cork');
            channel.send('With seven million barrels of porter');
        };
        es.onmessage = runAfter(4, function() {
            assert.equal(flushes, 4);
            done();
        });
    });
Example #2
0
  grunt.registerMultiTask("css_image", "Plugin to generate css file wto bind all images from folder", function(){
    // Merge task-specific and/or target-specific options with these defaults.
    var options = this.options({ css: true, scss: false, retina: false,
      squeeze: 1, root: "", separator: "_", prefix: "img_" });
    var info = [];
    var done = this.async();
    var counts = reduce(this.files, function(memo, item){
        return memo + size(item.src);
    }, 0);

    var default_dest = this.files[0] ? this.files[0].dest : null;

    var complete = after(counts, function(err, opts){
      if(!opts){ opts = {}; }
      var dest = opts.dest || default_dest;
      var info = sortBy(opts.info, function(item){ return item.file; });

      var txt = "/* This file is generated */\n";
      txt += cssimage(info, options);
      grunt.file.write(dest, txt);
      grunt.log.writeln("File \"" + dest + "\" created.");
      done();
    });

    this.files.forEach( function(f){
      f.src.forEach( function(itempath){
        var src = libpath.join(f.cwd, itempath);
        fs.readFile(src, function(err, data){
          var parser = imagesize.Parser();
          var retStatus = parser.parse(data);
          if(imagesize.Parser.DONE === retStatus){
            var result = parser.getResult();
            result.file = itempath;
            info.push(result);
          }
          complete(null, {info: info, dest: f.dest });
        });
      });
    });
  });