@@ -3,6 +3,8 @@ var gulpPlugins = require('gulp-load-plugins')();
33var runSequence = require ( 'run-sequence' ) ;
44var madge = require ( 'madge' ) ;
55var merge = require ( 'merge' ) ;
6+ var path = require ( 'path' ) ;
7+
68var gulpTraceur = require ( './tools/transpiler/gulp-traceur' ) ;
79
810var clean = require ( './tools/build/clean' ) ;
@@ -16,6 +18,7 @@ var jsserve = require('./tools/build/jsserve');
1618var pubserve = require ( './tools/build/pubserve' ) ;
1719var rundartpackage = require ( './tools/build/rundartpackage' ) ;
1820var copy = require ( './tools/build/copy' ) ;
21+ var file2moduleName = require ( './tools/build/file2modulename' ) ;
1922var karma = require ( 'karma' ) . server ;
2023var minimist = require ( 'minimist' ) ;
2124var es5build = require ( './tools/build/es5build' ) ;
@@ -606,8 +609,32 @@ gulp.task('test.unit.dart/ci', function (done) {
606609 karma . start ( { configFile : __dirname + '/karma-dart.conf.js' ,
607610 singleRun : true , reporters : [ 'dots' ] , browsers : getBrowsersFromCLI ( ) } , done ) ;
608611} ) ;
609- gulp . task ( 'test.unit.cjs' , function ( done ) {
610- return gulp . src ( CONFIG . test . js . cjs ) . pipe ( jasmine ( /*{verbose: true, includeStackTrace: true}*/ ) ) ;
612+ gulp . task ( 'test.unit.cjs/ci' , function ( ) {
613+ return gulp . src ( CONFIG . test . js . cjs ) . pipe ( jasmine ( { includeStackTrace : true , timeout : 1000 } ) ) ;
614+ } ) ;
615+ gulp . task ( 'test.unit.cjs' , [ 'build.js.cjs' ] , function ( ) {
616+ //Run tests once
617+ runSequence ( 'test.unit.cjs/ci' , function ( ) { } ) ;
618+ //Watcher to transpile file changed
619+ gulp . watch ( CONFIG . transpile . src . js . concat ( [ 'modules/**/*.cjs' ] ) , function ( event ) {
620+ var relPath = path . relative ( __dirname , event . path ) . replace ( / \\ / g, "/" ) ;
621+ gulp . src ( relPath )
622+ . pipe ( gulpPlugins . rename ( { extname : '.' + 'js' } ) )
623+ . pipe ( util . insertSrcFolder ( gulpPlugins , CONFIG . srcFolderInsertion . js ) )
624+ . pipe ( gulpTraceur ( CONFIG . transpile . options . js . cjs , file2moduleName ) )
625+ . pipe ( transformCJSTests ( ) )
626+ . pipe ( gulp . dest ( CONFIG . dest . js . cjs + path . dirname ( relPath . replace ( "modules" , "" ) ) ) ) ;
627+ } ) ;
628+ //Watcher to run tests when dist/js/cjs/angular2 is updated by the first watcher (after clearing the node cache)
629+ gulp . watch ( CONFIG . dest . js . cjs + '/angular2/**/*.js' , function ( event ) {
630+ for ( var id in require . cache ) {
631+ if ( id . replace ( / \\ / g, "/" ) . indexOf ( CONFIG . dest . js . cjs ) > - 1 ) {
632+ delete require . cache [ id ] ;
633+ }
634+ }
635+ runSequence ( 'test.unit.cjs/ci' , function ( ) { } ) ;
636+ } ) ;
637+
611638} ) ;
612639
613640// ------------------
0 commit comments