Skip to content

Commit f206ea3

Browse files
committed
fix(tests): fixed auto injecting Bower dependencies to Karma config
1 parent 2219f56 commit f206ea3

4 files changed

Lines changed: 35 additions & 16 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
*.DS_Store
22
.sass-cache/
33
npm-debug.log
4+
karma.conf.js
45
build/
56
dist/
67
node_modules/

config.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,5 @@
2626
"jquery",
2727
"vendor/bootstrap-sass-official/assets/javascripts"
2828
]
29-
},
30-
31-
"mocks": "vendor/angular-mocks/angular-mocks.js"
29+
}
3230
}

gulpfile.js

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ var gulp = require('gulp'),
44
map = require('map-stream'),
55
del = require('del'),
66
minimist = require('minimist'),
7-
wiredep = require('wiredep').stream,
7+
wiredep = require('wiredep'),
88
plugins = require('gulp-load-plugins')(),
99
bs = require('browser-sync').create(),
1010
config = require('./config.json'),
@@ -84,8 +84,36 @@ gulp.task('wiredep', function () {
8484
exclude: config.bower.exclude
8585
};
8686

87+
// inject Bower dependencies to Karma config
88+
89+
var extend = require('util')._extend;
90+
var testOptions = extend(options, {
91+
src: './karma.conf.js',
92+
fileTypes: {
93+
js: {
94+
block: /(([ \t]*)\/\/\s*bower:*(\S*))(\n|\r|.)*?(\/\/\s*endbower)/gi,
95+
detect: {
96+
js: /['\']([^'\']+\.js)['\'],?/gi,
97+
css: /['\']([^'\']+\.js)['\'],?/gi
98+
},
99+
replace: {
100+
js: '{ pattern: "{{filePath}}", watched: false },',
101+
css: '"{{filePath}}",'
102+
}
103+
}
104+
},
105+
});
106+
107+
var fs = require('fs');
108+
fs.stat('karma.conf.js', function (err, stat) {
109+
if (err && err.code === 'ENOENT') {
110+
fs.writeFileSync('karma.conf.js', fs.readFileSync('karma.conf.default.js'));
111+
}
112+
wiredep(testOptions);
113+
});
114+
87115
return gulp.src(config.paths.html)
88-
.pipe(wiredep(options))
116+
.pipe(wiredep.stream(options))
89117
.pipe(gulp.dest(config.build));
90118
});
91119

karma.conf.js renamed to karma.conf.default.js

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,13 @@ var cfg = require('./config.json');
44

55
module.exports = function (config) {
66
config.set({
7-
exclude: [
8-
'vendor/*jquery*/src/**/*.js'
9-
],
107
files: [
11-
{ pattern: 'vendor/jquery/dist/jquery.js', watched: false },
12-
{ pattern: 'vendor/angular/angular.js', watched: false },
13-
{ pattern: 'vendor/**/*.js', watched: false },
8+
// bower:js
9+
// endbower
1410
cfg.build + '/+(app|common)/**/*.module.js',
15-
cfg.build + '/+(app|common)/**/*.config.js',
16-
cfg.build + '/+(app|common)/**/*.controller.js',
17-
cfg.build + '/app/templates.js',
18-
cfg.build + '/app/conf.js',
11+
cfg.build + '/+(app|common)/**/*.js',
1912
cfg.paths.tests
2013
],
21-
2214
frameworks: ['jasmine'],
2315
plugins: ['karma-jasmine', 'karma-phantomjs-launcher', 'karma-coverage'],
2416

0 commit comments

Comments
 (0)