Leaflet/spec/karma.conf.js
Yohan Boniface 5dfc3364d1 Allow to make screenshots in Phantomjs (#4705)
* Load CSS in PhantomJS

* Allow to take screenshot in PhantomJS while running tests

For that, one need to run this call:

    window.top.callPhantom({'render': 'screenshot.png'});

* Make PhantomJS serve images

* Bonus: those tests now passe in Phantom too

* Add helper to make screenshot in tests

	takeScreenshot();

or

	takeScreenshot('path/to/screenshot.png');
2016-07-08 11:05:12 +02:00

94 lines
2.2 KiB
JavaScript

// Karma configuration
module.exports = function (config) {
var libSources = require(__dirname + '/../build/build.js').getFiles();
var files = [
"spec/sinon.js",
"spec/expect.js"
].concat(libSources, [
"spec/after.js",
"node_modules/happen/happen.js",
"node_modules/prosthetic-hand/dist/prosthetic-hand.js",
"spec/suites/SpecHelper.js",
"spec/suites/**/*.js",
"dist/*.css",
{pattern: "dist/images/*.png", included: false, serve: true}
]);
config.set({
// base path, that will be used to resolve files and exclude
basePath: '../',
plugins: [
'karma-mocha',
'karma-coverage',
'karma-phantomjs-launcher',
'karma-chrome-launcher',
'karma-safari-launcher',
'karma-firefox-launcher'],
// frameworks to use
frameworks: ['mocha'],
// list of files / patterns to load in the browser
files: files,
proxies: {
'/base/dist/images/': 'dist/images/'
},
exclude: [],
// test results reporter to use
// possible values: 'dots', 'progress', 'junit', 'growl', 'coverage'
reporters: ['dots'],
// web server port
port: 9876,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_WARN,
// enable / disable colors in the output (reporters and logs)
colors: true,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: false,
// Start these browsers, currently available:
// - Chrome
// - ChromeCanary
// - Firefox
// - Opera
// - Safari (only Mac)
// - PhantomJS
// - IE (only Windows)
browsers: ['PhantomJSCustom'],
customLaunchers: {
'PhantomJSCustom': {
base: 'PhantomJS',
flags: ['--load-images=true'],
options: {
onCallback: function (data) {
if (data.render) {
page.render(data.render);
}
}
}
}
},
// If browser does not capture in given timeout [ms], kill it
captureTimeout: 5000,
// Workaround for PhantomJS random DISCONNECTED error
browserDisconnectTimeout: 10000, // default 2000
browserDisconnectTolerance: 1, // default 0
// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun: true
});
};