cardinal-smoke.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. 'use strict';
  2. /*jshint asi: true*/
  3. // applying esprima 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. , cardinal = require('..')
  9. , node_modules = path.join(__dirname, '..', 'node_modules')
  10. , tapdir = path.join(node_modules, 'tap')
  11. , redeyeddir = path.join(node_modules, 'redeyed')
  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 = cardinal.highlight(code);
  22. t.assert(~result.indexOf('[32mvar\u001b[39m') || !(~result.indexOf('var ')), 'highlighted ' + entry.path)
  23. })
  24. .on('end', t.end.bind(t))
  25. })
  26. test('redeyed', function (t) {
  27. readdirp({ root: redeyeddir, fileFilter: 'redeyed.js' })
  28. .on('data', function (entry) {
  29. var code = fs.readFileSync(entry.fullPath, 'utf-8')
  30. , result = cardinal.highlight(code);
  31. t.assert(~result.indexOf('[32mvar\u001b[39m') || !(~result.indexOf('var ')), 'highlighted ' + entry.path)
  32. })
  33. .on('end', t.end.bind(t))
  34. })