| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import { createRequire } from 'module'
- import karma from 'karma'
- const require = createRequire(import.meta.url)
- export default function(filePaths, isDev, cliArgs) {
- const filePathsWithSrcMaps = filePaths
- .filter((filePath) => (
- // TODO: must proper built dist files (HACK)
- filePath.match(/[\\/]dist[\\/]/)
- ))
- const files = [
- require.resolve('jquery'),
- require.resolve('jasmine-jquery'),
- require.resolve('jquery-simulate'),
- require.resolve('components-jqueryui'),
- ...filePaths,
- ...filePathsWithSrcMaps
- .map((path) => ({
- pattern: path.replace(/\.js$/, '.js.map'),
- included: false,
- })),
- ]
- const preprocessors = filePathsWithSrcMaps.reduce((props, distFile) => (
- Object.assign(props, { [distFile]: ['sourcemap'] })
- ), {})
- return {
- singleRun: !isDev,
- autoWatch: isDev,
- browsers: !isDev ? ['ChromeHeadless_custom'] : [],
- client: { cliArgs }, // access via `window.__karma__.config.cliArgs`
- files,
- preprocessors,
- plugins: [
- require('karma-chrome-launcher'),
- require('karma-jasmine'),
- require('karma-sourcemap-loader'),
- require('karma-verbose-reporter'),
- ],
- // frameworks to use
- frameworks: ['jasmine'],
- // test results reporter to use
- // possible values: 'dots', 'progress', 'junit', 'growl', 'coverage', 'verbose'
- reporters: ['dots'],
- // web server port
- port: 9876,
- // enable / disable colors in the output (reporters and logs)
- colors: true,
- // level of logging
- // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
- logLevel: karma.constants.LOG_INFO,
- // If browser does not capture in given timeout [ms], kill it
- captureTimeout: 60000,
- customLaunchers: {
- ChromeHeadless_custom: {
- base: 'ChromeHeadless',
- flags: [
- '--no-sandbox', // needed for TravisCI: https://docs.travis-ci.com/user/chrome#Sandboxing
- '--window-size=1280,1696', // some tests only work with larger window (w?, h?)
- ],
- },
- },
- }
- }
|