69 lines
2.0 KiB
JavaScript
69 lines
2.0 KiB
JavaScript
/**
|
||
* Copyright 2017 Google Inc. All Rights Reserved.
|
||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||
* you may not use this file except in compliance with the License.
|
||
* You may obtain a copy of the License at
|
||
* http://www.apache.org/licenses/LICENSE-2.0
|
||
* Unless required by applicable law or agreed to in writing, software
|
||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
* See the License for the specific language governing permissions and
|
||
* limitations under the License.
|
||
*/
|
||
|
||
module.exports = function (config) {
|
||
const configuration = {
|
||
basePath: "",
|
||
frameworks: ["mocha", "chai", "detectBrowsers"],
|
||
files: [
|
||
{
|
||
pattern: "tests/fixtures/*",
|
||
included: false,
|
||
},
|
||
{
|
||
pattern: "dist/**/*.@(mjs|js)",
|
||
included: false,
|
||
},
|
||
{
|
||
pattern: "tests/*.test.js",
|
||
type: "module",
|
||
},
|
||
],
|
||
reporters: ["progress"],
|
||
port: 9876,
|
||
colors: true,
|
||
logLevel: config.LOG_INFO,
|
||
autoWatch: true,
|
||
singleRun: true,
|
||
concurrency: Infinity,
|
||
detectBrowsers: {
|
||
enabled: true,
|
||
usePhantomJS: false,
|
||
preferHeadless: true,
|
||
postDetection: (availableBrowsers) => {
|
||
if (process.env.INSIDE_DOCKER) {
|
||
return ["DockerChrome"];
|
||
} else if (process.env.CHROME_ONLY) {
|
||
return ["ChromeHeadless"];
|
||
} else {
|
||
// Filtering SafariTechPreview because I am having
|
||
// local issues and I have no idea how to fix them.
|
||
// I know that’s not a good reason to disable tests,
|
||
// but Safari TP is relatively unimportant.
|
||
return availableBrowsers.filter(
|
||
(browser) => browser !== "SafariTechPreview"
|
||
);
|
||
}
|
||
},
|
||
},
|
||
customLaunchers: {
|
||
DockerChrome: {
|
||
base: "ChromeHeadless",
|
||
flags: ["--no-sandbox"],
|
||
},
|
||
},
|
||
};
|
||
|
||
config.set(configuration);
|
||
};
|