From 860302679587305f8ef08b0d6450572a73eb2b23 Mon Sep 17 00:00:00 2001 From: Ehtesham Date: Fri, 22 Apr 2016 17:11:14 +0500 Subject: [PATCH] making preprocessor files path absolute to have coverage reporter include file only once --- cms/static/karma_cms.conf.js | 10 +-------- cms/static/karma_cms_squire.conf.js | 10 +-------- common/static/common/js/karma.common.conf.js | 22 ++++++++++++++++++++ common/static/karma_common.conf.js | 2 ++ common/static/karma_common_requirejs.conf.js | 2 ++ lms/static/karma_lms.conf.js | 10 +-------- lms/static/karma_lms_coffee.conf.js | 10 +-------- 7 files changed, 30 insertions(+), 36 deletions(-) diff --git a/cms/static/karma_cms.conf.js b/cms/static/karma_cms.conf.js index 6ec363a3b7..8be90301eb 100644 --- a/cms/static/karma_cms.conf.js +++ b/cms/static/karma_cms.conf.js @@ -114,15 +114,7 @@ var runAndConfigFiles = [ // do not include tests or libraries // (these files will be instrumented by Istanbul) -var preprocessors = (function () { - var preprocessFiles = {}; - _.flatten([sourceFiles, specFiles]).forEach(function (file) { - var pattern = _.isObject(file) ? file.pattern : file; - preprocessFiles[pattern] = ['coverage']; - }); - - return preprocessFiles; -}()); +var preprocessors = configModule.getPreprocessorObject(_.flatten([sourceFiles, specFiles])); module.exports = function (config) { var commonConfig = configModule.getConfig(config), diff --git a/cms/static/karma_cms_squire.conf.js b/cms/static/karma_cms_squire.conf.js index 59046104a3..7ac88b65a2 100644 --- a/cms/static/karma_cms_squire.conf.js +++ b/cms/static/karma_cms_squire.conf.js @@ -102,15 +102,7 @@ var runAndConfigFiles = [ // do not include tests or libraries // (these files will be instrumented by Istanbul) -var preprocessors = (function () { - var preprocessFiles = {}; - _.flatten([sourceFiles, specFiles]).forEach(function (file) { - var pattern = _.isObject(file) ? file.pattern : file; - preprocessFiles[pattern] = ['coverage']; - }); - - return preprocessFiles; -}()); +var preprocessors = configModule.getPreprocessorObject(_.flatten([sourceFiles, specFiles])); module.exports = function (config) { var commonConfig = configModule.getConfig(config), diff --git a/common/static/common/js/karma.common.conf.js b/common/static/common/js/karma.common.conf.js index 2cf2bbc78b..510ff091d8 100644 --- a/common/static/common/js/karma.common.conf.js +++ b/common/static/common/js/karma.common.conf.js @@ -1,8 +1,10 @@ // Common configuration for Karma /* jshint node: true */ +/*jshint -W079 */ 'use strict'; var path = require('path'); +var _ = require('underscore'); var appRoot = path.join(__dirname, '../../../../'); /** @@ -100,6 +102,25 @@ function junitSettings(config) { }; } +var getPreprocessorObject = function (files) { + var preprocessFiles = {}; + + files.forEach(function (file) { + var pattern = _.isObject(file) ? file.pattern : file; + + if (pattern.match(/^common\/js/)) { + pattern = path.join(appRoot, '/common/static/' + pattern) + } else if (pattern.match(/^xmodule_js\/common_static/)) { + pattern = path.join(appRoot, '/common/static/' + + pattern.replace(/^xmodule_js\/common_static\//, '')); + } + + preprocessFiles[pattern] = ['coverage']; + }); + + return preprocessFiles; +}; + var getConfig = function (config, useRequireJs) { useRequireJs = useRequireJs === undefined ? true : useRequireJs; @@ -216,5 +237,6 @@ var getConfig = function (config, useRequireJs) { module.exports = { getConfig: getConfig, + getPreprocessorObject: getPreprocessorObject, appRoot: appRoot }; diff --git a/common/static/karma_common.conf.js b/common/static/karma_common.conf.js index 72567f420f..1bd3287fd7 100644 --- a/common/static/karma_common.conf.js +++ b/common/static/karma_common.conf.js @@ -80,8 +80,10 @@ var fixtureFiles = [ // (these files will be instrumented by Istanbul) var preprocessors = (function () { var preprocessFiles = {}; + _.flatten([sourceFiles, specFiles]).forEach(function (file) { var pattern = _.isObject(file) ? file.pattern : file; + pattern = path.join(configModule.appRoot, '/common/static/' + pattern); preprocessFiles[pattern] = ['coverage']; }); diff --git a/common/static/karma_common_requirejs.conf.js b/common/static/karma_common_requirejs.conf.js index 799415b26f..8e2556463f 100644 --- a/common/static/karma_common_requirejs.conf.js +++ b/common/static/karma_common_requirejs.conf.js @@ -74,8 +74,10 @@ var runAndConfigFiles = [ // (these files will be instrumented by Istanbul) var preprocessors = (function () { var preprocessFiles = {}; + _.flatten([sourceFiles, specFiles]).forEach(function (file) { var pattern = _.isObject(file) ? file.pattern : file; + pattern = path.join(configModule.appRoot, '/common/static/' + pattern); preprocessFiles[pattern] = ['coverage']; }); diff --git a/lms/static/karma_lms.conf.js b/lms/static/karma_lms.conf.js index 819e53ea30..a0523e67e0 100644 --- a/lms/static/karma_lms.conf.js +++ b/lms/static/karma_lms.conf.js @@ -128,15 +128,7 @@ var runAndConfigFiles = [ // do not include tests or libraries // (these files will be instrumented by Istanbul) -var preprocessors = (function () { - var preprocessFiles = {}; - _.flatten([sourceFiles, specFiles]).forEach(function (file) { - var pattern = _.isObject(file) ? file.pattern : file; - preprocessFiles[pattern] = ['coverage']; - }); - - return preprocessFiles; -}()); +var preprocessors = configModule.getPreprocessorObject(_.flatten([sourceFiles, specFiles])); module.exports = function (config) { var commonConfig = configModule.getConfig(config), diff --git a/lms/static/karma_lms_coffee.conf.js b/lms/static/karma_lms_coffee.conf.js index 163e264714..1f4f0d9ae2 100644 --- a/lms/static/karma_lms_coffee.conf.js +++ b/lms/static/karma_lms_coffee.conf.js @@ -80,15 +80,7 @@ var fixtureFiles = [ // do not include tests or libraries // (these files will be instrumented by Istanbul) -var preprocessors = (function () { - var preprocessFiles = {}; - _.flatten([sourceFiles, specFiles]).forEach(function (file) { - var pattern = _.isObject(file) ? file.pattern : file; - preprocessFiles[pattern] = ['coverage']; - }); - - return preprocessFiles; -}()); +var preprocessors = configModule.getPreprocessorObject(_.flatten([sourceFiles, specFiles])); module.exports = function (config) { var commonConfig = configModule.getConfig(config, false),