1 | var gulp = require('gulp');
|
2 | var gutil = require('gulp-util');
|
3 | var mocha = require('gulp-mocha');
|
4 | var istanbul = require('gulp-istanbul');
|
5 | var printExample = require('./lib/print-example');
|
6 | var _ = require('lodash');
|
7 |
|
8 | gulp.task('test',mochaTask);
|
9 | gulp.task('coverage',coverage());
|
10 | gulp.task('coverage-api',coverage({grep:'@api'}));
|
11 |
|
12 | gulp.task('watch-test',function(){
|
13 | gulp.watch(['test/**','src/**','examples/**'],['mocha']);
|
14 | mochaTask();
|
15 | });
|
16 |
|
17 | gulp.task('example',function(){
|
18 | printExample.logExample(require('./examples/basic-usage-examples'));
|
19 | printExample.logExample(require('./examples/col-and-row-span-examples'));
|
20 | });
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 | gulp.task('example-md',['example-md-basic','example-md-advanced']);
|
27 | gulp.task('example-md-basic',function(cb){
|
28 | printExample.mdExample(require('./examples/basic-usage-examples'),'basic-usage.md',cb);
|
29 | });
|
30 | gulp.task('example-md-advanced',function(cb){
|
31 | printExample.mdExample(require('./examples/col-and-row-span-examples'),'advanced-usage.md',cb);
|
32 | });
|
33 |
|
34 | function coverage(opts){
|
35 | opts = opts || {};
|
36 |
|
37 | function coverageTask(cb){
|
38 | gulp.src(['src/*.js'])
|
39 | .pipe(istanbul())
|
40 | .pipe(istanbul.hookRequire())
|
41 | .on('error', logMochaError)
|
42 | .on('finish', function () {
|
43 | gulp.src(['test/*.js'])
|
44 | .pipe(mocha(opts))
|
45 | .on('error',function(err){
|
46 | logMochaError(err);
|
47 | if(cb) cb(err);
|
48 | })
|
49 | .pipe(istanbul.writeReports())
|
50 | .on('end', function(){
|
51 | if(cb) cb();
|
52 | });
|
53 | });
|
54 | }
|
55 |
|
56 | return coverageTask;
|
57 | }
|
58 |
|
59 | function mochaTask(){
|
60 | return gulp.src(['test/*.js'],{read:false})
|
61 | .pipe(mocha({
|
62 | growl:true
|
63 | }))
|
64 | .on('error',logMochaError);
|
65 | }
|
66 |
|
67 | function logMochaError(err){
|
68 | if(err && err.message){
|
69 | gutil.log(err.message);
|
70 | } else {
|
71 | gutil.log.apply(gutil,arguments);
|
72 | }
|
73 | } |
\ | No newline at end of file |