3 module.exports = function(grunt) {
5 require('load-grunt-tasks')(grunt);
6 var browser = process.env.BROWSER;
12 // We use end2end task (which does not start the webserver)
13 // and start the webserver as a separate process
14 // to avoid https://github.com/joyent/libuv/issues/826
17 middleware: function(connect, options) {
19 function(req, resp, next) {
20 // cache get requests to speed up tests on travis
21 if (req.method === 'GET') {
22 resp.setHeader('Cache-control', 'public, max-age=3600');
27 connect.static(options.base)
41 src: 'Source/**/*.js',
42 dest: 'mootools-all.js'
48 only: '<%= grunt.option("file") && "Core/" + grunt.option("file") %>'
50 src: 'Source/**/*.js',
51 dest: 'mootools-nocompat.js'
58 src: 'Specs/<%= grunt.option("module") || "**" %>/<%= grunt.option("file") || "*" %>.js',
59 dest: 'mootools-specs.js'
66 only: '<%= grunt.option("file") && "Specs/" + grunt.option("file") %>'
69 dest: 'mootools-specs.js'
77 captureTimeout: 60000 * 2,
79 frameworks: ['jasmine', 'sinon'],
80 files: ['Tests/Utilities/*.js', 'mootools-*.js'],
82 username: process.env.SAUCE_USERNAME,
83 accessKey: process.env.SAUCE_ACCESS_KEY,
84 testName: 'MooTools-Core'
89 browserName: 'chrome',
94 browserName: 'firefox',
100 platform: 'Windows 2008',
105 browserName: 'safari',
106 platform: 'OS X 10.9',
111 browserName: 'safari',
112 platform: 'OS X 10.8',
117 browserName: 'safari',
119 platform: 'OS X 10.6'
123 browserName: 'safari',
125 platform: 'Windows 7'
129 browserName: 'internet explorer',
130 platform: 'Windows 8.1',
135 browserName: 'internet explorer',
136 platform: 'Windows 8',
141 browserName: 'internet explorer',
142 platform: 'Windows 7',
147 browserName: 'internet explorer',
148 platform: 'Windows 7',
153 browserName: 'internet explorer',
154 platform: 'Windows XP',
159 browserName: 'internet explorer',
160 platform: 'Windows XP',
165 browserName: 'iphone',
166 platform: 'OS X 10.9',
168 deviceOrientation: 'portrait'
172 browserName: 'iphone',
173 platform: 'OS X 10.8',
175 deviceOrientation: 'portrait'
179 browserName: 'iphone',
180 platform: 'OS X 10.8',
182 deviceOrientation: 'portrait'
188 browsers: ['PhantomJS']
197 browsers: ['PhantomJS'],
210 var travisBuild = process.env.BUILD;
211 var pullRequest = process.env.TRAVIS_PULL_REQUEST;
213 var compatBuild = ['clean', 'packager:all', 'packager:specs'];
214 var nocompatBuild = ['clean', 'packager:nocompat', 'packager:specs-nocompat'];
216 var tasks = travisBuild == 'compat' ? compatBuild : nocompatBuild;
217 tasks = pullRequest != 'false' ? tasks.concat('karma:continuous') : tasks.concat('karma:sauceTask');
219 grunt.registerTask('default', compatBuild.concat('karma:continuous'));
220 grunt.registerTask('nocompat', nocompatBuild.concat('karma:continuous'));
221 grunt.registerTask('default:travis', tasks);