[Tests] Load all sources (#1098)

Load all source files when running Karma's test suite; this
ensures that code coverage metrics are not invalidated by
missing files. Fixes #1090.
This commit is contained in:
Victor Woeltjen 2016-07-28 10:45:38 -07:00 committed by Pete Richards
parent 4d2f159dd8
commit 59436f7b45

View File

@ -23,13 +23,14 @@
/*global require,window*/
var allTestFiles = [];
var TEST_REGEXP = /(Spec)\.js$/;
var SRC_REGEXP = /^\/base\/(src|platform).*\.js$/;
var pathToModule = function(path) {
return path.replace(/^\/base\//, '').replace(/\.js$/, '');
};
Object.keys(window.__karma__.files).forEach(function(file) {
if (TEST_REGEXP.test(file)) {
if (TEST_REGEXP.test(file) || SRC_REGEXP.test(file)) {
// Normalize paths to RequireJS module names.
allTestFiles.push(pathToModule(file));
}
@ -38,6 +39,11 @@ Object.keys(window.__karma__.files).forEach(function(file) {
// Force es6-promise to load.
allTestFiles.unshift('es6-promise');
// Drop legacyRegistry, since it is at a different path by RequireJS config
allTestFiles = allTestFiles.filter(function (file) {
return file.indexOf('legacyRegistry') === -1;
});
requirejs.config({
// Karma serves files from the basePath defined in karma.conf.js
baseUrl: '/base',