transform.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. var test = require('tap').test;
  2. var fs = require('fs');
  3. var path = require('path');
  4. var through = require('through');
  5. var convert = require('convert-source-map');
  6. var transform = require('..');
  7. test('transform adds sourcemap comment when sourceMap option is true', function (t) {
  8. t.plan(1);
  9. var data = '';
  10. var file = path.join(__dirname, '../example/foo.coffee');
  11. fs.createReadStream(file)
  12. .pipe(transform(file, {sourceMap: true}))
  13. .pipe(through(write, end));
  14. function write (buf) { data += buf }
  15. function end () {
  16. var sourceMap = convert.fromSource(data).toObject();
  17. t.deepEqual(
  18. sourceMap,
  19. { version: 3,
  20. file: 'foo.js',
  21. sourceRoot: '',
  22. sources: [ 'foo.coffee' ],
  23. names: [],
  24. mappings: 'AAAA,OAAO,CAAC,GAAR,CAAY,OAAA,CAAQ,UAAR,CAAZ',
  25. sourcesContent: [ 'console.log(require \'./bar.js\')\n' ] },
  26. 'adds sourcemap comment including original source'
  27. );
  28. }
  29. });
  30. test('transform does not add sourcemap when sourceMap option is false', function (t) {
  31. t.plan(1);
  32. var data = '';
  33. var file = path.join(__dirname, '../example/foo.coffee');
  34. fs.createReadStream(file)
  35. .pipe(transform(file, {sourceMap: false}))
  36. .pipe(through(write, end));
  37. function write (buf) { data += buf }
  38. function end () {
  39. var sourceMap = convert.fromSource(data);
  40. t.equal(sourceMap, null);
  41. }
  42. });