diff options
Diffstat (limited to 'lib/epub.js/karma.conf.js')
-rw-r--r-- | lib/epub.js/karma.conf.js | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/lib/epub.js/karma.conf.js b/lib/epub.js/karma.conf.js new file mode 100644 index 0000000..fa83072 --- /dev/null +++ b/lib/epub.js/karma.conf.js @@ -0,0 +1,147 @@ +let webpackConfig = require("./webpack.config.js"); +webpackConfig.mode = "development"; +webpackConfig.externals = {}; +webpackConfig.module.rules.push({ + test: /\.xhtml$/i, + use: 'raw-loader', +}); + +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: ['mocha'], + + + // list of files / patterns to load in the browser + files: [ + + {pattern: 'src/*.js', watched: true, included: false, served: false}, + + {pattern: 'test/*.js', watched: false}, + + {pattern: 'test/fixtures/**/*', watched: false, included: false, served: true}, + + // {pattern: 'node_modules/jszip/dist/jszip.js', watched: false, included: true, served: true}, + + // {pattern: 'node_modules/es6-promise/dist/es6-promise.auto.js', watched: false, included: true, served: true}, + + // {pattern: 'libs/url/url-polyfill.js', watched: false, included: true, served: true} + + ], + + // list of files to exclude + exclude: [ + ], + + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + // add webpack as preprocessor + 'test/*.js': ['webpack', 'sourcemap'], + // 'test/**/*.js': ['webpack', 'sourcemap'] + }, + + webpack: webpackConfig, + + // { + // mode: "development", + // externals: { + // "jszip": "JSZip" + // // "xmldom": "xmldom" + // }, + // devtool: 'inline-source-map', + // resolve: { + // alias: { + // path: "path-webpack" + // } + // }, + // module: { + // rules: [ + // { + // test: /\.js$/, + // exclude: /node_modules/, + // loader: "babel-loader", + // query: { + // presets: [["@babel/preset-env", { + // targets: "defaults", + // }]], + // } + // }, + // { + // test: /\.xhtml$/i, + // use: 'raw-loader', + // } + // ] + // } + // }, + + webpackMiddleware: { + stats: 'errors-only' + }, + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ['mocha'], + + // 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: ['ChromeHeadless', 'ChromeHeadlessNoSandbox'], + + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: Infinity, + + proxies: { + "/fixtures/": "/base/test/fixtures/" + }, + + client: { + config: { + browserConsoleLogOptions: true + }, + captureConsole: true, + mocha: { + reporter: 'html' + // bail: true + } + }, + + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: 'ChromeHeadless', + flags: ['--no-sandbox'] + } + } + + }) +} |