startIstanbulServer: function (testerPath, port) {
    if (!self.getActiveServer(port)) {
      var express = require('express');
      var im = require('istanbul-middleware');
      var bodyParser = require('body-parser');
      var app = express();
      var url = require('url');

      im.hookLoader(testerPath);
      app.use('/coverage', require('connect-livereload')({
        port: options.liveReloadPorts.unitCoverage
      }));
      app.use('/coverage', im.createHandler());
      app.use(im.createClientHandler(
        path.resolve(testerPath),
        {
          matcher: function (req) {
            // cover js files that aren't .unit.js and are not ext dependencies
            var parsed = url.parse(req.url).pathname;
            if (!/\.js$/.test(parsed)) {
              return false;
            }
            if (parsed.match(/index\.js/)) {
              // its a modules index file
              return false;
            }
            if (!(parsed.match(/^\/.+\/.+\//))) {
              // it's not deep enough to be the code we really want to test
              return false;
            }
            if (parsed.match(/^\/mocks\//)) {
              // it's part of the mocks modules
              return false;
            }
            var isBrowserify = /\.browserify\.js$/.test(parsed);
            var isTestCode = /\.unit\.js$/.test(parsed);
            // console.log(parsed + ' is test code: ' + isTestCode);
            var isDependency = /^\/deps\//.test(parsed);
            // console.log(parsed + ' is dep. code: ' + isDependency);
            return !(isTestCode || isBrowserify || isDependency);
          }
          // pathTransformer: function (req) {
          // }
        }
      ));
      app.use(bodyParser.urlencoded({ extended: true }));
      app.use(bodyParser.json());

      app.use(express['static'](path.resolve(testerPath)));
      var httpServer = require('http').createServer(app);
      httpServer.listen(port,'0.0.0.0');

      self.setActiveServer(port, httpServer);
    }
  },
Example #2
0
    start: function (port, needCover) {
        var app = express();
        if (needCover) {
            console.log('Turn on coverage reporting at /coverage');
            app.use('/coverage', coverage.createHandler({ verbose: true, resetOnGet: true }));
            app.use(coverage.createClientHandler(publicDir, { matcher: matcher }));
        }

        app.use(express.bodyParser());
        app.set('view engine', 'hbs');
        app.engine('hbs', require('hbs').__express);
        app.use(express['static'](publicDir));
        app.use(app.router);

        app.get('/', list);
        app.get('/authors/:id', detail);
        app.listen(port);
    }
Example #3
0
var app = express();


// Views
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');


// Coverage
var staticPath = path.join(__dirname, '../../build');
im.hookLoader(staticPath);
app.use(im.createClientHandler(staticPath, {
  matcher: function (req) {
    var parsed = url.parse(req.url);
    return parsed.pathname && parsed.pathname.match(JS_RE) &&
        !parsed.pathname.match(THIRD_PARTY_RE) && 
        !parsed.pathname.match(TEMPLATES_RE);
  }
}));
app.use('/coverage', im.createHandler());


// Static
app.use('/js', express.static(path.join(staticPath, 'js')));
app.use('/css', express.static(path.join(staticPath, 'css')));


// API
app.get('/api/l10n/index', function (req, res) {
  res.setHeader('Content-Type', 'application/json');
  res.end('{}');
Example #4
0
            pathName = parsed.pathname;
        var r = pathName;
        if (pathName && pathName.match(/\/lib\/tedede.js/)) {
            r = Path.resolve('./lib/tedede.js');
        } else {
            r = Path.normalize(__dirname + r);
        }
        return r;
    }(req);
}

if(coverageON) {
    console.log('Activando coverage');
    im.hookLoader(__dirname, { verbose: true });
    app.use('/coverage', im.createHandler({ verbose: true, resetOnGet: true }));
    app.use(im.createClientHandler(__dirname, { matcher:coverageMatcher, pathTransformer:coveragePathTransformer }));
}

app.get('/demo', function(req,res){
    res.end(
        "<script src='/lib/require-bro.js'></script>\n"+
        "<script src='/lib2/best-globals.js'></script>\n"+
        "<script>\n"+
        "var changing = require('best-globals').changing;\n"+
        "function change(a,b){ return changing(a,b); };\n"+
        "</script>"
    );
});

app.use('/lib2',serveContent('./node_modules/best-globals', {allowedExts: ['js']}));
app.use('/lib',serveContent('./lib', {allowedExts: ['js']}));
Example #5
0
;


// all environments
app.engine('dust', cons.dust);
app.set('port', process.env.PORT || 3000);
app.set('host', process.env.HOST || '127.0.0.1');
app.set('views', __dirname + '/views');
app.set('view engine', 'dust');
app.set('redis', redis);
app.use(express.favicon());
app.use(express.logger('dev'));

if (isCoverageEnabled) {
    app.use(im.createClientHandler(path.join(__dirname, 'public'), { 
        matcher: function(req) { return req.url.match(/javascripts/); }
    }));
    app.use('/coverage', im.createHandler());
}

app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('your secret here'));
app.use(express.session({
    secret: "this is a good secret"
    , key: 'sid'
    , store: new RedisExpress({ client: redis })
}));
app.use(app.router);

app.use(express.static(path.join(__dirname, 'public')));