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);
|
|||
|
};
|