This commit is contained in:
sasha-astiadi
2024-05-03 06:39:20 +02:00
parent 6bf49421d6
commit 324d5960af
1737 changed files with 254531 additions and 0 deletions

26
node_modules/detective/test/both.js generated vendored Normal file
View File

@@ -0,0 +1,26 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/both.js');
test('both', function (t) {
var modules = detective.find(src);
t.deepEqual(modules.strings, [ 'a', 'b' ]);
t.deepEqual(modules.expressions, [ "'c' + x", "'d' + y" ]);
t.notOk(modules.nodes, 'has no nodes');
t.end();
});
test('both with nodes specified in opts', function (t) {
var modules = detective.find(src, { nodes: true });
t.deepEqual(modules.strings, [ 'a', 'b' ]);
t.deepEqual(modules.expressions, [ "'c' + x", "'d' + y" ]);
t.deepEqual(
modules.nodes.map(function (n) {
var arg = n.arguments[0];
return arg.value || arg.left.value;
}),
[ 'a', 'b', 'c', 'd' ],
'has a node for each require');
t.end();
});

9
node_modules/detective/test/chained.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/chained.js');
test('chained', function (t) {
t.deepEqual(detective(src), [ 'c', 'b', 'a' ]);
t.end();
});

58
node_modules/detective/test/complicated.js generated vendored Normal file
View File

@@ -0,0 +1,58 @@
var test = require('tap').test;
var detective = require('../');
var sources = [
'require("a")',
"require('a')",
'require(`a`)',
';require("a")',
' require("a")',
'void require("a")',
'+require("a")',
'!require("a")',
'/*comments*/require("a")',
'(require("a"))',
'require/*comments*/("a")',
';require/*comments*/("a")',
' require/*comments*/("a")',
'void require/*comments*/("a")',
'+require/*comments*/("a")',
'!require/*comments*/("a")',
'/*comments*/require/*comments*/("a")',
'(require/*comments*/("a"))',
'require /*comments*/ ("a")',
';require /*comments*/ ("a")',
' require /*comments*/ ("a")',
'void require /*comments*/ ("a")',
'+require /*comments*/ ("a")',
'!require /*comments*/ ("a")',
' /*comments*/ require /*comments*/ ("a")',
'(require /*comments*/ ("a"))',
'require /*comments*/ /*more comments*/ ("a")',
';require /*comments*/ /*more comments*/ ("a")',
' require /*comments*/ /*more comments*/ ("a")',
'void require /*comments*/ /*more comments*/ ("a")',
'+require /*comments*/ /*more comments*/ ("a")',
'!require /*comments*/ /*more comments*/ ("a")',
' /*comments*/ /*more comments*/ require /*comments*/ /*more comments*/ ("a")',
'(require /*comments*/ /*more comments*/ ("a"))',
'require//comments\n("a")',
';require//comments\n("a")',
' require//comments\n("a")',
'void require//comments\n("a")',
'+require//comments\n("a")',
'!require//comments\n("a")',
' require//comments\n("a")',
'(require//comments\n("a"))'
];
test('complicated', function (t) {
t.plan(sources.length);
sources.forEach(function(src) {
t.deepEqual(detective(src), [ 'a' ]);
});
});

15
node_modules/detective/test/es2019.js generated vendored Normal file
View File

@@ -0,0 +1,15 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
test('es2019 - for-await', function (t) {
var src = fs.readFileSync(__dirname + '/files/for-await.js');
t.doesNotThrow(detective.bind(detective, src), 'Files with `for await()` do not throw')
t.end();
});
test('es2019 - optional-catch', function (t) {
var src = fs.readFileSync(__dirname + '/files/optional-catch.js');
t.doesNotThrow(detective.bind(detective, src), 'Files with omitted catch binding do not throw')
t.end();
});

9
node_modules/detective/test/es6-module.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/es6-module.js');
test('es6-module', function (t) {
t.plan(1);
t.deepEqual(detective(src, {parse: {sourceType: 'module'}}), [ 'a', 'b' ]);
});

4
node_modules/detective/test/files/both.js generated vendored Normal file
View File

@@ -0,0 +1,4 @@
require('a');
require('b');
require('c' + x);
var moo = require('d' + y).moo;

5
node_modules/detective/test/files/chained.js generated vendored Normal file
View File

@@ -0,0 +1,5 @@
require('c').hello().goodbye()
require('b').hello()
require('a')

5
node_modules/detective/test/files/es6-module.js generated vendored Normal file
View File

@@ -0,0 +1,5 @@
var a = require('a');
export default function () {
var b = require('b');
}

5
node_modules/detective/test/files/for-await.js generated vendored Normal file
View File

@@ -0,0 +1,5 @@
async function main () {
for await (const _ of (async function* () {})()) {
require(_)
}
}

5
node_modules/detective/test/files/generators.js generated vendored Normal file
View File

@@ -0,0 +1,5 @@
var a = require('a');
function *gen() {
yield require('b');
}

14
node_modules/detective/test/files/isrequire.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
var a = require.async('a');
var b = require.async('b');
var c = require.async('c');
var abc = a.b(c);
var EventEmitter = require.async('events').EventEmitter;
var x = require.async('doom')(5,6,7);
x(8,9);
c.load('notthis');
var y = require.async('y') * 100;
var EventEmitter2 = require.async('events2').EventEmitter();

22
node_modules/detective/test/files/nested.js generated vendored Normal file
View File

@@ -0,0 +1,22 @@
if (true) {
(function () {
require('a');
})();
}
if (false) {
(function () {
var x = 10;
switch (x) {
case 1 : require('b'); break;
default : break;
}
})()
}
function qqq () {
require
(
"c"
);
}

4
node_modules/detective/test/files/optional-catch.js generated vendored Normal file
View File

@@ -0,0 +1,4 @@
try {
require;
} catch {
}

9
node_modules/detective/test/files/rest-spread.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
var a = require('a');
var b = require('b');
var c = require('c');
var obj = { foo: 'bar', bee: 'bop' }
var spread = { ...obj }
var { foo, ...rest } = obj

View File

@@ -0,0 +1,10 @@
var a = load('a');
var b = load('b');
var c = load('c');
var abc = a.b(c);
function load2({set = 'hello'}) {
return load('tt');
}
var loadUse = load2();

5
node_modules/detective/test/files/shebang.js generated vendored Normal file
View File

@@ -0,0 +1,5 @@
#!/usr/bin/env node
var a = require('a');
var b = require('b');
var c = require('c');

3
node_modules/detective/test/files/sparse-array.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
var o = [,,,,]
require('./foo')

13
node_modules/detective/test/files/strings.js generated vendored Normal file
View File

@@ -0,0 +1,13 @@
var a = require('a');
var b = require('b');
var c = require('c');
var abc = a.b(c);
var EventEmitter = require('events').EventEmitter;
var x = require('doom')(5,6,7);
x(8,9);
c.require('notthis');
var y = require('y') * 100;
var EventEmitter2 = require('events2').EventEmitter();

13
node_modules/detective/test/files/word.js generated vendored Normal file
View File

@@ -0,0 +1,13 @@
var a = load('a');
var b = load('b');
var c = load('c');
var abc = a.b(c);
var EventEmitter = load('events').EventEmitter;
var x = load('doom')(5,6,7);
x(8,9);
c.load('notthis');
var y = load('y') * 100;
var EventEmitter2 = load('events2').EventEmitter();

4
node_modules/detective/test/files/yield.js generated vendored Normal file
View File

@@ -0,0 +1,4 @@
(function * () {
var a = require('a');
var b = yield require('c')(a);
})();

9
node_modules/detective/test/generators.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/generators.js');
test('generators', function (t) {
t.plan(1);
t.deepEqual(detective(src), [ 'a', 'b' ]);
});

20
node_modules/detective/test/isrequire.js generated vendored Normal file
View File

@@ -0,0 +1,20 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/isrequire.js');
test('word', function (t) {
t.deepEqual(
detective(src, { isRequire: function(node) {
return (node.type === 'CallExpression' &&
node.callee.type === 'MemberExpression' &&
node.callee.object.type == 'Identifier' &&
node.callee.object.name == 'require' &&
node.callee.property.type == 'Identifier' &&
node.callee.property.name == 'async')
} }),
[ 'a', 'b', 'c', 'events', 'doom', 'y', 'events2' ]
);
t.end();
});

9
node_modules/detective/test/nested.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/nested.js');
test('nested', function (t) {
t.deepEqual(detective(src), [ 'a', 'b', 'c' ]);
t.end();
});

26
node_modules/detective/test/noargs.js generated vendored Normal file
View File

@@ -0,0 +1,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'
);
});

62
node_modules/detective/test/parseopts.js generated vendored Normal file
View File

@@ -0,0 +1,62 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/both.js');
test('nodes specified in opts and parseopts { range: true }', function (t) {
var modules = detective.find(src, { nodes: true, parse: { range: true } });
t.deepEqual(modules.strings, [ 'a', 'b' ]);
t.deepEqual(modules.expressions, [ "'c' + x", "'d' + y" ]);
t.deepEqual(
modules.nodes.map(function (n) {
var arg = n.arguments[0];
return arg.value || arg.left.value;
}),
[ 'a', 'b', 'c', 'd' ],
'has a node for each require');
var range = modules.nodes[0].range;
t.equal(range[0], 0, 'includes range start');
t.equal(range[1], 12, 'includes range end');
t.end();
});
test('nodes specified in opts and parseopts { range: false }', function (t) {
var modules = detective.find(src, { nodes: true, parse: { range: false } });
t.deepEqual(modules.strings, [ 'a', 'b' ]);
t.deepEqual(modules.expressions, [ "'c' + x", "'d' + y" ]);
t.deepEqual(
modules.nodes.map(function (n) {
var arg = n.arguments[0];
return arg.value || arg.left.value;
}),
[ 'a', 'b', 'c', 'd' ],
'has a node for each require');
t.notOk(modules.nodes[0].range, 'includes no ranges');
t.end();
});
test('nodes specified in opts and parseopts { range: true, loc: true }', function (t) {
var modules = detective.find(src, { nodes: true, parse: { range: true, loc: true } });
t.deepEqual(modules.strings, [ 'a', 'b' ]);
t.deepEqual(modules.expressions, [ "'c' + x", "'d' + y" ]);
t.deepEqual(
modules.nodes.map(function (n) {
var arg = n.arguments[0];
return arg.value || arg.left.value;
}),
[ 'a', 'b', 'c', 'd' ],
'has a node for each require');
var range = modules.nodes[0].range;
t.equal(range[0], 0, 'includes range start');
t.equal(range[1], 12, 'includes range end');
var loc = modules.nodes[0].loc;
t.equal(loc.start.line, 1, 'includes start line');
t.equal(loc.start.column, 0, 'includes start column');
t.equal(loc.end.line, 1, 'includes end line');
t.equal(loc.end.column, 12, 'includes end column');
t.end();
});

9
node_modules/detective/test/rest-spread.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/rest-spread.js');
test('rest-spread', function (t) {
t.doesNotThrow(detective.bind(detective, src), 'Files with rest or spread do not throw')
t.end();
});

9
node_modules/detective/test/return.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = [ 'require("a")\nreturn' ];
test('return', function (t) {
t.plan(1);
t.deepEqual(detective(src), [ 'a' ]);
});

12
node_modules/detective/test/set-in-object-pattern.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/set-in-object-pattern.js');
test('set in object pattern', function (t) {
t.deepEqual(
detective(src, { word : 'load' }),
[ 'a', 'b', 'c', 'tt' ]
);
t.end();
});

9
node_modules/detective/test/shebang.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/shebang.js');
test('shebang', function (t) {
t.plan(1);
t.deepEqual(detective(src), [ 'a', 'b', 'c' ]);
});

14
node_modules/detective/test/sparse-array.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/sparse-array.js');
test('sparse-array', function (t) {
//just check that this does not crash.
t.doesNotThrow(function () {
detective(src)
})
t.end();
});

9
node_modules/detective/test/strings.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/strings.js');
test('single', function (t) {
t.deepEqual(detective(src), [ 'a', 'b', 'c', 'events', 'doom', 'y', 'events2' ]);
t.end();
});

12
node_modules/detective/test/word.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/word.js');
test('word', function (t) {
t.deepEqual(
detective(src, { word : 'load' }),
[ 'a', 'b', 'c', 'events', 'doom', 'y', 'events2' ]
);
t.end();
});

9
node_modules/detective/test/yield.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
var test = require('tap').test;
var detective = require('../');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/files/yield.js');
test('yield', function (t) {
t.plan(1);
t.deepEqual(detective(src), [ 'a', 'c' ]);
});