Blame view

node_modules/detective/test/noargs.js 886 Bytes
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  var test = require('tap').test;
  var detective = require('../');
  var fs = require('fs');
  
  // in order to use detective to find any function
  // it needs to properly handle functions called without args
  var src = [ 'fn();', 'otherfn();', 'fn();' ].join('\n')
  
  test('noargs', function (t) {
      t.plan(1);
      t.deepEqual(detective(src, { word: 'fn' }).length, 0, 'finds no arg id');
  });
  
  test('find noargs with nodes', function (t) {
      t.plan(4);
      var modules = detective.find(src, { word: 'fn', nodes: true });
      t.equal(modules.strings.length, 0, 'finds no arg id');
      t.equal(modules.expressions.length, 0, 'finds no expressions');
      t.equal(modules.nodes.length, 2, 'finds a node for each matching function call');
      t.equal(
        modules.nodes.filter(function (x) { 
          return x.callee.name === 'fn' 
        }).length, 2, 
        'all matches are correct'
      );
  });