diff --git a/app/templates/_karma.conf.js b/app/templates/_karma.conf.js index 51c73c21..b8987425 100644 --- a/app/templates/_karma.conf.js +++ b/app/templates/_karma.conf.js @@ -6,6 +6,15 @@ var conf = require('./gulp/conf'); var _ = require('lodash'); var wiredep = require('wiredep'); +var pathSrcHtml = [ +<% if (props.htmlPreprocessor.key === 'noHtmlPrepro') { -%> + path.join(conf.paths.src, '/**/*.html') +<% } else { -%> + path.join(conf.paths.tmp, '/serve/app/**/*.html'), + path.join(conf.paths.src, '/**/*.html') +<% } -%> +]; + function listFiles() { var wiredepOptions = _.extend({}, conf.wiredep, { dependencies: true, @@ -27,8 +36,8 @@ function listFiles() { <% } else { -%> path.join(conf.paths.tmp, '/serve/app/index.module.js'), <% } -%> - path.join(conf.paths.src, '/**/*.html') - ]); + ]) + .concat(pathSrcHtml); } module.exports = function(config) { @@ -88,8 +97,10 @@ module.exports = function(config) { }; var preprocessors = {}; - var pathSrcHtml = path.join(conf.paths.src, '/**/*.html'); - preprocessors[pathSrcHtml] = ['ng-html2js']; + + pathSrcHtml.forEach(function(path) { + preprocessors[path] = ['ng-html2js']; + }); <% if (props.jsPreprocessor.key === 'noJsPrepro') { -%> var pathSrcJs = path.join(conf.paths.src, '/**/!(*.spec).js'); diff --git a/test/template/test-karma-conf.js b/test/template/test-karma-conf.js index a4f54440..a67f8aee 100644 --- a/test/template/test-karma-conf.js +++ b/test/template/test-karma-conf.js @@ -42,6 +42,18 @@ describe('gulp-angular karma.conf template', function () { result.should.match(/conf\.paths\.tmp, '\/serve\/app\/index\.module\.js/); }); + it('should add files in list files for each html preprocessors', function() { + model.props.htmlPreprocessor.key = 'noHtmlPrepro'; + var result = karmaConf(model); + result.should.match(/conf\.paths\.src, '[^\s]*\.html'/); + result.should.not.match(/conf\.paths\.tmp, '\/serve[^\s]*\.html'/); + + model.props.htmlPreprocessor.key = 'jade'; + result = karmaConf(model); + result.should.match(/conf\.paths\.src, '[^\s]*\.html'/); + result.should.match(/conf\.paths\.tmp, '\/serve[^\s]*\.html'/); + }); + it('should add and configure angular filesort if needed', function() { model.props.jsPreprocessor.key = 'babel'; var result = karmaConf(model);