// Karma configuration // Generated on Wed Jul 15 2015 09:44:02 GMT+0200 (Romance Daylight Time) 'use strict'; var argv = require('yargs').argv; module.exports = function(config) { 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: ['jasmine'], // list of files / patterns to load in the browser files: [ 'node_modules/zone.js/dist/zone.js', 'node_modules/zone.js/dist/long-stack-trace-zone.js', 'node_modules/zone.js/dist/jasmine-patch.js', 'node_modules/zone.js/dist/async-test.js', 'node_modules/zone.js/dist/fake-async-test.js', 'node_modules/es6-module-loader/dist/es6-module-loader.js', 'node_modules/traceur/bin/traceur-runtime.js', // Required by PhantomJS2, otherwise it shouts ReferenceError: Can't find variable: require 'node_modules/traceur/bin/traceur.js', 'node_modules/systemjs/dist/system.src.js', 'node_modules/reflect-metadata/Reflect.js', 'node_modules/angular2/es6/dev/src/testing/shims_for_IE.js', { pattern: 'node_modules/ng2-translate/**/*.js', included: false, watched: false }, // source files { pattern: 'node_modules/angular2/**/*.js', included: false, watched: false }, { pattern: 'node_modules/rxjs/**/*.js', included: false, watched: false }, { pattern: 'dist/**/*.js', included: false, watched: true }, { pattern: 'node_modules/systemjs/dist/system-polyfills.js', included: false, watched: false }, // PhantomJS2 (and possibly others) might require it // suppress annoying 404 warnings for resources, images, etc. //{ pattern: 'dist/src/assets/**/*', watched: false, included: false, served: true }, 'test-main.js' ], // must go along with above, suppress annoying 404 warnings. proxies: { '/assets/': '/base/dist/dev/assets/' }, // list of files to exclude exclude: [ 'node_modules/angular2/**/*spec.js' ], // preprocess matching files before serving them to the browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { 'dist/**/!(*spec).js': ['coverage'] }, // test results reporter to use // possible values: 'dots', 'progress' // available reporters: https://npmjs.org/browse/keyword/karma-reporter reporters: ['mocha', 'coverage'], // 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, // 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: [ 'PhantomJS', 'Chrome' ], customLaunchers: { Chrome_travis_ci: { base: 'Chrome', flags: ['--no-sandbox'] } }, coverageReporter: { dir: 'coverage/', reporters: [ { type: 'text-summary' }, { type: 'json', subdir: '.', file: 'coverage-final.json' }, { type: 'html' } ] }, // Continuous Integration mode // if true, Karma captures browsers, runs the tests and exits singleRun: false, // Passing command line arguments to tests client: { files: argv.files } }); if (process.env.APPVEYOR) { config.browsers = ['IE']; config.singleRun = true; config.browserNoActivityTimeout = 90000; // Note: default value (10000) is not enough } if (process.env.TRAVIS || process.env.CIRCLECI) { config.browsers = ['Chrome_travis_ci']; config.singleRun = true; } };