From 5dd0ffa3fb519bbc40eb5ab08c19f83d05599a5d Mon Sep 17 00:00:00 2001 From: kei Date: Thu, 11 Jun 2026 08:30:29 +0200 Subject: [PATCH 1/2] test(build): cover configurable karma browsers --- policy-tests/check-karma-browsers.js | 14 ++++++++++++++ policy-tests/run-all.js | 1 + 2 files changed, 15 insertions(+) create mode 100644 policy-tests/check-karma-browsers.js diff --git a/policy-tests/check-karma-browsers.js b/policy-tests/check-karma-browsers.js new file mode 100644 index 000000000..e61b357a5 --- /dev/null +++ b/policy-tests/check-karma-browsers.js @@ -0,0 +1,14 @@ +const assert = require('assert'); +const karmaConfig = require('../karma.conf.js'); + +assert.deepStrictEqual(karmaConfig.configuredBrowsers(undefined), ['Firefox']); +assert.deepStrictEqual(karmaConfig.configuredBrowsers(''), ['Firefox']); +assert.deepStrictEqual(karmaConfig.configuredBrowsers('FirefoxHeadless'), ['FirefoxHeadless']); +assert.deepStrictEqual( + karmaConfig.configuredBrowsers('ChromeHeadless, FirefoxHeadless'), + ['ChromeHeadless', 'FirefoxHeadless'] +); +assert.deepStrictEqual( + karmaConfig.configuredBrowsers(' , FirefoxHeadless ,, '), + ['FirefoxHeadless'] +); diff --git a/policy-tests/run-all.js b/policy-tests/run-all.js index 3008df63d..ce541184a 100644 --- a/policy-tests/run-all.js +++ b/policy-tests/run-all.js @@ -1,2 +1,3 @@ require('./check-licenses.js'); require('./check-commit-log.js'); +require('./check-karma-browsers.js'); From 6cb639ad2140ba90c05a6df8fedd78842a31247c Mon Sep 17 00:00:00 2001 From: kei Date: Thu, 11 Jun 2026 08:31:03 +0200 Subject: [PATCH 2/2] build(test): configure karma browsers from env --- karma.conf.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/karma.conf.js b/karma.conf.js index 5da685941..aac97b8db 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,6 +1,17 @@ // Karma configuration file, see link for more information // https://karma-runner.github.io/1.0/config/configuration-file.html +const DEFAULT_BROWSERS = ['Firefox']; + +function configuredBrowsers(envValue) { + if (!envValue) { + return DEFAULT_BROWSERS; + } + + const browsers = envValue.split(',').map((browser) => browser.trim()).filter(Boolean); + return browsers.length ? browsers : DEFAULT_BROWSERS; +} + module.exports = function (config) { config.set({ basePath: '', @@ -27,7 +38,9 @@ module.exports = function (config) { colors: true, logLevel: config.LOG_INFO, autoWatch: true, - browsers: ['Firefox'], + browsers: configuredBrowsers(process.env.KARMA_BROWSERS), singleRun: false }); }; + +module.exports.configuredBrowsers = configuredBrowsers;