@@ -4,7 +4,8 @@ var exec = require('child_process').exec;
44var jsxTask = require ( './grunt/tasks/jsx' ) ;
55var browserifyTask = require ( './grunt/tasks/browserify' ) ;
66var populistTask = require ( './grunt/tasks/populist' ) ;
7- var phantomTask = require ( './grunt/tasks/phantom' ) ;
7+ var webdriverPhantomJSTask = require ( './grunt/tasks/webdriver-phantomjs' ) ;
8+ var webdriverJasmineTasks = require ( './grunt/tasks/webdriver-jasmine' ) ;
89var npmTask = require ( './grunt/tasks/npm' ) ;
910var releaseTasks = require ( './grunt/tasks/release' ) ;
1011
@@ -16,7 +17,8 @@ module.exports = function(grunt) {
1617 jsx : require ( './grunt/config/jsx/jsx' ) ,
1718 browserify : require ( './grunt/config/browserify' ) ,
1819 populist : require ( './grunt/config/populist' ) ,
19- phantom : require ( './grunt/config/phantom' ) ,
20+ connect : require ( './grunt/config/server' ) ( grunt ) ,
21+ "webdriver-jasmine" : require ( './grunt/config/webdriver-jasmine.js' ) ,
2022 npm : require ( './grunt/config/npm' ) ,
2123 clean : [ './build' , './*.gem' , './docs/_site' , './examples/shared/*.js' ] ,
2224 jshint : require ( './grunt/config/jshint' ) ,
@@ -25,11 +27,12 @@ module.exports = function(grunt) {
2527
2628 grunt . config . set ( 'compress' , require ( './grunt/config/compress' ) ) ;
2729
28- grunt . loadNpmTasks ( 'grunt-contrib-jshint' ) ;
29- grunt . loadNpmTasks ( 'grunt-contrib-copy' ) ;
30- grunt . loadNpmTasks ( 'grunt-contrib-clean' ) ;
31- grunt . loadNpmTasks ( 'grunt-compare-size' ) ;
32- grunt . loadNpmTasks ( 'grunt-contrib-compress' ) ;
30+ Object . keys ( grunt . file . readJSON ( 'package.json' ) . devDependencies )
31+ . filter ( function ( npmTaskName ) { return npmTaskName . indexOf ( 'grunt-' ) === 0 ; } )
32+ . forEach ( function ( npmTaskName ) {
33+ grunt . loadNpmTasks ( npmTaskName ) ;
34+ } )
35+ ;
3336
3437 // Alias 'jshint' to 'lint' to better match the workflow we know
3538 grunt . registerTask ( 'lint' , [ 'jshint' ] ) ;
@@ -42,7 +45,7 @@ module.exports = function(grunt) {
4245
4346 grunt . registerMultiTask ( 'populist' , populistTask ) ;
4447
45- grunt . registerMultiTask ( 'phantom ' , phantomTask ) ;
48+ grunt . registerMultiTask ( 'webdriver-jasmine ' , webdriverJasmineTasks ) ;
4649
4750 grunt . registerMultiTask ( 'npm' , npmTask ) ;
4851
@@ -70,11 +73,17 @@ module.exports = function(grunt) {
7073 'jsx:jasmine' ,
7174 'jsx:test' ,
7275 'version-check' ,
73- 'populist:jasmine' ,
7476 'populist:test'
7577 ] ) ;
7678
77- grunt . registerTask ( 'test' , [ 'build:test' , 'build:basic' , 'phantom:run' ] ) ;
79+ grunt . registerTask ( 'webdriver-phantomjs' , webdriverPhantomJSTask ) ;
80+
81+ grunt . registerTask ( 'test:webdriver:phantomjs' , [
82+ 'connect' ,
83+ 'webdriver-phantomjs' ,
84+ 'webdriver-jasmine:local'
85+ ] ) ;
86+ grunt . registerTask ( 'test' , [ 'build:test' , 'build:basic' , 'test:webdriver:phantomjs' ] ) ;
7887 grunt . registerTask ( 'npm:test' , [ 'build' , 'npm:pack' ] ) ;
7988
8089 // Optimized build task that does all of our builds. The subtasks will be run
0 commit comments