aboutsummaryrefslogtreecommitdiffstats
path: root/Gruntfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'Gruntfile.js')
-rw-r--r--Gruntfile.js22
1 files changed, 19 insertions, 3 deletions
diff --git a/Gruntfile.js b/Gruntfile.js
index c05b42546..97289a0ac 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -14,7 +14,18 @@ module.exports = function( grunt ) {
var fs = require( "fs" ),
stripJSONComments = require( "strip-json-comments" ),
gzip = require( "gzip-js" ),
- srcHintOptions = readOptionalJSON( "src/.jshintrc" );
+ srcHintOptions = readOptionalJSON( "src/.jshintrc" ),
+ newNode = !/^v0/.test( process.version ),
+
+ // Allow to skip jsdom-related tests in Node.js < 1.0.0
+ runJsdomTests = newNode || ( function() {
+ try {
+ require( "jsdom" );
+ return true;
+ } catch ( e ) {
+ return false;
+ }
+ } )();
// The concatenated file won't pass onevar
// But our modules can
@@ -182,9 +193,14 @@ module.exports = function( grunt ) {
grunt.registerTask( "lint", [ "jsonlint", "jshint", "jscs" ] );
- grunt.registerTask( "test_fast", [ "node_smoke_tests" ] );
+ // Don't run Node-related tests in Node.js < 1.0.0 as they require an old
+ // jsdom version that needs compiling, making it harder for people to compile
+ // jQuery on Windows. (see gh-2519)
+ grunt.registerTask( "test_fast", runJsdomTests ? [ "node_smoke_tests" ] : [] );
- grunt.registerTask( "test", [ "test_fast", "promises_aplus_tests" ] );
+ grunt.registerTask( "test", [ "test_fast" ].concat(
+ runJsdomTests ? [ "promises_aplus_tests" ] : []
+ ) );
// Short list as a high frequency watch task
grunt.registerTask( "dev", [ "build:*:*", "lint", "uglify", "remove_map_comment", "dist:*" ] );