HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall_forms/buyercall/node_modules/detective/test/noargs.js
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'
    );
});