From 0f1069a32e57fdfba81ea366346ed4546489669b Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Tue, 12 Jan 2021 15:25:03 +0200 Subject: [PATCH] Update karma config * rename constants * enforce the constants to be Boolean * use the coverage plugin only one time, on the latest jQuery run * fix karma `logLevel` --- js/tests/karma.conf.js | 59 ++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/js/tests/karma.conf.js b/js/tests/karma.conf.js index 2e947ab97e9c..c87911736174 100644 --- a/js/tests/karma.conf.js +++ b/js/tests/karma.conf.js @@ -1,15 +1,15 @@ /* eslint-env node */ +'use strict' + const path = require('path') const ip = require('ip') -const { - browsers, - browsersKeys -} = require('./browsers') +const { browsers, browsersKeys } = require('./browsers') -const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'node_modules/jquery/dist/jquery.slim.min.js' -const bundle = process.env.BUNDLE === 'true' -const browserStack = process.env.BROWSER === 'true' +const USE_OLD_JQUERY = Boolean(process.env.USE_OLD_JQUERY) +const BUNDLE = Boolean(process.env.BUNDLE) +const BROWSERSTACK = Boolean(process.env.BROWSERSTACK) +const JQUERY_FILE = USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'node_modules/jquery/dist/jquery.slim.min.js' const frameworks = [ 'qunit', @@ -68,7 +68,7 @@ const conf = { } } -if (bundle) { +if (BUNDLE) { frameworks.push('detectBrowsers') plugins.push( 'karma-chrome-launcher', @@ -78,10 +78,10 @@ if (bundle) { conf.customLaunchers = customLaunchers conf.detectBrowsers = detectBrowsers files = files.concat([ - jqueryFile, + JQUERY_FILE, 'dist/js/bootstrap.js' ]) -} else if (browserStack) { +} else if (BROWSERSTACK) { conf.hostname = ip.address() conf.browserStack = { username: process.env.BROWSER_STACK_USERNAME, @@ -98,35 +98,39 @@ if (bundle) { 'node_modules/jquery/dist/jquery.slim.min.js', 'js/dist/util.js', 'js/dist/tooltip.js', - 'js/dist/!(util|index|tooltip).js' // include all of our js/dist files except util.js, index.js and tooltip.js + // include all of our js/dist files except util.js, index.js and tooltip.js + 'js/dist/!(util|index|tooltip).js' ]) } else { frameworks.push('detectBrowsers') plugins.push( 'karma-chrome-launcher', 'karma-firefox-launcher', - 'karma-detect-browsers', - 'karma-coverage-istanbul-reporter' + 'karma-detect-browsers' ) files = files.concat([ - jqueryFile, + JQUERY_FILE, 'js/coverage/dist/util.js', 'js/coverage/dist/tooltip.js', - 'js/coverage/dist/!(util|index|tooltip).js' // include all of our js/dist files except util.js, index.js and tooltip.js + // include all of our js/dist files except util.js, index.js and tooltip.js + 'js/coverage/dist/!(util|index|tooltip).js' ]) - reporters.push('coverage-istanbul') conf.customLaunchers = customLaunchers conf.detectBrowsers = detectBrowsers - conf.coverageIstanbulReporter = { - dir: path.resolve(__dirname, '../coverage/'), - reports: ['lcov', 'text-summary'], - thresholds: { - emitWarning: false, - global: { - statements: 90, - branches: 86, - functions: 89, - lines: 90 + if (!USE_OLD_JQUERY) { + plugins.push('karma-coverage-istanbul-reporter') + reporters.push('coverage-istanbul') + conf.coverageIstanbulReporter = { + dir: path.resolve(__dirname, '../coverage/'), + reports: ['lcov', 'text-summary'], + thresholds: { + emitWarning: false, + global: { + statements: 90, + branches: 86, + functions: 89, + lines: 90 + } } } } @@ -140,7 +144,6 @@ conf.reporters = reporters conf.files = files module.exports = karmaConfig => { - // possible values: karmaConfig.LOG_DISABLE || karmaConfig.LOG_ERROR || karmaConfig.LOG_WARN || karmaConfig.LOG_INFO || karmaConfig.LOG_DEBUG - conf.logLevel = karmaConfig.LOG_ERROR || karmaConfig.LOG_WARN + conf.logLevel = karmaConfig.LOG_ERROR karmaConfig.set(conf) } diff --git a/package.json b/package.json index 46508742d7d6..56e39b0dde22 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "js-test-karma-bundle": "cross-env BUNDLE=true npm run js-test-karma", "js-test-karma-bundle-old": "cross-env BUNDLE=true USE_OLD_JQUERY=true npm run js-test-karma", "js-test-integration": "rollup --config js/tests/integration/rollup.bundle.js", - "js-test-cloud": "cross-env BROWSER=true npm run js-test-karma", + "js-test-cloud": "cross-env BROWSERSTACK=true npm run js-test-karma", "lint": "npm-run-all --parallel js-lint css-lint lockfile-lint", "docs": "npm-run-all docs-build docs-lint", "docs-build": "hugo --cleanDestinationDir",