index.js 849 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. var test = require('tape')
  2. var src = require('fs').readFileSync(require.resolve('acorn'))
  3. var parse = require('acorn').parse
  4. var dash = require('../')
  5. var NUM_NODES = 25426
  6. test('dash-ast', function (t) {
  7. var ast = parse(src)
  8. var i = 0
  9. dash(ast, function (node) { i++ })
  10. t.equal(i, NUM_NODES)
  11. t.comment('walked ' + i + ' nodes')
  12. t.end()
  13. })
  14. test('dash-ast with .parent', function (t) {
  15. var ast = parse(src)
  16. var i = 0
  17. dash.withParent(ast, function (node) { i++ })
  18. t.equal(i, NUM_NODES)
  19. t.comment('walked ' + i + ' nodes')
  20. t.end()
  21. })
  22. test('dash-ast with enter/leave', function (t) {
  23. var ast = parse(src)
  24. var i = 0
  25. var j = 0
  26. dash(ast, {
  27. enter: function (node) { i++ },
  28. leave: function (node) { j++ }
  29. })
  30. t.equal(i, NUM_NODES)
  31. t.equal(j, NUM_NODES)
  32. t.comment('walked ' + [i, j] + ' nodes')
  33. t.end()
  34. })