text-replace-error-tests.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. var grunt = require('grunt');
  2. var fs = require('fs');
  3. var gruntTextReplace = require('../lib/grunt-text-replace');
  4. var replace = function (settings) {
  5. return gruntTextReplace.replace(settings);
  6. };
  7. exports.textReplace = {
  8. 'Test error handling': {
  9. setUp: function (done) {
  10. grunt.file.copy('test/text_files/test.txt', 'test/temp/testA.txt');
  11. grunt.file.copy('test/text_files/test.txt', 'test/temp/testB.txt');
  12. done();
  13. },
  14. tearDown: function (done) {
  15. fs.unlinkSync('test/temp/testA.txt');
  16. fs.unlinkSync('test/temp/testB.txt');
  17. fs.rmdirSync('test/temp');
  18. done();
  19. },
  20. 'Test no destination found': function (test) {
  21. var warnCountBefore = grunt.fail.warncount;
  22. replace({
  23. src: 'test/temp/testA.txt',
  24. replacements: [{ from: 'Hello', to: 'Good bye' }]
  25. });
  26. test.equal(grunt.fail.warncount - warnCountBefore, 1);
  27. replace({
  28. src: 'test/temp/testA.txt',
  29. overwrite: true,
  30. replacements: [{ from: 'Hello', to: 'Good bye' }]
  31. });
  32. test.equal(grunt.fail.warncount - warnCountBefore, 1);
  33. replace({
  34. src: 'test/temp/testA.txt',
  35. dest: 'test/temp/',
  36. replacements: [{ from: 'Hello', to: 'Good bye' }]
  37. });
  38. test.equal(grunt.fail.warncount - warnCountBefore, 1);
  39. test.done();
  40. },
  41. 'Test no replacements found': function (test) {
  42. var warnCountBefore = grunt.fail.warncount;
  43. replace({
  44. src: 'test/temp/testA.txt',
  45. dest: 'test/temp/'
  46. });
  47. test.equal(grunt.fail.warncount - warnCountBefore, 1);
  48. replace({
  49. src: 'test/temp/testA.txt',
  50. dest: 'test/temp/',
  51. replacements: [{ from: 'Hello', to: 'Good bye' }]
  52. });
  53. test.equal(grunt.fail.warncount - warnCountBefore, 1);
  54. test.done();
  55. },
  56. 'Test overwrite failure': function (test) {
  57. var warnCountBefore = grunt.fail.warncount;
  58. replace({
  59. src: 'test/temp/testA.txt',
  60. dest: 'test/temp/',
  61. overwrite: true,
  62. replacements: [{ from: 'Hello', to: 'Good bye' }]
  63. });
  64. test.equal(grunt.fail.warncount - warnCountBefore, 1);
  65. replace({
  66. src: 'test/temp/*',
  67. overwrite: true,
  68. replacements: [{ from: 'Hello', to: 'Good bye' }]
  69. });
  70. test.equal(grunt.fail.warncount - warnCountBefore, 1);
  71. replace({
  72. src: 'test/temp/testA.txt',
  73. overwrite: true,
  74. replacements: [{ from: 'Hello', to: 'Good bye' }]
  75. });
  76. test.equal(grunt.fail.warncount - warnCountBefore, 1);
  77. test.done();
  78. },
  79. 'Test destination error': function (test) {
  80. var warnCountBefore = grunt.fail.warncount;
  81. replace({
  82. src: 'test/temp/*',
  83. dest: 'test/temp',
  84. replacements: [{ from: 'Hello', to: 'Good bye' }]
  85. });
  86. test.equal(grunt.fail.warncount - warnCountBefore, 1);
  87. replace({
  88. src: 'test/temp/*',
  89. dest: 'test/temp/testA.txt',
  90. replacements: [{ from: 'Hello', to: 'Good bye' }]
  91. });
  92. test.equal(grunt.fail.warncount - warnCountBefore, 2);
  93. replace({
  94. src: 'test/temp/testA.txt',
  95. dest: 'test/temp/testB.txt',
  96. replacements: [{ from: 'Hello', to: 'Good bye' }]
  97. });
  98. test.equal(grunt.fail.warncount - warnCountBefore, 2);
  99. test.done();
  100. }
  101. }
  102. };