redoc/karma.conf.js
2016-05-20 22:45:12 +03:00

82 lines
2.7 KiB
JavaScript

module.exports = function (config) {
var travis = process.env.TRAVIS;
config.set({
frameworks: ['phantomjs-shim', 'jspm', 'jasmine', 'sinon', 'should'],
preprocessors: {
'lib/**/!(*spec).js': ['babel', 'regex', 'coverage']
},
regexPreprocessor: {
rules: [
[ /'\.(.*?)\.css'/g, '\'.tmp$1.css\'']
]
},
babelPreprocessor: {
options: {
sourceMap: 'inline',
"optional": [
"runtime",
"optimisation.modules.system",
"es7.decorators",
"es7.classProperties"
]
},
sourceFileName: function(file) {
return file.originalPath;
}
},
coverageReporter: {
instrumenters: { isparta : require('isparta') },
instrumenter: {
'lib/**/!(*spec).js': 'isparta'
},
dir: 'coverage/',
reporters: [
{type: 'html'},
{type: 'text-summary'},
{type: 'lcov'}
]
},
client: {
chai: {
truncateThreshold: 0
}
},
//load angular dependencies and browser polyfills
files: [
'node_modules/zone.js/dist/zone.js',
'node_modules/zone.js/dist/fake-async-test.js',
'node_modules/zone.js/dist/async-test.js',
'node_modules/zone.js/dist/jasmine-patch.js',
'node_modules/zone.js/dist/long-stack-trace-zone.js',
'node_modules/babel-polyfill/dist/polyfill.js',
'./node_modules/reflect-metadata/Reflect.js'
],
jspm: {
config: 'system.config.js',
loadFiles: ['tests/setup.js', 'tests/helpers.js', 'tests/unit/*.spec.js', 'lib/**/*.js'],
serveFiles: ['tests/schemas/**/*.json','tests/schemas/**/*.yml', 'lib/**/*.html',
'.tmp/lib/**/*.json', '.tmp/*js', '.tmp/lib/**/*.css'],
nocache: true
},
proxies: {
'/tests/': '/base/tests/',
'/lib/components/Redoc/redoc-initial-styles.css': '/base/.tmp/lib/components/Redoc/redoc-initial-styles.css',
'/lib/version.json': '/base/.tmp/lib/version.json',
'/lib/': '/base/lib/',
'/jspm_packages/': '/base/jspm_packages/',
'/node_modules/': '/base/node_modules/',
'/prismjs-bundle.js': '/base/.tmp/prismjs-bundle.js',
'/.tmp/': '/base/.tmp/'
},
reporters: travis ? ['mocha', 'coverage', 'coveralls'] : ['mocha', 'coverage'],
browsers: ['PhantomJS'],
browserNoActivityTimeout: 60000
});
}