1 | var grunt = require('grunt');
|
2 | var fs = require('fs');
|
3 | var gruntTextReplace = require('../lib/grunt-text-replace');
|
4 |
|
5 |
|
6 | var replace = function (settings) {
|
7 | return gruntTextReplace.replace(settings);
|
8 | };
|
9 |
|
10 |
|
11 |
|
12 | exports.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 | };
|