3 var fs = require('fs');
4 var YAML = require('js-yaml');
5 var ymlPackage = YAML.safeLoad(fs.readFileSync('package.yml', 'utf8'));
6 var travisBuild = process.env.BUILD;
7 var travisBrowser = process.env.BROWSER;
8 var sauceBrowsers = JSON.parse(fs.readFileSync('Tests/browsers.json'));
10 var packagerOptions = {
13 src: ymlPackage.sources,
14 dest: 'mootools-all.js'
19 only: '<%= grunt.option("file") && "Core/" + grunt.option("file") %>'
21 src: ymlPackage.sources,
22 dest: 'mootools-nocompat.js'
28 src: 'Specs/<%= grunt.option("module") || "**" %>/<%= grunt.option("file") || "*" %>.js',
29 dest: 'mootools-specs.js'
35 only: '<%= grunt.option("file") && "Specs/" + grunt.option("file") %>'
38 dest: 'mootools-specs.js'
45 // We use end2end task (which does not start the webserver)
46 // and start the webserver as a separate process
47 // to avoid https://github.com/joyent/libuv/issues/826
50 middleware: function(connect, options){
52 function(req, resp, next){
53 // cache get requests to speed up tests on travis
54 if (req.method === 'GET'){
55 resp.setHeader('Cache-control', 'public, max-age=3600');
59 connect.static(options.base)];
66 captureTimeout: 60000 * 2,
68 frameworks: ['jasmine', 'sinon'],
69 files: ['Tests/Utilities/*.js', 'mootools-*.js'],
71 username: process.env.SAUCE_USERNAME,
72 accessKey: process.env.SAUCE_ACCESS_KEY,
73 testName: 'MooTools-Core. Build: ' + travisBuild + '. Browser: ' + travisBrowser
75 reporters: ['progress', 'saucelabs'],
76 customLaunchers: sauceBrowsers,
81 browser: travisBrowser
84 exports.packager = packagerOptions;
85 exports.grunt = gruntOptions;
86 exports.karma = karmaOptions;
87 exports.travis = travisOptions;