-
Notifications
You must be signed in to change notification settings - Fork 759
/
Copy pathGruntfile.js
94 lines (83 loc) · 2.34 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
var url = require('url');
module.exports = function (grunt) {
grunt.initConfig(
{
pkg: grunt.file.readJSON('package.json'),
jasmine: {
run: {
src: [
'../lib/preloadjs-NEXT.js'
],
options: {
specs: 'spec/*Spec.js',
helpers: [
'spec/Helpers.js'
],
vendor: [
'../_assets/libs/easeljs-NEXT.min.js'
],
host: 'http://127.0.0.1:<%=connect.serve.options.port%>/'
}
}
},
connect: {
serve: {
options: {
keepalive: true,
base: [
{
path: __dirname,
options: {
index: '_SpecRunner.html'
}
}, '..', '../_assets/', '../lib/', './'
],
useAvailablePort: true,
port: 8000,
open: true,
// Used to test the POST / GET functionality, it just echo's back what data was sent.
middleware: function (connect, options, middlewares) {
middlewares.unshift(function (req, res, next) {
if (req.method == "POST") {
res.end(JSON.stringify(req.body));
} else if(req.method == "GET") {
var url_parts = url.parse(req.originalUrl, true);
if (url_parts.query.foo != null) {
res.end(JSON.stringify(url_parts.query));
} else {
next();
}
} else {
next();
}
});
var bodyParser = require('body-parser')
middlewares.unshift(bodyParser.json());
middlewares.unshift(bodyParser.urlencoded({extended: false}));
return middlewares;
},
}
}
},
listips: {
run: {
options: {
label: "Normal"
}
}
}
}
);
grunt.registerTask('configureConnectHeadless', function () {
grunt.config('connect.serve.options.keepalive', false);
grunt.config('connect.serve.options.open', false);
});
// Load all the tasks we need
grunt.loadNpmTasks('grunt-contrib-jasmine');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadTasks('tasks/');
grunt.registerTask("default", "Launches browser-based tests", "serve");
grunt.registerTask("serve", "Launches browser-based tests", ["jasmine:run:build", "listips", "connect"]);
grunt.registerTask("headless", "phantom");
grunt.registerTask("phantom", "Launches phantom-based tests", ["configureConnectHeadless", "connect", "jasmine"]);
};