main.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. var nop = require('../');
  2. var should = require('should');
  3. var path = require('path');
  4. var File = require('gulp-util').File;
  5. var Buffer = require('buffer').Buffer;
  6. var fs = require('fs');
  7. require('mocha');
  8. describe('gulp-nop', function() {
  9. describe('nop()', function() {
  10. var files = ['test/file1.txt', 'test/file2.txt'],
  11. results = ['test/file1.txt', 'file1txt',
  12. 'test/file2.txt', 'file2txt'];
  13. var stream = nop();
  14. it('should do nothing', function(done) {
  15. stream.on('data', function (file) {
  16. var expectedFilename = results.shift(),
  17. expectedHead = results.shift();
  18. should.exist(file);
  19. should.exist(file.relative);
  20. should.exist(file.contents);
  21. should.exist(expectedFilename);
  22. should.exist(expectedHead);
  23. var retFilename = path.resolve(file.path);
  24. retFilename.should.equal(path.resolve(expectedFilename));
  25. file.relative.should.equal(expectedFilename);
  26. Buffer.isBuffer(file.contents).should.equal(true);
  27. file.contents.toString().substring(0, expectedHead.length).should.equal(expectedHead);
  28. if (results && !results.length) {
  29. results = null;
  30. done();
  31. }
  32. });
  33. files.forEach(function (filename) {
  34. filename = path.resolve(filename);
  35. stream.write(new File({
  36. path: filename,
  37. contents: fs.readFileSync(filename)
  38. }));
  39. });
  40. stream.end();
  41. if (results && !results.length) {
  42. results = null;
  43. done();
  44. }
  45. });
  46. });
  47. });