11( function ( require ) {
22
33 const gulp = require ( "gulp" ) ;
4+ // const gulpSequence = require('run-sequence').use( gulp );
45 const karma = require ( "gulp-karma-runner" ) ;
56 const fs = require ( 'fs' ) ;
67
8+ function createKarmaServer ( ) {
9+ return karma . server ( {
10+ singleRun : true ,
11+ autoWatch : true ,
12+ concurrency : Infinity ,
13+ port : 9876 ,
14+
15+ frameworks : [ "mocha" , "chai" ] ,
16+ browsers : [ "Chrome" ] ,
17+ basePath : "" ,
18+ exclude : [ ] ,
19+ preprocessors : {
20+ 'src/**/*.js' : [ 'coverage' ]
21+ } ,
22+ reporters : [ 'spec' , 'coverage' ] ,
23+ coverageReporter : {
24+ type : 'lcov' ,
25+ dir : 'coverage/'
26+ } ,
27+ colors : true
28+ } ) ;
29+ }
30+
31+ function gulpTestRun ( angularVersion = "1.6.0" , isMinified = false ) {
32+ const ext = isMinified ? '.min' : '' ;
33+ return gulp . src ( [
34+ `test/angular-${ angularVersion } /angular.js` ,
35+ `test/angular-${ angularVersion } /angular-mocks.js` ,
36+ `dist/angular-mocks-async${ ext } .js` ,
37+ 'test/angular-mocks-async-internal-tests.js' ,
38+ 'test/angular-mocks-async-test.js'
39+ ] , { "read" : false } )
40+ . pipe ( createKarmaServer ( ) ) ;
41+ }
42+
743 gulp . task ( "compile" , function ( ) {
844 const compressor = require ( "node-minify" ) ;
945
68104
69105 } ) ;
70106
71- gulp . task ( "test-unminified" , function ( ) {
72- gulp . src ( [
73- 'test/angular-1.5.8/angular.js' ,
74- 'test/angular-1.5.8/angular-mocks.js' ,
75- 'dist/angular-mocks-async.js' ,
76- 'test/angular-mocks-async-internal-tests.js' ,
77- 'test/angular-mocks-async-test.js'
78- ] , { "read" : false } ) . pipe (
79- karma . server ( {
80- singleRun : true ,
81- autoWatch : true ,
82- concurrency : Infinity ,
83- port : 9876 ,
84-
85- frameworks : [ "mocha" , "chai" ] ,
86- browsers : [ "Chrome" ] ,
87- basePath : "" ,
88- exclude : [ ] ,
89- preprocessors : {
90- 'src/**/*.js' : [ 'coverage' ]
91- } ,
92- reporters : [ 'spec' , 'coverage' ] ,
93- coverageReporter : {
94- type : 'lcov' ,
95- dir : 'coverage/'
96- } ,
97- colors : true
98- } )
99- ) ;
100- } ) ;
101-
102- gulp . task ( "test-minified" , function ( ) {
103- gulp . src ( [
104- 'test/angular-1.5.8/angular.js' ,
105- 'test/angular-1.5.8/angular-mocks.js' ,
106- 'dist/angular-mocks-async.min.js' ,
107- 'test/angular-mocks-async-internal-tests.js' ,
108- 'test/angular-mocks-async-test.js'
109- ] , { "read" : false } ) . pipe (
110- karma . server ( {
111- singleRun : true ,
112- autoWatch : true ,
113- concurrency : Infinity ,
114- port : 9876 ,
115-
116- frameworks : [ "mocha" , "chai" ] ,
117- browsers : [ "Chrome" ] ,
118- basePath : "" ,
119- exclude : [ ] ,
120- preprocessors : {
121- 'src/**/*.js' : [ 'coverage' ]
122- } ,
123- reporters : [ 'spec' , 'coverage' ] ,
124- coverageReporter : {
125- type : 'lcov' ,
126- dir : 'coverage/'
127- } ,
128- colors : true
129- } )
130- ) ;
131- } ) ;
132-
133- gulp . task ( "test-with-angular-1.3.17" , function ( ) {
134- gulp . src ( [
135- 'test/angular-1.3.17/angular.js' ,
136- 'test/angular-1.3.17/angular-mocks.js' ,
137- 'dist/angular-mocks-async.min.js' ,
138- 'test/angular-mocks-async-internal-tests.js' ,
139- 'test/angular-mocks-async-test.js'
140- ] , { "read" : false } ) . pipe (
141- karma . server ( {
142- singleRun : true ,
143- autoWatch : true ,
144- concurrency : Infinity ,
145- port : 9876 ,
146-
147- frameworks : [ "mocha" , "chai" ] ,
148- browsers : [ "Chrome" ] ,
149- basePath : "" ,
150- exclude : [ ] ,
151- preprocessors : {
152- 'src/**/*.js' : [ 'coverage' ]
153- } ,
154- reporters : [ 'spec' , 'coverage' ] ,
155- coverageReporter : {
156- type : 'lcov' ,
157- dir : 'coverage/'
158- } ,
159- colors : true
160- } )
161- ) ;
162- } ) ;
163-
164- gulp . task ( "test-with-angular-1.3.0" , function ( ) {
165- gulp . src ( [
166- 'test/angular-1.3.0/angular.js' ,
167- 'test/angular-1.3.0/angular-mocks.js' ,
168- 'dist/angular-mocks-async.min.js' ,
169- 'test/angular-mocks-async-internal-tests.js' ,
170- 'test/angular-mocks-async-test.js'
171- ] , { "read" : false } ) . pipe (
172- karma . server ( {
173- singleRun : true ,
174- autoWatch : true ,
175- concurrency : Infinity ,
176- port : 9876 ,
177-
178- frameworks : [ "mocha" , "chai" ] ,
179- browsers : [ "Chrome" ] ,
180- basePath : "" ,
181- exclude : [ ] ,
182- preprocessors : {
183- 'src/**/*.js' : [ 'coverage' ]
184- } ,
185- reporters : [ 'spec' , 'coverage' ] ,
186- coverageReporter : {
187- type : 'lcov' ,
188- dir : 'coverage/'
189- } ,
190- colors : true
191- } )
192- ) ;
193- } ) ;
107+ gulp . task ( "test-with-angular-1.6.0" , [ "test-with-angular-1.6.0-minified" , "test-with-angular-1.6.0-unminified" ] ) ;
108+ gulp . task ( "test-with-angular-1.6.0-unminified" , ( ) => gulpTestRun ( "1.6.0" ) ) ;
109+ gulp . task ( "test-with-angular-1.6.0-minified" , ( ) => gulpTestRun ( "1.6.0" , true ) ) ;
110+
111+ gulp . task ( "test-with-angular-1.5.0" , [ "test-with-angular-1.5.0-minified" , "test-with-angular-1.5.0-unminified" ] ) ;
112+ gulp . task ( "test-with-angular-1.5.0-unminified" , ( ) => gulpTestRun ( "1.5.0" ) ) ;
113+ gulp . task ( "test-with-angular-1.5.0-minified" , ( ) => gulpTestRun ( "1.5.0" , true ) ) ;
114+
115+ gulp . task ( "test-with-angular-1.4.0" , [ "test-with-angular-1.4.0-minified" , "test-with-angular-1.4.0-unminified" ] ) ;
116+ gulp . task ( "test-with-angular-1.4.0-unminified" , ( ) => gulpTestRun ( "1.4.0" ) ) ;
117+ gulp . task ( "test-with-angular-1.4.0-minified" , ( ) => gulpTestRun ( "1.4.0" , true ) ) ;
118+
119+ gulp . task ( "test-with-angular-1.3.17" , [ "test-with-angular-1.3.17-minified" , "test-with-angular-1.3.17-unminified" ] ) ;
120+ gulp . task ( "test-with-angular-1.3.17-minified" , ( ) => gulpTestRun ( "1.3.17" ) ) ;
121+ gulp . task ( "test-with-angular-1.3.17-unminified" , ( ) => gulpTestRun ( "1.3.17" , true ) ) ;
122+
123+ function runSequential ( tasks ) {
124+ if ( ! tasks || tasks . length <= 0 ) return ;
125+
126+ const task = tasks [ 0 ] ;
127+ gulp . start ( task , ( ) => {
128+ console . log ( `${ task } finished` ) ;
129+ runSequential ( tasks . slice ( 1 ) ) ;
130+ } ) ;
131+ }
132+ gulp . task ( "test-with-angular-all-versions" , ( ) => runSequential ( [
133+ "test-with-angular-1.3.17" ,
134+ "test-with-angular-1.4.0" ,
135+ "test-with-angular-1.5.0" ,
136+ "test-with-angular-1.6.0" ,
137+ ] ) ) ;
138+
139+ gulp . task ( "test-with-angular-1.3.0" , ( ) => gulpTestRun ( "1.3.0" ) ) ;
194140
195141} ( require ) ) ;
0 commit comments