forked from hero/www_hero
hero_web
This commit is contained in:
26
node_modules/detective/test/both.js
generated
vendored
Normal file
26
node_modules/detective/test/both.js
generated
vendored
Normal 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
9
node_modules/detective/test/chained.js
generated
vendored
Normal 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
58
node_modules/detective/test/complicated.js
generated
vendored
Normal 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
15
node_modules/detective/test/es2019.js
generated
vendored
Normal 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
9
node_modules/detective/test/es6-module.js
generated
vendored
Normal 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
4
node_modules/detective/test/files/both.js
generated
vendored
Normal 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
5
node_modules/detective/test/files/chained.js
generated
vendored
Normal 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
5
node_modules/detective/test/files/es6-module.js
generated
vendored
Normal 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
5
node_modules/detective/test/files/for-await.js
generated
vendored
Normal 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
5
node_modules/detective/test/files/generators.js
generated
vendored
Normal 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
14
node_modules/detective/test/files/isrequire.js
generated
vendored
Normal 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
22
node_modules/detective/test/files/nested.js
generated
vendored
Normal 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
4
node_modules/detective/test/files/optional-catch.js
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
try {
|
||||
require;
|
||||
} catch {
|
||||
}
|
9
node_modules/detective/test/files/rest-spread.js
generated
vendored
Normal file
9
node_modules/detective/test/files/rest-spread.js
generated
vendored
Normal 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
|
||||
|
10
node_modules/detective/test/files/set-in-object-pattern.js
generated
vendored
Normal file
10
node_modules/detective/test/files/set-in-object-pattern.js
generated
vendored
Normal 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
5
node_modules/detective/test/files/shebang.js
generated
vendored
Normal 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
3
node_modules/detective/test/files/sparse-array.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
var o = [,,,,]
|
||||
|
||||
require('./foo')
|
13
node_modules/detective/test/files/strings.js
generated
vendored
Normal file
13
node_modules/detective/test/files/strings.js
generated
vendored
Normal 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
13
node_modules/detective/test/files/word.js
generated
vendored
Normal 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
4
node_modules/detective/test/files/yield.js
generated
vendored
Normal 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
9
node_modules/detective/test/generators.js
generated
vendored
Normal 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
20
node_modules/detective/test/isrequire.js
generated
vendored
Normal 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
9
node_modules/detective/test/nested.js
generated
vendored
Normal 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
26
node_modules/detective/test/noargs.js
generated
vendored
Normal 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
62
node_modules/detective/test/parseopts.js
generated
vendored
Normal 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
9
node_modules/detective/test/rest-spread.js
generated
vendored
Normal 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
9
node_modules/detective/test/return.js
generated
vendored
Normal 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
12
node_modules/detective/test/set-in-object-pattern.js
generated
vendored
Normal 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
9
node_modules/detective/test/shebang.js
generated
vendored
Normal 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
14
node_modules/detective/test/sparse-array.js
generated
vendored
Normal 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
9
node_modules/detective/test/strings.js
generated
vendored
Normal 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
12
node_modules/detective/test/word.js
generated
vendored
Normal 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
9
node_modules/detective/test/yield.js
generated
vendored
Normal 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' ]);
|
||||
});
|
Reference in New Issue
Block a user