@@ -7,6 +7,7 @@ module.exports = function(grunt) {
7
7
uglifyTargets = { } ;
8
8
gendevTargets = { } ;
9
9
gentestTargets = { } ;
10
+ testTargets = { } ;
10
11
for ( var target in targetConfig ) {
11
12
var suffix = target === targetConfig . defaultTarget ? '' : '-' + target ;
12
13
uglifyTargets [ target ] = {
@@ -31,6 +32,7 @@ module.exports = function(grunt) {
31
32
} ;
32
33
gendevTargets [ target ] = targetConfig [ target ] . src ;
33
34
gentestTargets [ target ] = targetConfig [ target ] ;
35
+ testTargets [ target ] = { } ;
34
36
}
35
37
36
38
grunt . initConfig ( {
@@ -58,6 +60,7 @@ module.exports = function(grunt) {
58
60
] ,
59
61
}
60
62
} ,
63
+ test : testTargets ,
61
64
} ) ;
62
65
63
66
grunt . task . registerMultiTask ( 'gendev' , 'Generate web-animations-<target>.dev.js' , function ( ) {
@@ -76,16 +79,32 @@ module.exports = function(grunt) {
76
79
grunt . log . writeln ( 'File ' + filename + ' created' ) ;
77
80
} ) ;
78
81
79
- grunt . registerTask ( 'clean' , 'Remove files generated by grunt' , function ( ) {
82
+ grunt . task . registerMultiTask ( 'test' , 'Run <target> tests under Karma' , function ( ) {
83
+ var done = this . async ( ) ;
84
+ var config = targetConfig [ this . target ] ;
85
+ var karmaConfig = require ( './test/karma-config.js' ) ;
86
+ karmaConfig . files = [ 'test/runner.js' ] . concat ( config . src , config . test ) ;
87
+ var karmaServer = require ( 'karma' ) . server ;
88
+ karmaServer . start ( karmaConfig , function ( exitCode ) {
89
+ done ( exitCode === 0 ) ;
90
+ } ) ;
91
+ } ) ;
92
+
93
+ grunt . task . registerTask ( 'clean' , 'Remove files generated by grunt' , function ( ) {
80
94
grunt . file . expand ( 'web-animations-*' ) . concat ( grunt . file . expand ( 'test/runner-*.html' ) ) . forEach ( function ( file ) {
81
95
grunt . file . delete ( file ) ;
82
96
grunt . log . writeln ( 'File ' + file + ' removed' ) ;
83
97
} ) ;
84
98
} ) ;
85
99
86
100
for ( var target in targetConfig ) {
87
- grunt . registerTask ( target , [ 'uglify:' + target , 'gendev:' + target , 'gentest:' + target , 'gjslint' ] )
101
+ grunt . task . registerTask ( target , [
102
+ 'uglify:' + target ,
103
+ 'gendev:' + target ,
104
+ 'gentest:' + target ,
105
+ 'gjslint' ,
106
+ ] ) ;
88
107
}
89
108
90
- grunt . registerTask ( 'default' , [ 'uglify' , 'gendev' , 'gentest' , 'gjslint' ] ) ;
109
+ grunt . task . registerTask ( 'default' , [ 'uglify' , 'gendev' , 'gentest' , 'gjslint' ] ) ;
91
110
} ;
0 commit comments