Files
openlayers/test/karma.config.js
2020-05-16 23:37:25 -06:00

135 lines
3.2 KiB
JavaScript

const path = require('path');
module.exports = function (karma) {
karma.set({
browsers: [process.env.CI ? 'ChromeHeadless' : 'Chrome'],
browserDisconnectTolerance: 2,
frameworks: ['mocha'],
client: {
runInParent: true,
mocha: {
timeout: 2500,
},
},
files: [
{
pattern: path.resolve(
__dirname,
require.resolve('url-polyfill/url-polyfill.js')
),
watched: false,
},
{
pattern: 'module-global.js',
watched: false,
},
{
pattern: path.resolve(
__dirname,
require.resolve('jquery/dist/jquery.js')
),
watched: false,
},
{
pattern: path.resolve(__dirname, require.resolve('expect.js/index.js')),
watched: false,
},
{
pattern: path.resolve(__dirname, require.resolve('sinon/pkg/sinon.js')),
watched: false,
},
{
pattern: path.resolve(
__dirname,
require.resolve('proj4/dist/proj4.js')
),
watched: false,
},
{
pattern: path.resolve(
__dirname,
require.resolve('pixelmatch/index.js')
),
watched: false,
},
{
pattern: path.resolve(__dirname, './test-extensions.js'),
},
{
pattern: path.resolve(__dirname, './index_test.js'),
watched: false,
},
{
pattern: '**/*',
included: false,
watched: false,
},
],
exclude: ['**/*.test.js'],
proxies: {
'/rendering/': '/base/rendering/',
'/spec/': '/base/spec/',
},
preprocessors: {
'**/*.js': ['webpack', 'sourcemap'],
},
reporters: ['dots', 'coverage-istanbul'],
coverageIstanbulReporter: {
reports: ['text-summary', 'html'],
dir: path.resolve(__dirname, '../coverage/'),
fixWebpackSourcePaths: true,
},
webpack: {
devtool: 'inline-source-map',
mode: 'development',
module: {
rules: [
{
test: /\.js$/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
},
},
include: path.resolve('src/ol/'),
exclude: path.resolve('node_modules/'),
},
{
test: /\.js$/,
use: {
loader: 'istanbul-instrumenter-loader',
options: {
esModules: true,
},
},
include: path.resolve('src/ol/'),
exclude: path.resolve('node_modules/'),
},
{
test: /\.js$/,
use: {
loader: path.join(
__dirname,
'../examples/webpack/worker-loader.js'
),
},
include: [path.join(__dirname, '../src/ol/worker')],
},
],
},
resolve: {
alias: {
// allow imports from 'ol/module' instead of specifiying the source path
ol: path.join(__dirname, '..', 'src', 'ol'),
},
},
},
webpackMiddleware: {
noInfo: true,
},
});
process.env.CHROME_BIN = require('puppeteer').executablePath();
};