forked from qunitjs/qunit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
grunt.js
114 lines (108 loc) · 2.42 KB
/
grunt.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
110
111
112
113
114
/*global config:true, task:true*/
module.exports = function( grunt ) {
grunt.loadNpmTasks( "grunt-git-authors" );
grunt.initConfig({
pkg: '<json:package.json>',
qunit: {
// TODO include 'test/logs.html' as well
qunit: 'test/index.html',
addons: [
'addons/canvas/canvas.html',
'addons/close-enough/close-enough.html',
'addons/composite/composite-demo-test.html'
]
},
lint: {
qunit: 'qunit/qunit.js',
// addons: 'addons/**/*.js',
grunt: 'grunt.js'
// TODO need to figure out which warnings to fix and which to disable
// tests: 'test/test.js'
},
jshint: {
qunit: {
options: {
onevar: true,
browser: true,
bitwise: true,
curly: true,
trailing: true,
immed: true,
latedef: false,
newcap: true,
noarg: false,
noempty: true,
nonew: true,
sub: true,
undef: true,
eqnull: true,
proto: true,
smarttabs: true
},
globals: {
jQuery: true,
exports: true
}
},
addons: {
options: {
browser: true,
curly: true,
eqnull: true,
eqeqeq: true,
expr: true,
evil: true,
jquery: true,
latedef: true,
noarg: true,
onevar: true,
smarttabs: true,
trailing: true,
undef: true
},
globals: {
module: true,
test: true,
asyncTest: true,
expect: true,
start: true,
stop: true,
QUnit: true
}
},
tests: {
}
}
});
grunt.registerTask( "build-git", function( sha ) {
function processor( content ) {
var tagline = " - A JavaScript Unit Testing Framework";
return content.replace( tagline, "-" + sha + " " + grunt.template.today('isoDate') + tagline );
}
grunt.file.copy( "qunit/qunit.css", "dist/qunit-git.css", {
process: processor
});
grunt.file.copy( "qunit/qunit.js", "dist/qunit-git.js", {
process: processor
});
});
grunt.registerTask( "testswarm", function( commit, configFile ) {
var testswarm = require( "testswarm" ),
config = grunt.file.readJSON( configFile ).qunit;
testswarm({
url: config.swarmUrl,
pollInterval: 10000,
timeout: 1000 * 60 * 30,
done: this.async()
}, {
authUsername: "qunit",
authToken: config.authToken,
jobName: 'QUnit commit #<a href="https://github.com/jquery/qunit/commit/' + commit + '">' + commit.substr( 0, 10 ) + '</a>',
runMax: config.runMax,
"runNames[]": "QUnit",
"runUrls[]": config.testUrl + commit + "/test/index.html",
"browserSets[]": ["popular"]
});
});
grunt.registerTask('default', 'lint qunit');
};