Permalink
Browse files

Build: use different versions of jsdom for Node and iojs testing

Fixes gh-2266
  • Loading branch information...
timmywil committed May 6, 2015
1 parent 62d5579 commit 5c3101fee60046fa7976b3131fada8dfe9fbd53e
Showing with 32 additions and 2 deletions.
  1. +27 −0 build/tasks/install_jsdom.js
  2. +1 −1 build/tasks/node_smoke_tests.js
  3. +4 −1 package.json
@@ -0,0 +1,27 @@
+module.exports = function( grunt ) {
+ grunt.registerTask( "jsdom", function() {
+ var current,
+ pkg = grunt.config( "pkg" ),
+ version = pkg.jsdomVersions[
+
+ // Unfortunately, this is currently the only
+ // way to tell the difference between Node and iojs
+ /^v0/.test( process.version ) ? "node" : "iojs"
+ ];
+
+ try {
+ current = require( "jsdom/package.json" ).version;
+ if ( current === version ) {
+ return;
+ }
+ } catch ( e ) {}
+
+ // Use npm on the command-line
+ // There is no local npm
+ grunt.util.spawn( {
+ cmd: "npm",
+ args: [ "install", "jsdom@" + version ],
+ opts: { stdio: "inherit" }
+ }, this.async() );
+ });
+};
@@ -5,7 +5,7 @@ module.exports = function( grunt ) {
var fs = require( "fs" ),
spawnTest = require( "./lib/spawn_test.js" ),
testsDir = "./test/node_smoke_tests/",
- nodeSmokeTests = [];
+ nodeSmokeTests = [ "jsdom" ];
// Fire up all tests defined in test/node_smoke_tests/*.js in spawned sub-processes.
// All the files under test/node_smoke_tests/*.js are supposed to exit with 0 code
View
@@ -42,7 +42,6 @@
"grunt-jsonlint": "1.0.4",
"grunt-npmcopy": "0.1.0",
"gzip-js": "0.3.2",
- "jsdom": "3.1.2",
"load-grunt-tasks": "1.0.0",
"native-promise-only": "0.7.8-a",
"promises-aplus-tests": "2.1.0",
@@ -54,6 +53,10 @@
"testswarm": "1.1.0",
"win-spawn": "2.0.0"
},
+ "jsdomVersions": {
+ "node": "3.1.2",
+ "iojs": "5.3.0"
+ },
"scripts": {
"build": "npm install && grunt",
"start": "grunt watch",

0 comments on commit 5c3101f

Please sign in to comment.