forked from jasmine/jasmine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.js
76 lines (63 loc) · 1.95 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
module.exports = function (grunt) {
var pkg = require('./package.json');
global.jasmineVersion = pkg.version;
grunt.initConfig({
pkg: pkg,
jshint: require('./grunt/config/jshint.js'),
concat: require('./grunt/config/concat.js'),
compass: require('./grunt/config/compass.js'),
compress: require('./grunt/config/compress.js'),
karma: require('./grunt/config/karma.js'),
watch: require('./grunt/config/watch.js')
});
require('load-grunt-tasks')(grunt);
grunt.loadTasks('grunt/tasks');
grunt.registerTask('default', ['jshint:all']);
var version = require('./grunt/tasks/version.js');
grunt.registerTask('build:copyVersionToGem',
'Propagates the version from package.json to version.rb',
version.copyToGem);
grunt.registerTask('buildDistribution',
'Builds and lints jasmine.js, jasmine-html.js, jasmine.css',
[
'compass',
'jshint:beforeConcat',
'concat',
'jshint:afterConcat',
'build:copyVersionToGem'
]
);
grunt.registerTask('execSpecsInNode',
'Run Jasmine core specs in Node.js',
function () {
var done = this.async(),
Jasmine = require('jasmine'),
jasmineCore = require('./lib/jasmine-core.js'),
jasmine = new Jasmine({jasmineCore: jasmineCore});
jasmine.loadConfigFile('./spec/support/jasmine.json');
jasmine.onComplete(function (passed) {
done(passed);
});
jasmine.execute();
}
);
grunt.registerTask('execSpecsInNode:performance',
'Run Jasmine performance specs in Node.js',
function () {
require('shelljs').exec('node_modules/.bin/jasmine JASMINE_CONFIG_PATH=spec/support/jasmine-performance.json');
}
);
grunt.registerTask('execSpecsInBrowser',
'Run Jasmine core specs in Browser',
[
'karma:unit'
]
);
grunt.registerTask('execAllSpecs',
'Run Jasmine core specs in Node.js and Browser',
[
'execSpecsInNode',
'execSpecsInBrowser'
]
);
};