UNPKG

4.08 kBJavaScriptView Raw
1var grunt = require('grunt');
2var fs = require('fs');
3var gruntTextReplace = require('../lib/grunt-text-replace');
4
5
6var replace = function (settings) {
7 return gruntTextReplace.replace(settings);
8};
9
10
11
12exports.textReplace = {
13
14 'Test error handling': {
15 setUp: function (done) {
16 grunt.file.copy('test/text_files/test.txt', 'test/temp/testA.txt');
17 grunt.file.copy('test/text_files/test.txt', 'test/temp/testB.txt');
18 done();
19 },
20
21 tearDown: function (done) {
22 fs.unlinkSync('test/temp/testA.txt');
23 fs.unlinkSync('test/temp/testB.txt');
24 fs.rmdirSync('test/temp');
25 done();
26 },
27
28 'Test no source files': function (test) {
29 var warnCountBefore = grunt.fail.warncount;
30 replace({
31 dest: 'test/temp/',
32 replacements: [{ from: 'Hello', to: 'Good bye' }]
33 });
34 test.equal(grunt.fail.warncount - warnCountBefore, 1);
35 replace({
36 src: 'test/noSuchFile.txt',
37 dest: 'test/temp/',
38 replacements: [{ from: 'Hello', to: 'Good bye' }]
39 });
40 test.equal(grunt.fail.warncount - warnCountBefore, 2);
41 replace({
42 src: 'test/temp/testA.txt',
43 dest: 'test/temp/',
44 replacements: [{ from: 'Hello', to: 'Good bye' }]
45 });
46 test.equal(grunt.fail.warncount - warnCountBefore, 2);
47 test.done();
48 },
49
50 'Test no destination found': function (test) {
51 var warnCountBefore = grunt.fail.warncount;
52 replace({
53 src: 'test/temp/testA.txt',
54 replacements: [{ from: 'Hello', to: 'Good bye' }]
55 });
56 test.equal(grunt.fail.warncount - warnCountBefore, 1);
57 replace({
58 src: 'test/temp/testA.txt',
59 overwrite: true,
60 replacements: [{ from: 'Hello', to: 'Good bye' }]
61 });
62 test.equal(grunt.fail.warncount - warnCountBefore, 1);
63 replace({
64 src: 'test/temp/testA.txt',
65 dest: 'test/temp/',
66 replacements: [{ from: 'Hello', to: 'Good bye' }]
67 });
68 test.equal(grunt.fail.warncount - warnCountBefore, 1);
69 test.done();
70 },
71
72 'Test no replacements found': function (test) {
73 var warnCountBefore = grunt.fail.warncount;
74 replace({
75 src: 'test/temp/testA.txt',
76 dest: 'test/temp/'
77 });
78 test.equal(grunt.fail.warncount - warnCountBefore, 1);
79 replace({
80 src: 'test/temp/testA.txt',
81 dest: 'test/temp/',
82 replacements: [{ from: 'Hello', to: 'Good bye' }]
83 });
84 test.equal(grunt.fail.warncount - warnCountBefore, 1);
85 test.done();
86 },
87
88 'Test overwrite failure': function (test) {
89 var warnCountBefore = grunt.fail.warncount;
90 replace({
91 src: 'test/temp/testA.txt',
92 dest: 'test/temp/',
93 overwrite: true,
94 replacements: [{ from: 'Hello', to: 'Good bye' }]
95 });
96 test.equal(grunt.fail.warncount - warnCountBefore, 1);
97 replace({
98 src: 'test/temp/*',
99 overwrite: true,
100 replacements: [{ from: 'Hello', to: 'Good bye' }]
101 });
102 test.equal(grunt.fail.warncount - warnCountBefore, 1);
103 replace({
104 src: 'test/temp/testA.txt',
105 overwrite: true,
106 replacements: [{ from: 'Hello', to: 'Good bye' }]
107 });
108 test.equal(grunt.fail.warncount - warnCountBefore, 1);
109 test.done();
110 },
111
112 'Test destination error': function (test) {
113 var warnCountBefore = grunt.fail.warncount;
114 replace({
115 src: 'test/temp/*',
116 dest: 'test/temp',
117 replacements: [{ from: 'Hello', to: 'Good bye' }]
118 });
119 test.equal(grunt.fail.warncount - warnCountBefore, 1);
120 replace({
121 src: 'test/temp/*',
122 dest: 'test/temp/testA.txt',
123 replacements: [{ from: 'Hello', to: 'Good bye' }]
124 });
125 test.equal(grunt.fail.warncount - warnCountBefore, 2);
126 replace({
127 src: 'test/temp/testA.txt',
128 dest: 'test/temp/testB.txt',
129 replacements: [{ from: 'Hello', to: 'Good bye' }]
130 });
131 test.equal(grunt.fail.warncount - warnCountBefore, 2);
132 test.done();
133 }
134
135 }
136
137};