/***************************************************************************** * Open MCT, Copyright (c) 2014-2017, United States Government * as represented by the Administrator of the National Aeronautics and Space * Administration. All rights reserved. * * Open MCT is 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. * * Open MCT includes source code licensed under additional open source * licenses. See the Open Source Licenses file (LICENSES.md) included with * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ /*global module,process*/ module.exports = function(config) { config.set({ // Base path that will be used to resolve all file patterns. basePath: '', // Frameworks to use // Available frameworks: https://npmjs.org/browse/keyword/karma-adapter frameworks: ['jasmine', 'requirejs'], // List of files / patterns to load in the browser. // By default, files are also included in a script tag. files: [ {pattern: 'bower_components/**/*.js', included: false}, {pattern: 'node_modules/d3-*/**/*.js', included: false}, {pattern: 'node_modules/vue/**/*.js', included: false}, {pattern: 'src/**/*.js', included: false}, {pattern: 'example/**/*.html', included: false}, {pattern: 'example/**/*.js', included: false}, {pattern: 'example/**/*.json', included: false}, {pattern: 'platform/**/*.js', included: false}, {pattern: 'warp/**/*.js', included: false}, {pattern: 'platform/**/*.html', included: false}, {pattern: 'src/**/*.html', included: false}, 'test-main.js' ], // List of files to exclude. exclude: [ 'platform/framework/src/Main.js' ], // Preprocess matching files before serving them to the browser. // https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { 'src/**/!(*Spec).js': [ 'coverage' ], 'platform/**/src/**/!(*Spec).js': [ 'coverage' ] }, // Test results reporter to use // Possible values: 'dots', 'progress' // Available reporters: https://npmjs.org/browse/keyword/karma-reporter reporters: ['progress', 'coverage', 'html', 'junit'], // Web server port. port: 9876, // Wnable / disable colors in the output (reporters and logs). colors: true, logLevel: config.LOG_INFO, // Rerun tests when any file changes. autoWatch: true, // Specify browsers to run tests in. // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher browsers: [ 'Chrome' ], // Code coverage reporting. coverageReporter: { dir: process.env.CIRCLE_ARTIFACTS ? process.env.CIRCLE_ARTIFACTS + '/coverage' : "dist/reports/coverage", check: { global: { lines: 80 } } }, // HTML test reporting. htmlReporter: { outputDir: "dist/reports/tests", preserveDescribeNesting: true, foldAll: false }, junitReporter: { outputDir: process.env.CIRCLE_TEST_REPORTS || 'dist/reports/junit' }, // Continuous Integration mode. // If true, Karma captures browsers, runs the tests and exits. singleRun: true }); };