UNPKG

2.99 kBJavaScriptView Raw
1'use strict';
2/*global describe, it, before, after, beforeEach, afterEach, Promise, noneFn*/
3
4var 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
11module.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};