1 | 'use strict';
|
2 |
|
3 |
|
4 | var gulp = require('gulp'),
|
5 | clean = require('gulp-clean'),
|
6 | merge2 = require('merge2'),
|
7 | should = require('should'),
|
8 | ngTemplate = require('../index'),
|
9 | gulpSequence = require('gulp-sequence');
|
10 |
|
11 | module.exports = function () {
|
12 |
|
13 | gulp.task('clean', function () {
|
14 | return gulp.src(['test/templates.js', 'test/js'])
|
15 | .pipe(clean({force: true}));
|
16 | });
|
17 |
|
18 | gulp.task('ngTemplate()', function () {
|
19 | return gulp.src(['test/a.html', 'test/b.html'])
|
20 | .pipe(ngTemplate())
|
21 | .pipe(gulp.dest('test'));
|
22 | });
|
23 |
|
24 | gulp.task('ngTemplate({moduleName: "testModule"})', function () {
|
25 | var origin = '';
|
26 | return merge2(
|
27 | gulp.src('test/templates.js'),
|
28 | gulp.src(['test/a.html', 'test/b.html'])
|
29 | .pipe(ngTemplate({moduleName: 'testModule'}))
|
30 | ).on('data', function (data) {
|
31 | if (!origin) origin = data.contents.toString();
|
32 | else should(origin.replace('ngTemplates', 'testModule')).be.equal(data.contents.toString());
|
33 | });
|
34 | });
|
35 |
|
36 | gulp.task('ngTemplate({standalone: true})', function () {
|
37 | var origin = '';
|
38 | return merge2(
|
39 | gulp.src('test/templates.js'),
|
40 | gulp.src(['test/a.html', 'test/b.html'])
|
41 | .pipe(ngTemplate({standalone: true}))
|
42 | )
|
43 | .on('data', function (data) {
|
44 | if (!origin) origin = data.contents.toString();
|
45 | else should(origin.replace('\'ngTemplates\'', '\'ngTemplates\', []')).be.equal(data.contents.toString());
|
46 | });
|
47 | });
|
48 |
|
49 | gulp.task('ngTemplate({filePath: "js/tpl.js"})', function () {
|
50 | return gulp.src(['test/a.html', 'test/b.html'])
|
51 | .pipe(ngTemplate({filePath: 'js/tpl.js'}))
|
52 | .pipe(gulp.dest('test'));
|
53 | });
|
54 |
|
55 | gulp.task('compare', function () {
|
56 | var files = [];
|
57 | return merge2(gulp.src('test/templates.js'), gulp.src('test/js/tpl.js'))
|
58 | .on('data', function (data) {
|
59 | files.push(data.contents.toString());
|
60 | })
|
61 | .on('end', function () {
|
62 | should(files[0]).be.equal(files[1]);
|
63 | });
|
64 | });
|
65 |
|
66 | gulp.task('ngTemplate({prefix: "/app/" , filePath: "js/subfolder.tpl.js"})', function(){
|
67 | return gulp.src(['test/**/*.html'])
|
68 | .pipe(ngTemplate({prefix: '/app/', filePath: 'js/subfolder.tpl.js'}))
|
69 | .pipe(gulp.dest('test'));
|
70 | });
|
71 |
|
72 | gulp.task('comparePrefix', function(){
|
73 | var files = [];
|
74 | return merge2(gulp.src('test/js/subfolder.tpl.js'), gulp.src('test/subfolder/expected.subfolder.tpl.js'))
|
75 | .on('data', function(data){
|
76 | files.push(data.contents.toString());
|
77 | })
|
78 | .on('end', function(){
|
79 | should(files[0]).be.equal(files[1]);
|
80 | });
|
81 | });
|
82 |
|
83 | gulp.task('test', gulpSequence(
|
84 | 'clean',
|
85 | 'ngTemplate()',
|
86 | 'ngTemplate({moduleName: "testModule"})',
|
87 | 'ngTemplate({standalone: true})',
|
88 | 'ngTemplate({filePath: "js/tpl.js"})',
|
89 | 'compare',
|
90 | 'clean'
|
91 | ));
|
92 |
|
93 | gulp.task('testSubFolders', gulpSequence(
|
94 | 'clean',
|
95 | 'ngTemplate({prefix: "/app/" , filePath: "js/subfolder.tpl.js"})',
|
96 | 'comparePrefix',
|
97 | 'clean'
|
98 | ));
|
99 |
|
100 | };
|