22
33var gulp = require ( 'gulp' ) ;
44var jscs = require ( 'gulp-jscs' ) ;
5+ var mocha = require ( 'gulp-mocha' ) ;
56var jshint = require ( 'gulp-jshint' ) ;
67var webpack = require ( 'webpack-stream' ) ;
8+ var codecov = require ( 'gulp-codecov.io' ) ;
79var stylish = require ( 'gulp-jscs-stylish' ) ;
810
911var path = require ( 'path' ) ;
1012var karma = require ( 'karma' ) ;
13+ var sequence = require ( 'run-sequence' ) ;
1114
1215/*
1316 * Code style enforcement
@@ -33,6 +36,43 @@ gulp.task('lint', function() {
3336/*
3437 * Testing fixtures
3538 */
39+ var sauceLaunchers = {
40+ SL_Chrome : {
41+ base : 'SauceLabs' ,
42+ browserName : 'chrome' ,
43+ version : '45'
44+ } ,
45+ SL_Firefox : {
46+ base : 'SauceLabs' ,
47+ browserName : 'firefox' ,
48+ version : '39'
49+ } ,
50+ SL_Safari : {
51+ base : 'SauceLabs' ,
52+ browserName : 'safari' ,
53+ platform : 'OS X 10.10' ,
54+ version : '8'
55+ } ,
56+ SL_IE_10 : {
57+ base : 'SauceLabs' ,
58+ browserName : 'internet explorer' ,
59+ platform : 'Windows 2012' ,
60+ version : '10'
61+ } ,
62+ SL_IE_11 : {
63+ base : 'SauceLabs' ,
64+ browserName : 'internet explorer' ,
65+ platform : 'Windows 8.1' ,
66+ version : '11'
67+ } ,
68+ SL_iOS : {
69+ base : 'SauceLabs' ,
70+ browserName : 'iphone' ,
71+ platform : 'OS X 10.10' ,
72+ version : '8.1'
73+ }
74+ } ;
75+
3676function runTests ( singleRun , isCI , done ) {
3777 var reporters = [ 'mocha' ] ;
3878 var preprocessors = { } ;
@@ -72,7 +112,9 @@ function runTests(singleRun, isCI, done) {
72112 localConfig . sauceLabs = {
73113 testName : 'GitHub.js UAT tests' ,
74114 idleTimeout : 120000 ,
75- recordVideo : false
115+ recordVideo : false ,
116+ username : 'clayreimann' ,
117+ accessKey : '16176d74-6882-4457-b4cd-d8f36aa9d0be'
76118 } ;
77119
78120 // Increase timeouts massively so Karma doesn't timeout in Sauce tunnel.
@@ -97,10 +139,19 @@ function runTests(singleRun, isCI, done) {
97139 server . start ( ) ;
98140} // End runTests()
99141
100- gulp . task ( 'test' , [ 'build' ] , function ( done ) {
142+ gulp . task ( 'test' , [ 'test:node' , 'test:web' ] ) ;
143+
144+ gulp . task ( 'test:web' , [ 'build' ] , function ( done ) {
101145 runTests ( true , false , done ) ;
102146} ) ;
103147
148+ gulp . task ( 'test:node' , function ( ) {
149+ return gulp . src ( 'test/test.*.js' )
150+ . pipe ( mocha ( {
151+ timeout : 10000
152+ } ) ) ;
153+ } ) ;
154+
104155gulp . task ( 'test:ci' , function ( done ) {
105156 runTests ( true , true , done ) ;
106157} ) ;
@@ -109,6 +160,11 @@ gulp.task('test:auto', function(done) {
109160 runTests ( false , false , done ) ;
110161} ) ;
111162
163+ gulp . task ( 'codecov' , function ( ) {
164+ return gulp . src ( 'coverage/*/lcov.info' )
165+ . pipe ( codecov ( ) ) ;
166+ } ) ;
167+
112168/*
113169 * Build
114170 */
@@ -140,43 +196,9 @@ gulp.task('build', function() {
140196 ;
141197} ) ;
142198
199+ /*
200+ * Miscellaneous tasks
201+ */
143202gulp . task ( 'default' , function ( ) {
144203 gulp . start ( 'lint' , 'test' , 'build' ) ;
145204} ) ;
146-
147- var sauceLaunchers = {
148- SL_Chrome : {
149- base : 'SauceLabs' ,
150- browserName : 'chrome' ,
151- version : '45'
152- } ,
153- SL_Firefox : {
154- base : 'SauceLabs' ,
155- browserName : 'firefox' ,
156- version : '39'
157- } ,
158- SL_Safari : {
159- base : 'SauceLabs' ,
160- browserName : 'safari' ,
161- platform : 'OS X 10.10' ,
162- version : '8'
163- } ,
164- SL_IE_10 : {
165- base : 'SauceLabs' ,
166- browserName : 'internet explorer' ,
167- platform : 'Windows 2012' ,
168- version : '10'
169- } ,
170- SL_IE_11 : {
171- base : 'SauceLabs' ,
172- browserName : 'internet explorer' ,
173- platform : 'Windows 8.1' ,
174- version : '11'
175- } ,
176- SL_iOS : {
177- base : 'SauceLabs' ,
178- browserName : 'iphone' ,
179- platform : 'OS X 10.10' ,
180- version : '8.1'
181- }
182- } ;
0 commit comments