-
Notifications
You must be signed in to change notification settings - Fork 5
/
Gruntfile.js
64 lines (58 loc) · 1.39 KB
/
Gruntfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*global module */
module.exports = function (grunt) {
// Project configuration.
grunt.initConfig({
jshint: {
src: [
"*.js",
"app/**/*.js",
"!app/**/_*.js",
"tests/*.js"
],
options: {
jshintrc: ".jshintrc"
}
},
intern: {
all: {
options: {
config: "tests/intern",
reporters: []
}
}
}
});
// Load plugins
grunt.loadNpmTasks("intern");
grunt.loadNpmTasks("grunt-contrib-jshint");
// Aliases
grunt.registerTask("jsdoc", "jsdoc-amddcl");
// Testing.
// Always specify the target e.g. grunt test:remote, grunt test:remote
// then add on any other flags afterwards e.g. console, lcovhtml.
var testTaskDescription = "Run this task instead of the intern task directly! \n" +
"Always specify the test target e.g. \n" +
"grunt test\n" +
"Add any optional reporters via a flag e.g. \n" +
"grunt test:console\n" +
"grunt test:lcovhtml\n" +
"grunt test:console:lcovhtml";
grunt.registerTask("test", testTaskDescription, function () {
function addReporter(reporter) {
var property = "intern.all.options.reporters",
value = grunt.config.get(property);
if (value.indexOf(reporter) !== -1) {
return;
}
value.push(reporter);
grunt.config.set(property, value);
}
if (this.flags.lcovhtml) {
addReporter("lcovhtml");
}
if (this.flags.console) {
addReporter("console");
}
grunt.task.run("intern:all");
});
};