diff --git a/karma.headless.conf.js b/karma.headless.conf.js new file mode 100644 index 0000000..f4c9286 --- /dev/null +++ b/karma.headless.conf.js @@ -0,0 +1,32 @@ +module.exports = function (config) { + config.set({ + browsers: ['PhantomJS', 'PhantomJS_custom'], + frameworks: ['jasmine'], + reporters: ['mocha'], + singleRun: true, + preprocessors: {'./karma-test-runner.js': ['webpack']}, + files: [ + {pattern: 'node_modules/babel-polyfill/browser.js', instrument: false}, + {pattern: './karma-test-runner.js', watched: false} + ], + webpack: require('./webpack.test.config.js'), + webpackServer: {noInfo: true}, + customLaunchers: { + 'PhantomJS_custom': { + base: 'PhantomJS', + options: { + windowName: 'my-window', + settings: { + webSecurityEnabled: false + } + }, + flags: ['--load-images=true'], + debug: true + } + }, + phantomjsLauncher: { + // Have phantomjs exit if a ResourceError is encountered (useful if karma exits without killing phantom) + exitOnResourceError: true + } + }); +}; diff --git a/package.json b/package.json index 57424f3..9e60670 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "start": "webpack-dev-server --inline --colors --progress --display-error-details --display-cached --port 8080", "preserve:dist": "npm run build", "serve:dist": "static dist -H '{\"Cache-Control\": \"no-cache, must-revalidate\"}' -z", - "test": "karma start karma.conf.js" + "test": "karma start karma.conf.js", + "test-headless": "karma start karma.headless.conf.js" }, "dependencies": { "@angular/common": "2.0.0-rc.1", @@ -28,6 +29,7 @@ "zone.js": "^0.6.12" }, "devDependencies": { + "babel-polyfill": "^6.9.1", "compression-webpack-plugin": "^0.3.1", "copy-webpack-plugin": "^3.0.1", "css-loader": "^0.23.1", @@ -39,6 +41,7 @@ "karma-firefox-launcher": "^1.0.0", "karma-jasmine": "^1.0.2", "karma-mocha-reporter": "^2.0.0", + "karma-phantomjs-launcher": "^1.0.1", "karma-webpack": "^1.7.0", "node-static": "^0.7.7", "raw-loader": "^0.5.1",