redeyed-smoke.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. 'use strict';
  2. /*jshint asi: true*/
  3. // applying redeyed to a bunch of files of contained libraries as a smoke test
  4. var test = require('tap').test
  5. , path = require('path')
  6. , fs = require('fs')
  7. , readdirp = require('readdirp')
  8. , redeyed = require('..')
  9. , node_modules = path.join(__dirname, '..', 'node_modules')
  10. , tapdir = path.join(node_modules, 'tap')
  11. , esprimadir = path.join(node_modules, 'esprima')
  12. test('tap', function (t) {
  13. var invalidTapFiles = [
  14. 'async-map-ordered.js'
  15. , 'prof.js'
  16. ]
  17. readdirp({ root: tapdir, fileFilter: '*.js' })
  18. .on('data', function (entry) {
  19. if (~invalidTapFiles.indexOf(entry.name)) return
  20. var code = fs.readFileSync(entry.fullPath, 'utf-8')
  21. , result = redeyed(code, { Keyword: { 'var': '+:-' } }).code
  22. t.assert(~result.indexOf('+var-') || !(~result.indexOf('var ')), 'redeyed ' + entry.path)
  23. })
  24. .on('end', t.end.bind(t))
  25. })
  26. test('esprima', function (t) {
  27. readdirp({ root: esprimadir, fileFilter: '*.js' })
  28. .on('data', function (entry) {
  29. var code = fs.readFileSync(entry.fullPath, 'utf-8')
  30. , result = redeyed(code, { Keyword: { 'var': '+:-' } }).code
  31. t.assert(~result.indexOf('+var-') || !(~result.indexOf('var ')), 'redeyed ' + entry.path)
  32. })
  33. .on('end', t.end.bind(t))
  34. })
  35. test('redeyed', function (t) {
  36. readdirp({ root: path.join(__dirname, '..'), fileFilter: '*.js', directoryFilter: ['!.git', '!node_modules' ] })
  37. .on('data', function (entry) {
  38. var code = fs.readFileSync(entry.fullPath, 'utf-8')
  39. , result = redeyed(code, { Keyword: { 'var': '+:-' } }).code
  40. t.assert(~result.indexOf('+var-') || !(~result.indexOf('var ')), 'redeyed ' + entry.path)
  41. })
  42. .on('end', t.end.bind(t))
  43. })