-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathGruntfile.js
109 lines (101 loc) · 1.76 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
module.exports = function (grunt) {
// Project configuration.
grunt.initConfig({
watch: {
files: '<config:lint.files>',
tasks: 'default'
},
//Mocha configuration
loopmocha: {
src: ["test/*.js"],
options: {
iterations: [
{
"description": "first",
"env1": {
"someKey": "some value"
}
},
{
"description": "second",
"env2": {
"someOtherKey": "some other value"
}
},
{
"description": "third",
"mocha": {
"timeout": 4000
}
},
{
"description": "fifth",
"env1": {
"anotherKey": "BLERG"
},
"env2": {
"yetAnotherKey": 123
}
},
{
"description": "many",
"env1": {
"anotherKey": "BLERG"
},
"env2": {
"yetAnotherKey": 123
}
}
],
mocha: {
parallel: "file",
globals: ['should'],
timeout: 3000,
ui: 'bdd',
reporter: "xunit-file"
},
loop: {
reportLocation: "test/report",
parallel: "iteration"
},
env1: {
stringVal: "fromfile"
},
env2: {
jsonVal: {
foo: {
bar: {
stringVal: "baz"
}
}
}
}
}
},
jshint: {
options: {
curly: true,
eqeqeq: true,
immed: true,
latedef: true,
newcap: true,
noarg: true,
sub: true,
undef: true,
boss: true,
eqnull: true,
laxcomma: true,
node: true,
es5: true,
globals: {}
},
files: ['grunt.js', 'tasks/**/*.js']
}
});
// Load local tasks.
grunt.loadTasks('tasks');
grunt.loadNpmTasks('grunt-contrib-jshint');
// Default task.
grunt.registerTask('test', 'loopmocha');
grunt.registerTask('default', ['jshint', 'test']);
};