Files
jquery/build/tasks/node_smoke_tests.js
Michał Gołębiowski bb026fc12c Core: Make jQuery objects iterable
Make iterating over jQuery objects possible using ES 2015 for-of:

    for ( node of $( "<div id=narwhal>" ) ) {
        console.log( node.id ); // "narwhal"
    }

Fixes gh-1693
2015-06-13 23:14:36 +02:00

33 lines
1.1 KiB
JavaScript

module.exports = function( grunt ) {
"use strict";
var fs = require( "fs" ),
spawnTest = require( "./lib/spawn_test.js" ),
testsDir = "./test/node_smoke_tests/",
nodeSmokeTests = [ "jsdom", "babel:nodeSmokeTests" ];
// 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
// on success or another one on failure. Spawning in sub-processes is
// important so that the tests & the main process don't interfere with
// each other, e.g. so that they don't share the require cache.
fs.readdirSync( testsDir )
.filter( function( testFilePath ) {
return fs.statSync( testsDir + testFilePath ).isFile() &&
/\.js$/.test( testFilePath );
} )
.forEach( function( testFilePath ) {
var taskName = "node_" + testFilePath.replace( /\.js$/, "" );
grunt.registerTask( taskName, function() {
spawnTest( this.async(), "test/node_smoke_tests/" + testFilePath );
} );
nodeSmokeTests.push( taskName );
} );
grunt.registerTask( "node_smoke_tests", nodeSmokeTests );
};