Skip to content

Commit

Permalink
Agrego Karma
Browse files Browse the repository at this point in the history
  • Loading branch information
diegoefe committed Oct 4, 2016
1 parent 49cc21b commit ac0ed77
Show file tree
Hide file tree
Showing 3 changed files with 142 additions and 6 deletions.
79 changes: 79 additions & 0 deletions karma.conf.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
"use strict";
/*jshint node:true */

module.exports = function(config, preConfig) {
config.set({

// base path that will be used to resolve all patterns (eg. files, exclude)
basePath: '',

// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: ['mocha','expect'],

// list of files / patterns to load in the browser
files: [
'node_modules/require-bro/lib/require-bro.js',
'node_modules/json4all/json4all.js',
'lib/*.js',
'test/*.js'
],


// list of files to exclude
exclude: [
],


// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
// /* ESPERANDO QUE ARREGLEN: https://github.com/karma-runner/karma/issues/1768
preprocessors: {
'json4all.js': preConfig.singleRun?['coverage']:[] /* COMENTAR PARA VER MÁS LIMPIO EL CÓDIGO */
},
coverageReporter: process.env.TRAVIS||preConfig.singleRun?{
type : 'json',
dir : 'coverage/'
}:{
type: 'lcov',
dir: 'coverage/'
},
// */

// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress', 'coverage', 'coverage-html-index'],


// web server port
port: 9876,


// enable / disable colors in the output (reporters and logs)
colors: true,


// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
// logLevel: config.LOG_INFO,
logLevel: config.LOG_ERROR,


// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,


// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: ['Firefox', 'PhantomJS'].concat((process.env.TRAVIS?[]:['Chrome','Safari','IE'])),
/*
NO CAMBIAR MÁS BROWSERS DIRECTO DESDE ACÁ, INVOCAR DESDE LA LÍNEA DE PARÁMETROS ASÍ:
npm run test-cli -- --browsers Firefox
*/

// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: !!process.env.TRAVIS || !!process.env.SINGLE_RUN || preConfig.singleRun
});
};
32 changes: 26 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,29 @@
"best-promise": "~0.2.4"
},
"devDependencies": {
"body-parser": "~1.15.2",
"cookie-parser": "~1.4.3",
"expect.js": "~0.3.1",
"istanbul": "~0.4.3",
"mocha": "~2.4.5",
"express": "~4.14.0",
"express-session": "~1.14.1",
"express-useragent": "~1.0.4",
"istanbul": "~0.4.5",
"karma": "~1.3.0",
"karma-chrome-launcher": "~2.0.0",
"karma-coverage": "~1.1.1",
"karma-coverage-html-index-reporter": "~1.0.2",
"karma-expect": "~1.1.3",
"karma-firefox-launcher": "~1.0.0",
"karma-ie-launcher": "~1.0.0",
"karma-mocha": "~1.2.0",
"karma-phantomjs-launcher": "~1.0.2",
"karma-safari-launcher": "~1.0.0",
"istanbul-middleware": "~0.2.2",
"mocha": "~3.1.0",
"phantomjs-prebuilt": "~2.1.12",

"best-globals": "~0.2.4",
"json4all": "~0.1.4",
"self-explain": "~0.0.6"
"require-bro": "~0.1.4",
"json4all": "~0.1.4"
},
"engines": {
"node": ">= 0.12"
Expand All @@ -39,7 +55,11 @@
"test": "mocha --reporter spec --bail --check-leaks test/",
"test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
"start": "node example/server.js"
"start": "node example/server.js",
"test-cli": "node server/karma-server.js --karma karma.conf.js --single-run",
"test-cli-h": "node server/karma-server.js --karma karma.conf.js",
"test-cli-ff": "npm run test-cli -- --browsers Firefox",
"report": "istanbul report"
},
"qa-control": {
"package-version": "0.3.0",
Expand Down
37 changes: 37 additions & 0 deletions server/karma-server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
"use strict";

//var _ = require('lodash');
var express = require('express');
var app = express();
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var session = require('express-session');
//var fs = require('fs-promise');
var path = require('path');
//var readYaml = require('read-yaml-promise');
//var extensionServeStatic = require('extension-serve-static');

var karma;
var karmaIndex=process.argv.indexOf('--karma');
if(karmaIndex>0){
var karma = require('karma');
var karmaConfig = require('../karma.conf.js');
var options;
karmaConfig({set:function(opts){
options=opts;
var posBrowsers = process.argv.indexOf('--browsers')
if(posBrowsers>0){
options.browsers=(process.argv[posBrowsers+1]||'').split(',');
}
}},{singleRun:process.argv.indexOf('--single-run')>0 || process.env.SINGLE_RUN});
console.log('karma starting');
var karmaServer = new karma.Server(options, function(exitCode) {
console.log('Karma has exited with ' + exitCode);
process.exit(exitCode);
})
karmaServer.start();
console.log('karma starting',options.port);
}

app.use(cookieParser());
app.use(bodyParser.urlencoded({extended:true}));

0 comments on commit ac0ed77

Please sign in to comment.