diff --git a/javascript/ql/test/library-tests/CallGraphs/getACallee.expected b/javascript/ql/test/library-tests/CallGraphs/getACallee.expected deleted file mode 100644 index fb321f9dbc55..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getACallee.expected +++ /dev/null @@ -1,48 +0,0 @@ -| a.js:2:1:2:5 | foo() | b.js:1:16:1:27 | function(){} | -| a.js:3:1:3:5 | bar() | b.js:2:8:2:24 | function bar() {} | -| a.js:4:1:4:5 | qux() | c.js:2:8:2:24 | function bar() {} | -| classes.js:8:7:8:18 | this.hello() | classes.js:3:10:5:5 | () {\\n ... ;\\n } | -| classes.js:12:21:12:20 | super(...args) | classes.js:2:11:2:10 | () {} | -| classes.js:18:3:18:9 | new B() | classes.js:12:21:12:20 | (...arg ... rgs); } | -| classes.js:18:3:18:17 | new B().hello() | classes.js:13:10:15:5 | () {\\n ... ;\\n } | -| es2015.js:6:1:6:18 | new ExampleClass() | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | -| es2015.js:10:5:10:22 | arguments.callee() | es2015.js:8:2:12:1 | functio ... \\n };\\n} | -| es2015.js:16:5:16:11 | super() | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | -| es2015.js:26:5:26:11 | super() | es2015.js:20:1:22:1 | functio ... = 42;\\n} | -| es2015.js:34:1:34:17 | sum(...[1, 2, 3]) | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | -| es2015.js:35:1:35:17 | sum(1, ...[2, 3]) | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | -| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | -| m.js:2:1:2:11 | exports.f() | m.js:1:13:1:25 | function() {} | -| m.js:3:1:3:18 | module.exports.f() | m.js:1:13:1:25 | function() {} | -| n.js:2:1:2:5 | m.f() | m.js:1:13:1:25 | function() {} | -| n.js:5:1:5:6 | m2.f() | m2.js:2:6:2:18 | function() {} | -| reflection.js:7:1:7:22 | reflective call | reflection.js:1:1:3:1 | functio ... x+y;\\n} | -| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:5:15:5:39 | functio ... n 56; } | -| reflection.js:8:1:8:25 | reflective call | reflection.js:1:1:3:1 | functio ... x+y;\\n} | -| tst.js:6:1:6:3 | f() | tst.js:1:1:1:15 | function f() {} | -| tst.js:7:1:7:3 | g() | tst.js:2:9:2:21 | function() {} | -| tst.js:8:1:8:3 | h() | tst.js:3:5:3:17 | function() {} | -| tst.js:9:1:9:3 | k() | tst.js:2:9:2:21 | function() {} | -| tst.js:15:2:15:4 | l() | tst.js:11:1:20:1 | functio ... \\tf();\\n} | -| tst.js:16:2:16:19 | arguments.callee() | tst.js:11:1:20:1 | functio ... \\tf();\\n} | -| tst.js:17:2:17:4 | n() | tst.js:12:15:12:27 | function() {} | -| tst.js:18:2:18:4 | p() | tst.js:13:2:13:16 | function p() {} | -| tst.js:19:2:19:4 | f() | tst.js:1:1:1:15 | function f() {} | -| tst.js:22:1:22:4 | l(k) | tst.js:11:1:20:1 | functio ... \\tf();\\n} | -| tst.js:24:1:24:7 | new f() | tst.js:1:1:1:15 | function f() {} | -| tst.js:25:1:25:5 | new g | tst.js:2:9:2:21 | function() {} | -| tst.js:27:1:27:16 | (function(){})() | tst.js:27:2:27:13 | function(){} | -| tst.js:28:2:28:15 | function(){}() | tst.js:28:2:28:13 | function(){} | -| tst.js:33:4:33:11 | this.g() | tst.js:35:6:35:18 | function() {} | -| tst.js:41:1:41:5 | o.f() | tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | -| tst.js:42:1:42:34 | (functi ... o)).f() | tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | -| tst.js:42:2:42:29 | functio ... x; }(o) | tst.js:42:2:42:26 | functio ... rn x; } | -| tst.js:46:2:46:9 | this.g() | tst.js:48:17:48:29 | function() {} | -| tst.js:46:2:46:9 | this.g() | tst.js:61:17:61:29 | function() {} | -| tst.js:53:3:53:10 | this.g() | tst.js:56:39:56:51 | function() {} | -| tst.js:53:3:53:10 | this.g() | tst.js:57:39:57:51 | function() {} | -| tst.js:60:15:60:21 | new A() | tst.js:44:1:44:15 | function A() {} | -| tst.js:64:13:64:19 | new B() | tst.js:50:1:50:15 | function B() {} | -| tst.js:66:5:66:9 | b.f() | tst.js:65:11:65:23 | function() {} | -| tst.js:69:1:69:10 | globalfn() | tst3.js:1:1:1:22 | functio ... fn() {} | -| tst.js:70:1:70:11 | globalfn2() | tst3.js:2:1:2:23 | functio ... n2() {} | diff --git a/javascript/ql/test/library-tests/CallGraphs/getACallee.ql b/javascript/ql/test/library-tests/CallGraphs/getACallee.ql deleted file mode 100644 index 1ba7f75a2baf..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getACallee.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DataFlow::InvokeNode c -select c, c.getACallee() diff --git a/javascript/ql/test/library-tests/CallGraphs/getACallee.qll b/javascript/ql/test/library-tests/CallGraphs/getACallee.qll new file mode 100644 index 000000000000..dbf643181b5c --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/getACallee.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_getACallee(DataFlow::InvokeNode c, Function res) { res = c.getACallee() } diff --git a/javascript/ql/test/library-tests/CallGraphs/getAFunctionValue.expected b/javascript/ql/test/library-tests/CallGraphs/getAFunctionValue.expected deleted file mode 100644 index c1ba5f1ce622..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getAFunctionValue.expected +++ /dev/null @@ -1,136 +0,0 @@ -| a.js:1:8:1:10 | foo | b.js:1:16:1:27 | function(){} | -| a.js:1:15:1:17 | bar | b.js:2:8:2:24 | function bar() {} | -| a.js:1:20:1:22 | qux | c.js:2:8:2:24 | function bar() {} | -| a.js:2:1:2:3 | foo | b.js:1:16:1:27 | function(){} | -| a.js:3:1:3:3 | bar | b.js:2:8:2:24 | function bar() {} | -| a.js:4:1:4:3 | qux | c.js:2:8:2:24 | function bar() {} | -| b.js:1:16:1:27 | function(){} | b.js:1:16:1:27 | function(){} | -| b.js:2:8:2:24 | function bar() {} | b.js:2:8:2:24 | function bar() {} | -| c.js:1:16:1:27 | function(){} | c.js:1:16:1:27 | function(){} | -| c.js:2:8:2:24 | function bar() {} | c.js:2:8:2:24 | function bar() {} | -| classes.js:1:1:19:2 | (functi ... o();\\n}) | classes.js:1:2:19:1 | functio ... lo();\\n} | -| classes.js:1:2:19:1 | functio ... lo();\\n} | classes.js:1:2:19:1 | functio ... lo();\\n} | -| classes.js:2:3:10:3 | A | classes.js:2:11:2:10 | () {} | -| classes.js:2:3:10:3 | class A ... }\\n } | classes.js:2:11:2:10 | () {} | -| classes.js:2:11:2:10 | () {} | classes.js:2:11:2:10 | () {} | -| classes.js:3:10:5:5 | () {\\n ... ;\\n } | classes.js:3:10:5:5 | () {\\n ... ;\\n } | -| classes.js:7:6:9:5 | () {\\n ... ;\\n } | classes.js:7:6:9:5 | () {\\n ... ;\\n } | -| classes.js:8:7:8:16 | this.hello | classes.js:3:10:5:5 | () {\\n ... ;\\n } | -| classes.js:12:3:16:3 | B | classes.js:12:21:12:20 | (...arg ... rgs); } | -| classes.js:12:3:16:3 | class B ... }\\n } | classes.js:12:21:12:20 | (...arg ... rgs); } | -| classes.js:12:19:12:19 | A | classes.js:2:11:2:10 | () {} | -| classes.js:12:21:12:20 | (...arg ... rgs); } | classes.js:12:21:12:20 | (...arg ... rgs); } | -| classes.js:12:21:12:20 | super | classes.js:2:11:2:10 | () {} | -| classes.js:13:10:15:5 | () {\\n ... ;\\n } | classes.js:13:10:15:5 | () {\\n ... ;\\n } | -| classes.js:18:3:18:15 | new B().hello | classes.js:13:10:15:5 | () {\\n ... ;\\n } | -| classes.js:18:7:18:7 | B | classes.js:12:21:12:20 | (...arg ... rgs); } | -| es2015.js:1:1:5:1 | class E ... ;\\n }\\n} | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | -| es2015.js:2:14:4:3 | () {\\n ... ");\\n } | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | -| es2015.js:6:5:6:16 | ExampleClass | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | -| es2015.js:8:2:12:1 | functio ... \\n };\\n} | es2015.js:8:2:12:1 | functio ... \\n };\\n} | -| es2015.js:9:10:11:3 | () => { ... ();\\n } | es2015.js:9:10:11:3 | () => { ... ();\\n } | -| es2015.js:10:5:10:20 | arguments.callee | es2015.js:8:2:12:1 | functio ... \\n };\\n} | -| es2015.js:10:5:10:22 | arguments.callee() | es2015.js:9:10:11:3 | () => { ... ();\\n } | -| es2015.js:14:1:18:1 | class S ... ;\\n }\\n} | es2015.js:15:14:17:3 | () {\\n ... ();\\n } | -| es2015.js:14:19:14:47 | ("Wait ... eClass) | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | -| es2015.js:14:20:14:46 | "Wait f ... leClass | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | -| es2015.js:14:35:14:46 | ExampleClass | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | -| es2015.js:15:14:17:3 | () {\\n ... ();\\n } | es2015.js:15:14:17:3 | () {\\n ... ();\\n } | -| es2015.js:16:5:16:9 | super | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | -| es2015.js:20:1:22:1 | functio ... = 42;\\n} | es2015.js:20:1:22:1 | functio ... = 42;\\n} | -| es2015.js:24:1:29:1 | class O ... ;\\n }\\n} | es2015.js:25:14:28:3 | () {\\n ... x);\\n } | -| es2015.js:24:24:24:34 | PseudoClass | es2015.js:20:1:22:1 | functio ... = 42;\\n} | -| es2015.js:25:14:28:3 | () {\\n ... x);\\n } | es2015.js:25:14:28:3 | () {\\n ... x);\\n } | -| es2015.js:26:5:26:9 | super | es2015.js:20:1:22:1 | functio ... = 42;\\n} | -| es2015.js:31:1:33:1 | functio ... +y+z;\\n} | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | -| es2015.js:34:1:34:3 | sum | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | -| es2015.js:35:1:35:3 | sum | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | -| es2015.js:36:1:36:3 | sum | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | -| m2.js:2:6:2:18 | function() {} | m2.js:2:6:2:18 | function() {} | -| m.js:1:1:1:25 | exports ... on() {} | m.js:1:13:1:25 | function() {} | -| m.js:1:13:1:25 | function() {} | m.js:1:13:1:25 | function() {} | -| m.js:2:1:2:9 | exports.f | m.js:1:13:1:25 | function() {} | -| m.js:3:1:3:16 | module.exports.f | m.js:1:13:1:25 | function() {} | -| n.js:2:1:2:3 | m.f | m.js:1:13:1:25 | function() {} | -| n.js:5:1:5:4 | m2.f | m2.js:2:6:2:18 | function() {} | -| reflection.js:1:1:3:1 | functio ... x+y;\\n} | reflection.js:1:1:3:1 | functio ... x+y;\\n} | -| reflection.js:5:3:5:5 | add | reflection.js:1:1:3:1 | functio ... x+y;\\n} | -| reflection.js:5:3:5:39 | add.app ... n 56; } | reflection.js:5:15:5:39 | functio ... n 56; } | -| reflection.js:5:15:5:14 | this | reflection.js:1:1:3:1 | functio ... x+y;\\n} | -| reflection.js:5:15:5:39 | functio ... n 56; } | reflection.js:5:15:5:39 | functio ... n 56; } | -| reflection.js:7:1:7:3 | add | reflection.js:1:1:3:1 | functio ... x+y;\\n} | -| reflection.js:8:1:8:3 | add | reflection.js:1:1:3:1 | functio ... x+y;\\n} | -| reflection.js:8:1:8:9 | add.apply | reflection.js:5:15:5:39 | functio ... n 56; } | -| tst3.js:1:1:1:22 | functio ... fn() {} | tst3.js:1:1:1:22 | functio ... fn() {} | -| tst3.js:2:1:2:23 | functio ... n2() {} | tst3.js:2:1:2:23 | functio ... n2() {} | -| tst.js:1:1:1:15 | function f() {} | tst.js:1:1:1:15 | function f() {} | -| tst.js:2:9:2:21 | function() {} | tst.js:2:9:2:21 | function() {} | -| tst.js:3:1:3:17 | h = function() {} | tst.js:3:5:3:17 | function() {} | -| tst.js:3:5:3:17 | function() {} | tst.js:3:5:3:17 | function() {} | -| tst.js:4:1:4:5 | k = g | tst.js:2:9:2:21 | function() {} | -| tst.js:4:5:4:5 | g | tst.js:2:9:2:21 | function() {} | -| tst.js:6:1:6:1 | f | tst.js:1:1:1:15 | function f() {} | -| tst.js:7:1:7:1 | g | tst.js:2:9:2:21 | function() {} | -| tst.js:8:1:8:1 | h | tst.js:3:5:3:17 | function() {} | -| tst.js:9:1:9:1 | k | tst.js:2:9:2:21 | function() {} | -| tst.js:11:1:20:1 | functio ... \\tf();\\n} | tst.js:11:1:20:1 | functio ... \\tf();\\n} | -| tst.js:12:6:12:27 | n | tst.js:12:15:12:27 | function() {} | -| tst.js:12:10:12:27 | m \|\| function() {} | tst.js:12:15:12:27 | function() {} | -| tst.js:12:15:12:27 | function() {} | tst.js:12:15:12:27 | function() {} | -| tst.js:13:2:13:16 | function p() {} | tst.js:13:2:13:16 | function p() {} | -| tst.js:13:11:13:11 | p | tst.js:13:2:13:16 | function p() {} | -| tst.js:15:2:15:2 | l | tst.js:11:1:20:1 | functio ... \\tf();\\n} | -| tst.js:16:2:16:17 | arguments.callee | tst.js:11:1:20:1 | functio ... \\tf();\\n} | -| tst.js:17:2:17:2 | n | tst.js:12:15:12:27 | function() {} | -| tst.js:18:2:18:2 | p | tst.js:13:2:13:16 | function p() {} | -| tst.js:19:2:19:2 | f | tst.js:1:1:1:15 | function f() {} | -| tst.js:22:1:22:1 | l | tst.js:11:1:20:1 | functio ... \\tf();\\n} | -| tst.js:22:3:22:3 | k | tst.js:2:9:2:21 | function() {} | -| tst.js:24:5:24:5 | f | tst.js:1:1:1:15 | function f() {} | -| tst.js:25:5:25:5 | g | tst.js:2:9:2:21 | function() {} | -| tst.js:27:1:27:14 | (function(){}) | tst.js:27:2:27:13 | function(){} | -| tst.js:27:2:27:13 | function(){} | tst.js:27:2:27:13 | function(){} | -| tst.js:28:2:28:13 | function(){} | tst.js:28:2:28:13 | function(){} | -| tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | -| tst.js:33:4:33:9 | this.g | tst.js:35:6:35:18 | function() {} | -| tst.js:35:6:35:18 | function() {} | tst.js:35:6:35:18 | function() {} | -| tst.js:38:6:38:18 | function() {} | tst.js:38:6:38:18 | function() {} | -| tst.js:39:6:39:6 | g | tst.js:2:9:2:21 | function() {} | -| tst.js:41:1:41:3 | o.f | tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | -| tst.js:42:1:42:32 | (functi ... }(o)).f | tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | -| tst.js:42:2:42:26 | functio ... rn x; } | tst.js:42:2:42:26 | functio ... rn x; } | -| tst.js:44:1:44:15 | function A() {} | tst.js:44:1:44:15 | function A() {} | -| tst.js:45:1:45:1 | A | tst.js:44:1:44:15 | function A() {} | -| tst.js:45:1:47:1 | A.proto ... .g();\\n} | tst.js:45:17:47:1 | functio ... .g();\\n} | -| tst.js:45:17:47:1 | functio ... .g();\\n} | tst.js:45:17:47:1 | functio ... .g();\\n} | -| tst.js:46:2:46:7 | this.g | tst.js:48:17:48:29 | function() {} | -| tst.js:46:2:46:7 | this.g | tst.js:61:17:61:29 | function() {} | -| tst.js:48:1:48:1 | A | tst.js:44:1:44:15 | function A() {} | -| tst.js:48:1:48:29 | A.proto ... on() {} | tst.js:48:17:48:29 | function() {} | -| tst.js:48:17:48:29 | function() {} | tst.js:48:17:48:29 | function() {} | -| tst.js:50:1:50:15 | function B() {} | tst.js:50:1:50:15 | function B() {} | -| tst.js:51:1:51:1 | B | tst.js:50:1:50:15 | function B() {} | -| tst.js:52:5:54:2 | functio ... g();\\n\\t} | tst.js:52:5:54:2 | functio ... g();\\n\\t} | -| tst.js:53:3:53:8 | this.g | tst.js:56:39:56:51 | function() {} | -| tst.js:53:3:53:8 | this.g | tst.js:57:39:57:51 | function() {} | -| tst.js:56:1:56:1 | B | tst.js:50:1:50:15 | function B() {} | -| tst.js:56:1:57:51 | B.proto ... on() {} | tst.js:56:39:56:51 | function() {} | -| tst.js:56:1:57:51 | B.proto ... on() {} | tst.js:57:39:57:51 | function() {} | -| tst.js:56:17:57:51 | Math.ra ... on() {} | tst.js:56:39:56:51 | function() {} | -| tst.js:56:17:57:51 | Math.ra ... on() {} | tst.js:57:39:57:51 | function() {} | -| tst.js:56:39:56:51 | function() {} | tst.js:56:39:56:51 | function() {} | -| tst.js:57:39:57:51 | function() {} | tst.js:57:39:57:51 | function() {} | -| tst.js:59:1:59:15 | function C() {} | tst.js:59:1:59:15 | function C() {} | -| tst.js:60:1:60:1 | C | tst.js:59:1:59:15 | function C() {} | -| tst.js:60:19:60:19 | A | tst.js:44:1:44:15 | function A() {} | -| tst.js:61:1:61:1 | C | tst.js:59:1:59:15 | function C() {} | -| tst.js:61:1:61:29 | C.proto ... on() {} | tst.js:61:17:61:29 | function() {} | -| tst.js:61:17:61:29 | function() {} | tst.js:61:17:61:29 | function() {} | -| tst.js:63:1:67:2 | (functi ... f();\\n}) | tst.js:63:2:67:1 | functio ... .f();\\n} | -| tst.js:63:2:67:1 | functio ... .f();\\n} | tst.js:63:2:67:1 | functio ... .f();\\n} | -| tst.js:64:17:64:17 | B | tst.js:50:1:50:15 | function B() {} | -| tst.js:65:5:65:23 | b.f = function() {} | tst.js:65:11:65:23 | function() {} | -| tst.js:65:11:65:23 | function() {} | tst.js:65:11:65:23 | function() {} | -| tst.js:66:5:66:7 | b.f | tst.js:65:11:65:23 | function() {} | -| tst.js:69:1:69:8 | globalfn | tst3.js:1:1:1:22 | functio ... fn() {} | -| tst.js:70:1:70:9 | globalfn2 | tst3.js:2:1:2:23 | functio ... n2() {} | diff --git a/javascript/ql/test/library-tests/CallGraphs/getAFunctionValue.ql b/javascript/ql/test/library-tests/CallGraphs/getAFunctionValue.ql deleted file mode 100644 index ce4619d0024d..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getAFunctionValue.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DataFlow::Node node -select node, node.getAFunctionValue() diff --git a/javascript/ql/test/library-tests/CallGraphs/getAFunctionValue.qll b/javascript/ql/test/library-tests/CallGraphs/getAFunctionValue.qll new file mode 100644 index 000000000000..abc8a1298ab5 --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/getAFunctionValue.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_getAFunctionValue(DataFlow::Node node, DataFlow::FunctionNode res) { + res = node.getAFunctionValue() +} diff --git a/javascript/ql/test/library-tests/CallGraphs/getAnArgument.expected b/javascript/ql/test/library-tests/CallGraphs/getAnArgument.expected deleted file mode 100644 index ca875d7161dd..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getAnArgument.expected +++ /dev/null @@ -1,18 +0,0 @@ -| classes.js:4:7:4:26 | console.log("Hello") | classes.js:4:19:4:25 | "Hello" | -| classes.js:14:7:14:27 | console ... ello!") | classes.js:14:19:14:26 | "Hello!" | -| es2015.js:3:5:3:21 | console.log("hi") | es2015.js:3:17:3:20 | "hi" | -| es2015.js:27:5:27:23 | console.log(this.x) | es2015.js:27:17:27:22 | this.x | -| es2015.js:35:1:35:17 | sum(1, ...[2, 3]) | es2015.js:35:5:35:5 | 1 | -| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | es2015.js:36:5:36:5 | 1 | -| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | es2015.js:36:16:36:16 | 3 | -| n.js:1:9:1:22 | require('./m') | n.js:1:17:1:21 | './m' | -| n.js:4:10:4:24 | require('./m2') | n.js:4:18:4:23 | './m2' | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | reflection.js:7:10:7:13 | null | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | reflection.js:7:16:7:17 | 23 | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | reflection.js:7:20:7:21 | 19 | -| reflection.js:7:1:7:22 | reflective call | reflection.js:7:16:7:17 | 23 | -| reflection.js:7:1:7:22 | reflective call | reflection.js:7:20:7:21 | 19 | -| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:8:11:8:14 | null | -| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:8:17:8:24 | [23, 19] | -| tst.js:22:1:22:4 | l(k) | tst.js:22:3:22:3 | k | -| tst.js:42:2:42:29 | functio ... x; }(o) | tst.js:42:28:42:28 | o | diff --git a/javascript/ql/test/library-tests/CallGraphs/getAnArgument.ql b/javascript/ql/test/library-tests/CallGraphs/getAnArgument.ql deleted file mode 100644 index ee67cc483169..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getAnArgument.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DataFlow::InvokeNode invk -select invk, invk.getAnArgument() diff --git a/javascript/ql/test/library-tests/CallGraphs/getAnArgument.qll b/javascript/ql/test/library-tests/CallGraphs/getAnArgument.qll new file mode 100644 index 000000000000..32adf918bfa4 --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/getAnArgument.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_getAnArgument(DataFlow::InvokeNode invk, DataFlow::Node res) { + res = invk.getAnArgument() +} diff --git a/javascript/ql/test/library-tests/CallGraphs/getArgument.expected b/javascript/ql/test/library-tests/CallGraphs/getArgument.expected deleted file mode 100644 index d403abc615d8..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getArgument.expected +++ /dev/null @@ -1,17 +0,0 @@ -| classes.js:4:7:4:26 | console.log("Hello") | 0 | classes.js:4:19:4:25 | "Hello" | -| classes.js:14:7:14:27 | console ... ello!") | 0 | classes.js:14:19:14:26 | "Hello!" | -| es2015.js:3:5:3:21 | console.log("hi") | 0 | es2015.js:3:17:3:20 | "hi" | -| es2015.js:27:5:27:23 | console.log(this.x) | 0 | es2015.js:27:17:27:22 | this.x | -| es2015.js:35:1:35:17 | sum(1, ...[2, 3]) | 0 | es2015.js:35:5:35:5 | 1 | -| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | 0 | es2015.js:36:5:36:5 | 1 | -| n.js:1:9:1:22 | require('./m') | 0 | n.js:1:17:1:21 | './m' | -| n.js:4:10:4:24 | require('./m2') | 0 | n.js:4:18:4:23 | './m2' | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | 0 | reflection.js:7:10:7:13 | null | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | 1 | reflection.js:7:16:7:17 | 23 | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | 2 | reflection.js:7:20:7:21 | 19 | -| reflection.js:7:1:7:22 | reflective call | 0 | reflection.js:7:16:7:17 | 23 | -| reflection.js:7:1:7:22 | reflective call | 1 | reflection.js:7:20:7:21 | 19 | -| reflection.js:8:1:8:25 | add.app ... 3, 19]) | 0 | reflection.js:8:11:8:14 | null | -| reflection.js:8:1:8:25 | add.app ... 3, 19]) | 1 | reflection.js:8:17:8:24 | [23, 19] | -| tst.js:22:1:22:4 | l(k) | 0 | tst.js:22:3:22:3 | k | -| tst.js:42:2:42:29 | functio ... x; }(o) | 0 | tst.js:42:28:42:28 | o | diff --git a/javascript/ql/test/library-tests/CallGraphs/getArgument.ql b/javascript/ql/test/library-tests/CallGraphs/getArgument.ql deleted file mode 100644 index bcbfc4c3c61a..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getArgument.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DataFlow::InvokeNode invk, int i -select invk, i, invk.getArgument(i) diff --git a/javascript/ql/test/library-tests/CallGraphs/getArgument.qll b/javascript/ql/test/library-tests/CallGraphs/getArgument.qll new file mode 100644 index 000000000000..26876183ed9e --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/getArgument.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_getArgument(DataFlow::InvokeNode invk, int i, DataFlow::Node res) { + res = invk.getArgument(i) +} diff --git a/javascript/ql/test/library-tests/CallGraphs/getCalleeName.expected b/javascript/ql/test/library-tests/CallGraphs/getCalleeName.expected deleted file mode 100644 index 362c8d6c7803..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getCalleeName.expected +++ /dev/null @@ -1,49 +0,0 @@ -| a.js:2:1:2:5 | foo() | foo | -| a.js:3:1:3:5 | bar() | bar | -| a.js:4:1:4:5 | qux() | qux | -| a.js:7:1:7:5 | baz() | baz | -| classes.js:4:7:4:26 | console.log("Hello") | log | -| classes.js:8:7:8:18 | this.hello() | hello | -| classes.js:14:7:14:27 | console ... ello!") | log | -| classes.js:18:3:18:9 | new B() | B | -| classes.js:18:3:18:17 | new B().hello() | hello | -| es2015.js:3:5:3:21 | console.log("hi") | log | -| es2015.js:6:1:6:18 | new ExampleClass() | ExampleClass | -| es2015.js:10:5:10:22 | arguments.callee() | callee | -| es2015.js:27:5:27:23 | console.log(this.x) | log | -| es2015.js:34:1:34:17 | sum(...[1, 2, 3]) | sum | -| es2015.js:35:1:35:17 | sum(1, ...[2, 3]) | sum | -| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | sum | -| m.js:2:1:2:11 | exports.f() | f | -| m.js:3:1:3:18 | module.exports.f() | f | -| n.js:1:9:1:22 | require('./m') | require | -| n.js:2:1:2:5 | m.f() | f | -| n.js:4:10:4:24 | require('./m2') | require | -| n.js:5:1:5:6 | m2.f() | f | -| reflection.js:4:5:4:12 | sneaky() | sneaky | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | call | -| reflection.js:8:1:8:25 | add.app ... 3, 19]) | apply | -| tst.js:6:1:6:3 | f() | f | -| tst.js:7:1:7:3 | g() | g | -| tst.js:8:1:8:3 | h() | h | -| tst.js:9:1:9:3 | k() | k | -| tst.js:14:2:14:4 | m() | m | -| tst.js:15:2:15:4 | l() | l | -| tst.js:16:2:16:19 | arguments.callee() | callee | -| tst.js:17:2:17:4 | n() | n | -| tst.js:18:2:18:4 | p() | p | -| tst.js:19:2:19:4 | f() | f | -| tst.js:22:1:22:4 | l(k) | l | -| tst.js:24:1:24:7 | new f() | f | -| tst.js:25:1:25:5 | new g | g | -| tst.js:33:4:33:11 | this.g() | g | -| tst.js:41:1:41:5 | o.f() | f | -| tst.js:42:1:42:34 | (functi ... o)).f() | f | -| tst.js:46:2:46:9 | this.g() | g | -| tst.js:53:3:53:10 | this.g() | g | -| tst.js:56:17:56:29 | Math.random() | random | -| tst.js:60:15:60:21 | new A() | A | -| tst.js:64:13:64:19 | new B() | B | -| tst.js:66:5:66:9 | b.f() | f | -| tst.js:69:1:69:10 | globalfn() | globalfn | -| tst.js:70:1:70:11 | globalfn2() | globalfn2 | diff --git a/javascript/ql/test/library-tests/CallGraphs/getCalleeName.ql b/javascript/ql/test/library-tests/CallGraphs/getCalleeName.ql deleted file mode 100644 index 9ba6b8ba978b..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getCalleeName.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DataFlow::InvokeNode invk -select invk, invk.getCalleeName() diff --git a/javascript/ql/test/library-tests/CallGraphs/getCalleeName.qll b/javascript/ql/test/library-tests/CallGraphs/getCalleeName.qll new file mode 100644 index 000000000000..bdce70667bfa --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/getCalleeName.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_getCalleeName(DataFlow::InvokeNode invk, string res) { + res = invk.getCalleeName() +} diff --git a/javascript/ql/test/library-tests/CallGraphs/getCalleeNode.expected b/javascript/ql/test/library-tests/CallGraphs/getCalleeNode.expected deleted file mode 100644 index d4c39f17f783..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getCalleeNode.expected +++ /dev/null @@ -1,57 +0,0 @@ -| a.js:2:1:2:5 | foo() | a.js:2:1:2:3 | foo | -| a.js:3:1:3:5 | bar() | a.js:3:1:3:3 | bar | -| a.js:4:1:4:5 | qux() | a.js:4:1:4:3 | qux | -| a.js:7:1:7:5 | baz() | a.js:7:1:7:3 | baz | -| classes.js:4:7:4:26 | console.log("Hello") | classes.js:4:7:4:17 | console.log | -| classes.js:8:7:8:18 | this.hello() | classes.js:8:7:8:16 | this.hello | -| classes.js:12:21:12:20 | super(...args) | classes.js:12:21:12:20 | super | -| classes.js:14:7:14:27 | console ... ello!") | classes.js:14:7:14:17 | console.log | -| classes.js:18:3:18:9 | new B() | classes.js:18:7:18:7 | B | -| classes.js:18:3:18:17 | new B().hello() | classes.js:18:3:18:15 | new B().hello | -| es2015.js:3:5:3:21 | console.log("hi") | es2015.js:3:5:3:15 | console.log | -| es2015.js:6:1:6:18 | new ExampleClass() | es2015.js:6:5:6:16 | ExampleClass | -| es2015.js:10:5:10:22 | arguments.callee() | es2015.js:10:5:10:20 | arguments.callee | -| es2015.js:16:5:16:11 | super() | es2015.js:16:5:16:9 | super | -| es2015.js:26:5:26:11 | super() | es2015.js:26:5:26:9 | super | -| es2015.js:27:5:27:23 | console.log(this.x) | es2015.js:27:5:27:15 | console.log | -| es2015.js:34:1:34:17 | sum(...[1, 2, 3]) | es2015.js:34:1:34:3 | sum | -| es2015.js:35:1:35:17 | sum(1, ...[2, 3]) | es2015.js:35:1:35:3 | sum | -| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | es2015.js:36:1:36:3 | sum | -| m.js:2:1:2:11 | exports.f() | m.js:2:1:2:9 | exports.f | -| m.js:3:1:3:18 | module.exports.f() | m.js:3:1:3:16 | module.exports.f | -| n.js:1:9:1:22 | require('./m') | n.js:1:9:1:15 | require | -| n.js:2:1:2:5 | m.f() | n.js:2:1:2:3 | m.f | -| n.js:4:10:4:24 | require('./m2') | n.js:4:10:4:16 | require | -| n.js:5:1:5:6 | m2.f() | n.js:5:1:5:4 | m2.f | -| reflection.js:4:5:4:12 | sneaky() | reflection.js:4:5:4:10 | sneaky | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | reflection.js:7:1:7:8 | add.call | -| reflection.js:7:1:7:22 | reflective call | reflection.js:7:1:7:3 | add | -| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:8:1:8:9 | add.apply | -| reflection.js:8:1:8:25 | reflective call | reflection.js:8:1:8:3 | add | -| tst.js:6:1:6:3 | f() | tst.js:6:1:6:1 | f | -| tst.js:7:1:7:3 | g() | tst.js:7:1:7:1 | g | -| tst.js:8:1:8:3 | h() | tst.js:8:1:8:1 | h | -| tst.js:9:1:9:3 | k() | tst.js:9:1:9:1 | k | -| tst.js:14:2:14:4 | m() | tst.js:14:2:14:2 | m | -| tst.js:15:2:15:4 | l() | tst.js:15:2:15:2 | l | -| tst.js:16:2:16:19 | arguments.callee() | tst.js:16:2:16:17 | arguments.callee | -| tst.js:17:2:17:4 | n() | tst.js:17:2:17:2 | n | -| tst.js:18:2:18:4 | p() | tst.js:18:2:18:2 | p | -| tst.js:19:2:19:4 | f() | tst.js:19:2:19:2 | f | -| tst.js:22:1:22:4 | l(k) | tst.js:22:1:22:1 | l | -| tst.js:24:1:24:7 | new f() | tst.js:24:5:24:5 | f | -| tst.js:25:1:25:5 | new g | tst.js:25:5:25:5 | g | -| tst.js:27:1:27:16 | (function(){})() | tst.js:27:1:27:14 | (function(){}) | -| tst.js:28:2:28:15 | function(){}() | tst.js:28:2:28:13 | function(){} | -| tst.js:33:4:33:11 | this.g() | tst.js:33:4:33:9 | this.g | -| tst.js:41:1:41:5 | o.f() | tst.js:41:1:41:3 | o.f | -| tst.js:42:1:42:34 | (functi ... o)).f() | tst.js:42:1:42:32 | (functi ... }(o)).f | -| tst.js:42:2:42:29 | functio ... x; }(o) | tst.js:42:2:42:26 | functio ... rn x; } | -| tst.js:46:2:46:9 | this.g() | tst.js:46:2:46:7 | this.g | -| tst.js:53:3:53:10 | this.g() | tst.js:53:3:53:8 | this.g | -| tst.js:56:17:56:29 | Math.random() | tst.js:56:17:56:27 | Math.random | -| tst.js:60:15:60:21 | new A() | tst.js:60:19:60:19 | A | -| tst.js:64:13:64:19 | new B() | tst.js:64:17:64:17 | B | -| tst.js:66:5:66:9 | b.f() | tst.js:66:5:66:7 | b.f | -| tst.js:69:1:69:10 | globalfn() | tst.js:69:1:69:8 | globalfn | -| tst.js:70:1:70:11 | globalfn2() | tst.js:70:1:70:9 | globalfn2 | diff --git a/javascript/ql/test/library-tests/CallGraphs/getCalleeNode.ql b/javascript/ql/test/library-tests/CallGraphs/getCalleeNode.ql deleted file mode 100644 index b853352df50d..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getCalleeNode.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DataFlow::InvokeNode invk -select invk, invk.getCalleeNode() diff --git a/javascript/ql/test/library-tests/CallGraphs/getCalleeNode.qll b/javascript/ql/test/library-tests/CallGraphs/getCalleeNode.qll new file mode 100644 index 000000000000..fd8bd1a6d527 --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/getCalleeNode.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_getCalleeNode(DataFlow::InvokeNode invk, DataFlow::Node res) { + res = invk.getCalleeNode() +} diff --git a/javascript/ql/test/library-tests/CallGraphs/getLastArgument.expected b/javascript/ql/test/library-tests/CallGraphs/getLastArgument.expected deleted file mode 100644 index 6b568c8ba946..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getLastArgument.expected +++ /dev/null @@ -1,11 +0,0 @@ -| classes.js:4:7:4:26 | console.log("Hello") | classes.js:4:19:4:25 | "Hello" | -| classes.js:14:7:14:27 | console ... ello!") | classes.js:14:19:14:26 | "Hello!" | -| es2015.js:3:5:3:21 | console.log("hi") | es2015.js:3:17:3:20 | "hi" | -| es2015.js:27:5:27:23 | console.log(this.x) | es2015.js:27:17:27:22 | this.x | -| n.js:1:9:1:22 | require('./m') | n.js:1:17:1:21 | './m' | -| n.js:4:10:4:24 | require('./m2') | n.js:4:18:4:23 | './m2' | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | reflection.js:7:20:7:21 | 19 | -| reflection.js:7:1:7:22 | reflective call | reflection.js:7:20:7:21 | 19 | -| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:8:17:8:24 | [23, 19] | -| tst.js:22:1:22:4 | l(k) | tst.js:22:3:22:3 | k | -| tst.js:42:2:42:29 | functio ... x; }(o) | tst.js:42:28:42:28 | o | diff --git a/javascript/ql/test/library-tests/CallGraphs/getLastArgument.ql b/javascript/ql/test/library-tests/CallGraphs/getLastArgument.ql deleted file mode 100644 index 78aaa95523b7..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getLastArgument.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DataFlow::InvokeNode invk -select invk, invk.getLastArgument() diff --git a/javascript/ql/test/library-tests/CallGraphs/getLastArgument.qll b/javascript/ql/test/library-tests/CallGraphs/getLastArgument.qll new file mode 100644 index 000000000000..d2bd8eb7f8b5 --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/getLastArgument.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_getLastArgument(DataFlow::InvokeNode invk, DataFlow::Node res) { + res = invk.getLastArgument() +} diff --git a/javascript/ql/test/library-tests/CallGraphs/getNumArgument.expected b/javascript/ql/test/library-tests/CallGraphs/getNumArgument.expected deleted file mode 100644 index ef4abe4806d2..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getNumArgument.expected +++ /dev/null @@ -1,52 +0,0 @@ -| a.js:2:1:2:5 | foo() | 0 | -| a.js:3:1:3:5 | bar() | 0 | -| a.js:4:1:4:5 | qux() | 0 | -| a.js:7:1:7:5 | baz() | 0 | -| classes.js:4:7:4:26 | console.log("Hello") | 1 | -| classes.js:8:7:8:18 | this.hello() | 0 | -| classes.js:14:7:14:27 | console ... ello!") | 1 | -| classes.js:18:3:18:9 | new B() | 0 | -| classes.js:18:3:18:17 | new B().hello() | 0 | -| es2015.js:3:5:3:21 | console.log("hi") | 1 | -| es2015.js:6:1:6:18 | new ExampleClass() | 0 | -| es2015.js:10:5:10:22 | arguments.callee() | 0 | -| es2015.js:16:5:16:11 | super() | 0 | -| es2015.js:26:5:26:11 | super() | 0 | -| es2015.js:27:5:27:23 | console.log(this.x) | 1 | -| m.js:2:1:2:11 | exports.f() | 0 | -| m.js:3:1:3:18 | module.exports.f() | 0 | -| n.js:1:9:1:22 | require('./m') | 1 | -| n.js:2:1:2:5 | m.f() | 0 | -| n.js:4:10:4:24 | require('./m2') | 1 | -| n.js:5:1:5:6 | m2.f() | 0 | -| reflection.js:4:5:4:12 | sneaky() | 0 | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | 3 | -| reflection.js:7:1:7:22 | reflective call | 2 | -| reflection.js:8:1:8:25 | add.app ... 3, 19]) | 2 | -| tst.js:6:1:6:3 | f() | 0 | -| tst.js:7:1:7:3 | g() | 0 | -| tst.js:8:1:8:3 | h() | 0 | -| tst.js:9:1:9:3 | k() | 0 | -| tst.js:14:2:14:4 | m() | 0 | -| tst.js:15:2:15:4 | l() | 0 | -| tst.js:16:2:16:19 | arguments.callee() | 0 | -| tst.js:17:2:17:4 | n() | 0 | -| tst.js:18:2:18:4 | p() | 0 | -| tst.js:19:2:19:4 | f() | 0 | -| tst.js:22:1:22:4 | l(k) | 1 | -| tst.js:24:1:24:7 | new f() | 0 | -| tst.js:25:1:25:5 | new g | 0 | -| tst.js:27:1:27:16 | (function(){})() | 0 | -| tst.js:28:2:28:15 | function(){}() | 0 | -| tst.js:33:4:33:11 | this.g() | 0 | -| tst.js:41:1:41:5 | o.f() | 0 | -| tst.js:42:1:42:34 | (functi ... o)).f() | 0 | -| tst.js:42:2:42:29 | functio ... x; }(o) | 1 | -| tst.js:46:2:46:9 | this.g() | 0 | -| tst.js:53:3:53:10 | this.g() | 0 | -| tst.js:56:17:56:29 | Math.random() | 0 | -| tst.js:60:15:60:21 | new A() | 0 | -| tst.js:64:13:64:19 | new B() | 0 | -| tst.js:66:5:66:9 | b.f() | 0 | -| tst.js:69:1:69:10 | globalfn() | 0 | -| tst.js:70:1:70:11 | globalfn2() | 0 | diff --git a/javascript/ql/test/library-tests/CallGraphs/getNumArgument.ql b/javascript/ql/test/library-tests/CallGraphs/getNumArgument.ql deleted file mode 100644 index 590636069bba..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/getNumArgument.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DataFlow::InvokeNode invk -select invk, invk.getNumArgument() diff --git a/javascript/ql/test/library-tests/CallGraphs/getNumArgument.qll b/javascript/ql/test/library-tests/CallGraphs/getNumArgument.qll new file mode 100644 index 000000000000..b4f3e16f7cf2 --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/getNumArgument.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_getNumArgument(DataFlow::InvokeNode invk, int res) { + res = invk.getNumArgument() +} diff --git a/javascript/ql/test/library-tests/CallGraphs/isImprecise.expected b/javascript/ql/test/library-tests/CallGraphs/isImprecise.expected deleted file mode 100644 index 64c796f99e78..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/isImprecise.expected +++ /dev/null @@ -1 +0,0 @@ -| tst.js:69:1:69:10 | globalfn() | diff --git a/javascript/ql/test/library-tests/CallGraphs/isImprecise.ql b/javascript/ql/test/library-tests/CallGraphs/isImprecise.ql deleted file mode 100644 index 085da6c7d3f9..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/isImprecise.ql +++ /dev/null @@ -1,5 +0,0 @@ -import javascript - -from DataFlow::InvokeNode invk -where invk.isImprecise() -select invk diff --git a/javascript/ql/test/library-tests/CallGraphs/isImprecise.qll b/javascript/ql/test/library-tests/CallGraphs/isImprecise.qll new file mode 100644 index 000000000000..93f4b1b17819 --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/isImprecise.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_isImprecise(DataFlow::InvokeNode invk) { invk.isImprecise() } diff --git a/javascript/ql/test/library-tests/CallGraphs/isIncomplete.expected b/javascript/ql/test/library-tests/CallGraphs/isIncomplete.expected deleted file mode 100644 index 05643c0f5ab8..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/isIncomplete.expected +++ /dev/null @@ -1,30 +0,0 @@ -| a.js:7:1:7:5 | baz() | -| classes.js:4:7:4:26 | console.log("Hello") | -| classes.js:8:7:8:18 | this.hello() | -| classes.js:14:7:14:27 | console ... ello!") | -| classes.js:18:3:18:17 | new B().hello() | -| es2015.js:3:5:3:21 | console.log("hi") | -| es2015.js:27:5:27:23 | console.log(this.x) | -| m.js:2:1:2:11 | exports.f() | -| m.js:3:1:3:18 | module.exports.f() | -| n.js:1:9:1:22 | require('./m') | -| n.js:2:1:2:5 | m.f() | -| n.js:4:10:4:24 | require('./m2') | -| n.js:5:1:5:6 | m2.f() | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | -| reflection.js:8:1:8:25 | add.app ... 3, 19]) | -| tst.js:6:1:6:3 | f() | -| tst.js:7:1:7:3 | g() | -| tst.js:9:1:9:3 | k() | -| tst.js:14:2:14:4 | m() | -| tst.js:17:2:17:4 | n() | -| tst.js:19:2:19:4 | f() | -| tst.js:24:1:24:7 | new f() | -| tst.js:25:1:25:5 | new g | -| tst.js:33:4:33:11 | this.g() | -| tst.js:41:1:41:5 | o.f() | -| tst.js:42:1:42:34 | (functi ... o)).f() | -| tst.js:46:2:46:9 | this.g() | -| tst.js:53:3:53:10 | this.g() | -| tst.js:56:17:56:29 | Math.random() | -| tst.js:66:5:66:9 | b.f() | diff --git a/javascript/ql/test/library-tests/CallGraphs/isIncomplete.ql b/javascript/ql/test/library-tests/CallGraphs/isIncomplete.ql deleted file mode 100644 index c6da44516a36..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/isIncomplete.ql +++ /dev/null @@ -1,5 +0,0 @@ -import javascript - -from DataFlow::InvokeNode invk -where invk.isIncomplete() -select invk diff --git a/javascript/ql/test/library-tests/CallGraphs/isIncomplete.qll b/javascript/ql/test/library-tests/CallGraphs/isIncomplete.qll new file mode 100644 index 000000000000..d28a280625ca --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/isIncomplete.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_isIncomplete(DataFlow::InvokeNode invk) { invk.isIncomplete() } diff --git a/javascript/ql/test/library-tests/CallGraphs/isUncertain.expected b/javascript/ql/test/library-tests/CallGraphs/isUncertain.expected deleted file mode 100644 index 8b8d23e043b2..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/isUncertain.expected +++ /dev/null @@ -1,31 +0,0 @@ -| a.js:7:1:7:5 | baz() | -| classes.js:4:7:4:26 | console.log("Hello") | -| classes.js:8:7:8:18 | this.hello() | -| classes.js:14:7:14:27 | console ... ello!") | -| classes.js:18:3:18:17 | new B().hello() | -| es2015.js:3:5:3:21 | console.log("hi") | -| es2015.js:27:5:27:23 | console.log(this.x) | -| m.js:2:1:2:11 | exports.f() | -| m.js:3:1:3:18 | module.exports.f() | -| n.js:1:9:1:22 | require('./m') | -| n.js:2:1:2:5 | m.f() | -| n.js:4:10:4:24 | require('./m2') | -| n.js:5:1:5:6 | m2.f() | -| reflection.js:7:1:7:22 | add.cal ... 23, 19) | -| reflection.js:8:1:8:25 | add.app ... 3, 19]) | -| tst.js:6:1:6:3 | f() | -| tst.js:7:1:7:3 | g() | -| tst.js:9:1:9:3 | k() | -| tst.js:14:2:14:4 | m() | -| tst.js:17:2:17:4 | n() | -| tst.js:19:2:19:4 | f() | -| tst.js:24:1:24:7 | new f() | -| tst.js:25:1:25:5 | new g | -| tst.js:33:4:33:11 | this.g() | -| tst.js:41:1:41:5 | o.f() | -| tst.js:42:1:42:34 | (functi ... o)).f() | -| tst.js:46:2:46:9 | this.g() | -| tst.js:53:3:53:10 | this.g() | -| tst.js:56:17:56:29 | Math.random() | -| tst.js:66:5:66:9 | b.f() | -| tst.js:69:1:69:10 | globalfn() | diff --git a/javascript/ql/test/library-tests/CallGraphs/isUncertain.ql b/javascript/ql/test/library-tests/CallGraphs/isUncertain.ql deleted file mode 100644 index 3e2a2c372c70..000000000000 --- a/javascript/ql/test/library-tests/CallGraphs/isUncertain.ql +++ /dev/null @@ -1,5 +0,0 @@ -import javascript - -from DataFlow::InvokeNode invk -where invk.isUncertain() -select invk diff --git a/javascript/ql/test/library-tests/CallGraphs/isUncertain.qll b/javascript/ql/test/library-tests/CallGraphs/isUncertain.qll new file mode 100644 index 000000000000..4d2f9a04b3c1 --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/isUncertain.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_isUncertain(DataFlow::InvokeNode invk) { invk.isUncertain() } diff --git a/javascript/ql/test/library-tests/CallGraphs/tests.expected b/javascript/ql/test/library-tests/CallGraphs/tests.expected new file mode 100644 index 000000000000..b3a63a1726d2 --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/tests.expected @@ -0,0 +1,461 @@ +test_isUncertain +| a.js:7:1:7:5 | baz() | +| classes.js:4:7:4:26 | console.log("Hello") | +| classes.js:8:7:8:18 | this.hello() | +| classes.js:14:7:14:27 | console ... ello!") | +| classes.js:18:3:18:17 | new B().hello() | +| es2015.js:3:5:3:21 | console.log("hi") | +| es2015.js:27:5:27:23 | console.log(this.x) | +| m.js:2:1:2:11 | exports.f() | +| m.js:3:1:3:18 | module.exports.f() | +| n.js:1:9:1:22 | require('./m') | +| n.js:2:1:2:5 | m.f() | +| n.js:4:10:4:24 | require('./m2') | +| n.js:5:1:5:6 | m2.f() | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | +| reflection.js:8:1:8:25 | add.app ... 3, 19]) | +| tst.js:6:1:6:3 | f() | +| tst.js:7:1:7:3 | g() | +| tst.js:9:1:9:3 | k() | +| tst.js:14:2:14:4 | m() | +| tst.js:17:2:17:4 | n() | +| tst.js:19:2:19:4 | f() | +| tst.js:24:1:24:7 | new f() | +| tst.js:25:1:25:5 | new g | +| tst.js:33:4:33:11 | this.g() | +| tst.js:41:1:41:5 | o.f() | +| tst.js:42:1:42:34 | (functi ... o)).f() | +| tst.js:46:2:46:9 | this.g() | +| tst.js:53:3:53:10 | this.g() | +| tst.js:56:17:56:29 | Math.random() | +| tst.js:66:5:66:9 | b.f() | +| tst.js:69:1:69:10 | globalfn() | +test_getAFunctionValue +| a.js:1:8:1:10 | foo | b.js:1:16:1:27 | function(){} | +| a.js:1:15:1:17 | bar | b.js:2:8:2:24 | function bar() {} | +| a.js:1:20:1:22 | qux | c.js:2:8:2:24 | function bar() {} | +| a.js:2:1:2:3 | foo | b.js:1:16:1:27 | function(){} | +| a.js:3:1:3:3 | bar | b.js:2:8:2:24 | function bar() {} | +| a.js:4:1:4:3 | qux | c.js:2:8:2:24 | function bar() {} | +| b.js:1:16:1:27 | function(){} | b.js:1:16:1:27 | function(){} | +| b.js:2:8:2:24 | function bar() {} | b.js:2:8:2:24 | function bar() {} | +| c.js:1:16:1:27 | function(){} | c.js:1:16:1:27 | function(){} | +| c.js:2:8:2:24 | function bar() {} | c.js:2:8:2:24 | function bar() {} | +| classes.js:1:1:19:2 | (functi ... o();\\n}) | classes.js:1:2:19:1 | functio ... lo();\\n} | +| classes.js:1:2:19:1 | functio ... lo();\\n} | classes.js:1:2:19:1 | functio ... lo();\\n} | +| classes.js:2:3:10:3 | A | classes.js:2:11:2:10 | () {} | +| classes.js:2:3:10:3 | class A ... }\\n } | classes.js:2:11:2:10 | () {} | +| classes.js:2:11:2:10 | () {} | classes.js:2:11:2:10 | () {} | +| classes.js:3:10:5:5 | () {\\n ... ;\\n } | classes.js:3:10:5:5 | () {\\n ... ;\\n } | +| classes.js:7:6:9:5 | () {\\n ... ;\\n } | classes.js:7:6:9:5 | () {\\n ... ;\\n } | +| classes.js:8:7:8:16 | this.hello | classes.js:3:10:5:5 | () {\\n ... ;\\n } | +| classes.js:12:3:16:3 | B | classes.js:12:21:12:20 | (...arg ... rgs); } | +| classes.js:12:3:16:3 | class B ... }\\n } | classes.js:12:21:12:20 | (...arg ... rgs); } | +| classes.js:12:19:12:19 | A | classes.js:2:11:2:10 | () {} | +| classes.js:12:21:12:20 | (...arg ... rgs); } | classes.js:12:21:12:20 | (...arg ... rgs); } | +| classes.js:12:21:12:20 | super | classes.js:2:11:2:10 | () {} | +| classes.js:13:10:15:5 | () {\\n ... ;\\n } | classes.js:13:10:15:5 | () {\\n ... ;\\n } | +| classes.js:18:3:18:15 | new B().hello | classes.js:13:10:15:5 | () {\\n ... ;\\n } | +| classes.js:18:7:18:7 | B | classes.js:12:21:12:20 | (...arg ... rgs); } | +| es2015.js:1:1:5:1 | class E ... ;\\n }\\n} | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | +| es2015.js:2:14:4:3 | () {\\n ... ");\\n } | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | +| es2015.js:6:5:6:16 | ExampleClass | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | +| es2015.js:8:2:12:1 | functio ... \\n };\\n} | es2015.js:8:2:12:1 | functio ... \\n };\\n} | +| es2015.js:9:10:11:3 | () => { ... ();\\n } | es2015.js:9:10:11:3 | () => { ... ();\\n } | +| es2015.js:10:5:10:20 | arguments.callee | es2015.js:8:2:12:1 | functio ... \\n };\\n} | +| es2015.js:10:5:10:22 | arguments.callee() | es2015.js:9:10:11:3 | () => { ... ();\\n } | +| es2015.js:14:1:18:1 | class S ... ;\\n }\\n} | es2015.js:15:14:17:3 | () {\\n ... ();\\n } | +| es2015.js:14:19:14:47 | ("Wait ... eClass) | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | +| es2015.js:14:20:14:46 | "Wait f ... leClass | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | +| es2015.js:14:35:14:46 | ExampleClass | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | +| es2015.js:15:14:17:3 | () {\\n ... ();\\n } | es2015.js:15:14:17:3 | () {\\n ... ();\\n } | +| es2015.js:16:5:16:9 | super | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | +| es2015.js:20:1:22:1 | functio ... = 42;\\n} | es2015.js:20:1:22:1 | functio ... = 42;\\n} | +| es2015.js:24:1:29:1 | class O ... ;\\n }\\n} | es2015.js:25:14:28:3 | () {\\n ... x);\\n } | +| es2015.js:24:24:24:34 | PseudoClass | es2015.js:20:1:22:1 | functio ... = 42;\\n} | +| es2015.js:25:14:28:3 | () {\\n ... x);\\n } | es2015.js:25:14:28:3 | () {\\n ... x);\\n } | +| es2015.js:26:5:26:9 | super | es2015.js:20:1:22:1 | functio ... = 42;\\n} | +| es2015.js:31:1:33:1 | functio ... +y+z;\\n} | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | +| es2015.js:34:1:34:3 | sum | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | +| es2015.js:35:1:35:3 | sum | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | +| es2015.js:36:1:36:3 | sum | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | +| m2.js:2:6:2:18 | function() {} | m2.js:2:6:2:18 | function() {} | +| m.js:1:1:1:25 | exports ... on() {} | m.js:1:13:1:25 | function() {} | +| m.js:1:13:1:25 | function() {} | m.js:1:13:1:25 | function() {} | +| m.js:2:1:2:9 | exports.f | m.js:1:13:1:25 | function() {} | +| m.js:3:1:3:16 | module.exports.f | m.js:1:13:1:25 | function() {} | +| n.js:2:1:2:3 | m.f | m.js:1:13:1:25 | function() {} | +| n.js:5:1:5:4 | m2.f | m2.js:2:6:2:18 | function() {} | +| reflection.js:1:1:3:1 | functio ... x+y;\\n} | reflection.js:1:1:3:1 | functio ... x+y;\\n} | +| reflection.js:5:3:5:5 | add | reflection.js:1:1:3:1 | functio ... x+y;\\n} | +| reflection.js:5:3:5:39 | add.app ... n 56; } | reflection.js:5:15:5:39 | functio ... n 56; } | +| reflection.js:5:15:5:14 | this | reflection.js:1:1:3:1 | functio ... x+y;\\n} | +| reflection.js:5:15:5:39 | functio ... n 56; } | reflection.js:5:15:5:39 | functio ... n 56; } | +| reflection.js:7:1:7:3 | add | reflection.js:1:1:3:1 | functio ... x+y;\\n} | +| reflection.js:8:1:8:3 | add | reflection.js:1:1:3:1 | functio ... x+y;\\n} | +| reflection.js:8:1:8:9 | add.apply | reflection.js:5:15:5:39 | functio ... n 56; } | +| tst3.js:1:1:1:22 | functio ... fn() {} | tst3.js:1:1:1:22 | functio ... fn() {} | +| tst3.js:2:1:2:23 | functio ... n2() {} | tst3.js:2:1:2:23 | functio ... n2() {} | +| tst.js:1:1:1:15 | function f() {} | tst.js:1:1:1:15 | function f() {} | +| tst.js:2:9:2:21 | function() {} | tst.js:2:9:2:21 | function() {} | +| tst.js:3:1:3:17 | h = function() {} | tst.js:3:5:3:17 | function() {} | +| tst.js:3:5:3:17 | function() {} | tst.js:3:5:3:17 | function() {} | +| tst.js:4:1:4:5 | k = g | tst.js:2:9:2:21 | function() {} | +| tst.js:4:5:4:5 | g | tst.js:2:9:2:21 | function() {} | +| tst.js:6:1:6:1 | f | tst.js:1:1:1:15 | function f() {} | +| tst.js:7:1:7:1 | g | tst.js:2:9:2:21 | function() {} | +| tst.js:8:1:8:1 | h | tst.js:3:5:3:17 | function() {} | +| tst.js:9:1:9:1 | k | tst.js:2:9:2:21 | function() {} | +| tst.js:11:1:20:1 | functio ... \\tf();\\n} | tst.js:11:1:20:1 | functio ... \\tf();\\n} | +| tst.js:12:6:12:27 | n | tst.js:12:15:12:27 | function() {} | +| tst.js:12:10:12:27 | m \|\| function() {} | tst.js:12:15:12:27 | function() {} | +| tst.js:12:15:12:27 | function() {} | tst.js:12:15:12:27 | function() {} | +| tst.js:13:2:13:16 | function p() {} | tst.js:13:2:13:16 | function p() {} | +| tst.js:13:11:13:11 | p | tst.js:13:2:13:16 | function p() {} | +| tst.js:15:2:15:2 | l | tst.js:11:1:20:1 | functio ... \\tf();\\n} | +| tst.js:16:2:16:17 | arguments.callee | tst.js:11:1:20:1 | functio ... \\tf();\\n} | +| tst.js:17:2:17:2 | n | tst.js:12:15:12:27 | function() {} | +| tst.js:18:2:18:2 | p | tst.js:13:2:13:16 | function p() {} | +| tst.js:19:2:19:2 | f | tst.js:1:1:1:15 | function f() {} | +| tst.js:22:1:22:1 | l | tst.js:11:1:20:1 | functio ... \\tf();\\n} | +| tst.js:22:3:22:3 | k | tst.js:2:9:2:21 | function() {} | +| tst.js:24:5:24:5 | f | tst.js:1:1:1:15 | function f() {} | +| tst.js:25:5:25:5 | g | tst.js:2:9:2:21 | function() {} | +| tst.js:27:1:27:14 | (function(){}) | tst.js:27:2:27:13 | function(){} | +| tst.js:27:2:27:13 | function(){} | tst.js:27:2:27:13 | function(){} | +| tst.js:28:2:28:13 | function(){} | tst.js:28:2:28:13 | function(){} | +| tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | +| tst.js:33:4:33:9 | this.g | tst.js:35:6:35:18 | function() {} | +| tst.js:35:6:35:18 | function() {} | tst.js:35:6:35:18 | function() {} | +| tst.js:38:6:38:18 | function() {} | tst.js:38:6:38:18 | function() {} | +| tst.js:39:6:39:6 | g | tst.js:2:9:2:21 | function() {} | +| tst.js:41:1:41:3 | o.f | tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | +| tst.js:42:1:42:32 | (functi ... }(o)).f | tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | +| tst.js:42:2:42:26 | functio ... rn x; } | tst.js:42:2:42:26 | functio ... rn x; } | +| tst.js:44:1:44:15 | function A() {} | tst.js:44:1:44:15 | function A() {} | +| tst.js:45:1:45:1 | A | tst.js:44:1:44:15 | function A() {} | +| tst.js:45:1:47:1 | A.proto ... .g();\\n} | tst.js:45:17:47:1 | functio ... .g();\\n} | +| tst.js:45:17:47:1 | functio ... .g();\\n} | tst.js:45:17:47:1 | functio ... .g();\\n} | +| tst.js:46:2:46:7 | this.g | tst.js:48:17:48:29 | function() {} | +| tst.js:46:2:46:7 | this.g | tst.js:61:17:61:29 | function() {} | +| tst.js:48:1:48:1 | A | tst.js:44:1:44:15 | function A() {} | +| tst.js:48:1:48:29 | A.proto ... on() {} | tst.js:48:17:48:29 | function() {} | +| tst.js:48:17:48:29 | function() {} | tst.js:48:17:48:29 | function() {} | +| tst.js:50:1:50:15 | function B() {} | tst.js:50:1:50:15 | function B() {} | +| tst.js:51:1:51:1 | B | tst.js:50:1:50:15 | function B() {} | +| tst.js:52:5:54:2 | functio ... g();\\n\\t} | tst.js:52:5:54:2 | functio ... g();\\n\\t} | +| tst.js:53:3:53:8 | this.g | tst.js:56:39:56:51 | function() {} | +| tst.js:53:3:53:8 | this.g | tst.js:57:39:57:51 | function() {} | +| tst.js:56:1:56:1 | B | tst.js:50:1:50:15 | function B() {} | +| tst.js:56:1:57:51 | B.proto ... on() {} | tst.js:56:39:56:51 | function() {} | +| tst.js:56:1:57:51 | B.proto ... on() {} | tst.js:57:39:57:51 | function() {} | +| tst.js:56:17:57:51 | Math.ra ... on() {} | tst.js:56:39:56:51 | function() {} | +| tst.js:56:17:57:51 | Math.ra ... on() {} | tst.js:57:39:57:51 | function() {} | +| tst.js:56:39:56:51 | function() {} | tst.js:56:39:56:51 | function() {} | +| tst.js:57:39:57:51 | function() {} | tst.js:57:39:57:51 | function() {} | +| tst.js:59:1:59:15 | function C() {} | tst.js:59:1:59:15 | function C() {} | +| tst.js:60:1:60:1 | C | tst.js:59:1:59:15 | function C() {} | +| tst.js:60:19:60:19 | A | tst.js:44:1:44:15 | function A() {} | +| tst.js:61:1:61:1 | C | tst.js:59:1:59:15 | function C() {} | +| tst.js:61:1:61:29 | C.proto ... on() {} | tst.js:61:17:61:29 | function() {} | +| tst.js:61:17:61:29 | function() {} | tst.js:61:17:61:29 | function() {} | +| tst.js:63:1:67:2 | (functi ... f();\\n}) | tst.js:63:2:67:1 | functio ... .f();\\n} | +| tst.js:63:2:67:1 | functio ... .f();\\n} | tst.js:63:2:67:1 | functio ... .f();\\n} | +| tst.js:64:17:64:17 | B | tst.js:50:1:50:15 | function B() {} | +| tst.js:65:5:65:23 | b.f = function() {} | tst.js:65:11:65:23 | function() {} | +| tst.js:65:11:65:23 | function() {} | tst.js:65:11:65:23 | function() {} | +| tst.js:66:5:66:7 | b.f | tst.js:65:11:65:23 | function() {} | +| tst.js:69:1:69:8 | globalfn | tst3.js:1:1:1:22 | functio ... fn() {} | +| tst.js:70:1:70:9 | globalfn2 | tst3.js:2:1:2:23 | functio ... n2() {} | +test_getArgument +| classes.js:4:7:4:26 | console.log("Hello") | 0 | classes.js:4:19:4:25 | "Hello" | +| classes.js:14:7:14:27 | console ... ello!") | 0 | classes.js:14:19:14:26 | "Hello!" | +| es2015.js:3:5:3:21 | console.log("hi") | 0 | es2015.js:3:17:3:20 | "hi" | +| es2015.js:27:5:27:23 | console.log(this.x) | 0 | es2015.js:27:17:27:22 | this.x | +| es2015.js:35:1:35:17 | sum(1, ...[2, 3]) | 0 | es2015.js:35:5:35:5 | 1 | +| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | 0 | es2015.js:36:5:36:5 | 1 | +| n.js:1:9:1:22 | require('./m') | 0 | n.js:1:17:1:21 | './m' | +| n.js:4:10:4:24 | require('./m2') | 0 | n.js:4:18:4:23 | './m2' | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | 0 | reflection.js:7:10:7:13 | null | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | 1 | reflection.js:7:16:7:17 | 23 | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | 2 | reflection.js:7:20:7:21 | 19 | +| reflection.js:7:1:7:22 | reflective call | 0 | reflection.js:7:16:7:17 | 23 | +| reflection.js:7:1:7:22 | reflective call | 1 | reflection.js:7:20:7:21 | 19 | +| reflection.js:8:1:8:25 | add.app ... 3, 19]) | 0 | reflection.js:8:11:8:14 | null | +| reflection.js:8:1:8:25 | add.app ... 3, 19]) | 1 | reflection.js:8:17:8:24 | [23, 19] | +| tst.js:22:1:22:4 | l(k) | 0 | tst.js:22:3:22:3 | k | +| tst.js:42:2:42:29 | functio ... x; }(o) | 0 | tst.js:42:28:42:28 | o | +test_getNumArgument +| a.js:2:1:2:5 | foo() | 0 | +| a.js:3:1:3:5 | bar() | 0 | +| a.js:4:1:4:5 | qux() | 0 | +| a.js:7:1:7:5 | baz() | 0 | +| classes.js:4:7:4:26 | console.log("Hello") | 1 | +| classes.js:8:7:8:18 | this.hello() | 0 | +| classes.js:14:7:14:27 | console ... ello!") | 1 | +| classes.js:18:3:18:9 | new B() | 0 | +| classes.js:18:3:18:17 | new B().hello() | 0 | +| es2015.js:3:5:3:21 | console.log("hi") | 1 | +| es2015.js:6:1:6:18 | new ExampleClass() | 0 | +| es2015.js:10:5:10:22 | arguments.callee() | 0 | +| es2015.js:16:5:16:11 | super() | 0 | +| es2015.js:26:5:26:11 | super() | 0 | +| es2015.js:27:5:27:23 | console.log(this.x) | 1 | +| m.js:2:1:2:11 | exports.f() | 0 | +| m.js:3:1:3:18 | module.exports.f() | 0 | +| n.js:1:9:1:22 | require('./m') | 1 | +| n.js:2:1:2:5 | m.f() | 0 | +| n.js:4:10:4:24 | require('./m2') | 1 | +| n.js:5:1:5:6 | m2.f() | 0 | +| reflection.js:4:5:4:12 | sneaky() | 0 | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | 3 | +| reflection.js:7:1:7:22 | reflective call | 2 | +| reflection.js:8:1:8:25 | add.app ... 3, 19]) | 2 | +| tst.js:6:1:6:3 | f() | 0 | +| tst.js:7:1:7:3 | g() | 0 | +| tst.js:8:1:8:3 | h() | 0 | +| tst.js:9:1:9:3 | k() | 0 | +| tst.js:14:2:14:4 | m() | 0 | +| tst.js:15:2:15:4 | l() | 0 | +| tst.js:16:2:16:19 | arguments.callee() | 0 | +| tst.js:17:2:17:4 | n() | 0 | +| tst.js:18:2:18:4 | p() | 0 | +| tst.js:19:2:19:4 | f() | 0 | +| tst.js:22:1:22:4 | l(k) | 1 | +| tst.js:24:1:24:7 | new f() | 0 | +| tst.js:25:1:25:5 | new g | 0 | +| tst.js:27:1:27:16 | (function(){})() | 0 | +| tst.js:28:2:28:15 | function(){}() | 0 | +| tst.js:33:4:33:11 | this.g() | 0 | +| tst.js:41:1:41:5 | o.f() | 0 | +| tst.js:42:1:42:34 | (functi ... o)).f() | 0 | +| tst.js:42:2:42:29 | functio ... x; }(o) | 1 | +| tst.js:46:2:46:9 | this.g() | 0 | +| tst.js:53:3:53:10 | this.g() | 0 | +| tst.js:56:17:56:29 | Math.random() | 0 | +| tst.js:60:15:60:21 | new A() | 0 | +| tst.js:64:13:64:19 | new B() | 0 | +| tst.js:66:5:66:9 | b.f() | 0 | +| tst.js:69:1:69:10 | globalfn() | 0 | +| tst.js:70:1:70:11 | globalfn2() | 0 | +test_isIncomplete +| a.js:7:1:7:5 | baz() | +| classes.js:4:7:4:26 | console.log("Hello") | +| classes.js:8:7:8:18 | this.hello() | +| classes.js:14:7:14:27 | console ... ello!") | +| classes.js:18:3:18:17 | new B().hello() | +| es2015.js:3:5:3:21 | console.log("hi") | +| es2015.js:27:5:27:23 | console.log(this.x) | +| m.js:2:1:2:11 | exports.f() | +| m.js:3:1:3:18 | module.exports.f() | +| n.js:1:9:1:22 | require('./m') | +| n.js:2:1:2:5 | m.f() | +| n.js:4:10:4:24 | require('./m2') | +| n.js:5:1:5:6 | m2.f() | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | +| reflection.js:8:1:8:25 | add.app ... 3, 19]) | +| tst.js:6:1:6:3 | f() | +| tst.js:7:1:7:3 | g() | +| tst.js:9:1:9:3 | k() | +| tst.js:14:2:14:4 | m() | +| tst.js:17:2:17:4 | n() | +| tst.js:19:2:19:4 | f() | +| tst.js:24:1:24:7 | new f() | +| tst.js:25:1:25:5 | new g | +| tst.js:33:4:33:11 | this.g() | +| tst.js:41:1:41:5 | o.f() | +| tst.js:42:1:42:34 | (functi ... o)).f() | +| tst.js:46:2:46:9 | this.g() | +| tst.js:53:3:53:10 | this.g() | +| tst.js:56:17:56:29 | Math.random() | +| tst.js:66:5:66:9 | b.f() | +test_getCalleeNode +| a.js:2:1:2:5 | foo() | a.js:2:1:2:3 | foo | +| a.js:3:1:3:5 | bar() | a.js:3:1:3:3 | bar | +| a.js:4:1:4:5 | qux() | a.js:4:1:4:3 | qux | +| a.js:7:1:7:5 | baz() | a.js:7:1:7:3 | baz | +| classes.js:4:7:4:26 | console.log("Hello") | classes.js:4:7:4:17 | console.log | +| classes.js:8:7:8:18 | this.hello() | classes.js:8:7:8:16 | this.hello | +| classes.js:12:21:12:20 | super(...args) | classes.js:12:21:12:20 | super | +| classes.js:14:7:14:27 | console ... ello!") | classes.js:14:7:14:17 | console.log | +| classes.js:18:3:18:9 | new B() | classes.js:18:7:18:7 | B | +| classes.js:18:3:18:17 | new B().hello() | classes.js:18:3:18:15 | new B().hello | +| es2015.js:3:5:3:21 | console.log("hi") | es2015.js:3:5:3:15 | console.log | +| es2015.js:6:1:6:18 | new ExampleClass() | es2015.js:6:5:6:16 | ExampleClass | +| es2015.js:10:5:10:22 | arguments.callee() | es2015.js:10:5:10:20 | arguments.callee | +| es2015.js:16:5:16:11 | super() | es2015.js:16:5:16:9 | super | +| es2015.js:26:5:26:11 | super() | es2015.js:26:5:26:9 | super | +| es2015.js:27:5:27:23 | console.log(this.x) | es2015.js:27:5:27:15 | console.log | +| es2015.js:34:1:34:17 | sum(...[1, 2, 3]) | es2015.js:34:1:34:3 | sum | +| es2015.js:35:1:35:17 | sum(1, ...[2, 3]) | es2015.js:35:1:35:3 | sum | +| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | es2015.js:36:1:36:3 | sum | +| m.js:2:1:2:11 | exports.f() | m.js:2:1:2:9 | exports.f | +| m.js:3:1:3:18 | module.exports.f() | m.js:3:1:3:16 | module.exports.f | +| n.js:1:9:1:22 | require('./m') | n.js:1:9:1:15 | require | +| n.js:2:1:2:5 | m.f() | n.js:2:1:2:3 | m.f | +| n.js:4:10:4:24 | require('./m2') | n.js:4:10:4:16 | require | +| n.js:5:1:5:6 | m2.f() | n.js:5:1:5:4 | m2.f | +| reflection.js:4:5:4:12 | sneaky() | reflection.js:4:5:4:10 | sneaky | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | reflection.js:7:1:7:8 | add.call | +| reflection.js:7:1:7:22 | reflective call | reflection.js:7:1:7:3 | add | +| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:8:1:8:9 | add.apply | +| reflection.js:8:1:8:25 | reflective call | reflection.js:8:1:8:3 | add | +| tst.js:6:1:6:3 | f() | tst.js:6:1:6:1 | f | +| tst.js:7:1:7:3 | g() | tst.js:7:1:7:1 | g | +| tst.js:8:1:8:3 | h() | tst.js:8:1:8:1 | h | +| tst.js:9:1:9:3 | k() | tst.js:9:1:9:1 | k | +| tst.js:14:2:14:4 | m() | tst.js:14:2:14:2 | m | +| tst.js:15:2:15:4 | l() | tst.js:15:2:15:2 | l | +| tst.js:16:2:16:19 | arguments.callee() | tst.js:16:2:16:17 | arguments.callee | +| tst.js:17:2:17:4 | n() | tst.js:17:2:17:2 | n | +| tst.js:18:2:18:4 | p() | tst.js:18:2:18:2 | p | +| tst.js:19:2:19:4 | f() | tst.js:19:2:19:2 | f | +| tst.js:22:1:22:4 | l(k) | tst.js:22:1:22:1 | l | +| tst.js:24:1:24:7 | new f() | tst.js:24:5:24:5 | f | +| tst.js:25:1:25:5 | new g | tst.js:25:5:25:5 | g | +| tst.js:27:1:27:16 | (function(){})() | tst.js:27:1:27:14 | (function(){}) | +| tst.js:28:2:28:15 | function(){}() | tst.js:28:2:28:13 | function(){} | +| tst.js:33:4:33:11 | this.g() | tst.js:33:4:33:9 | this.g | +| tst.js:41:1:41:5 | o.f() | tst.js:41:1:41:3 | o.f | +| tst.js:42:1:42:34 | (functi ... o)).f() | tst.js:42:1:42:32 | (functi ... }(o)).f | +| tst.js:42:2:42:29 | functio ... x; }(o) | tst.js:42:2:42:26 | functio ... rn x; } | +| tst.js:46:2:46:9 | this.g() | tst.js:46:2:46:7 | this.g | +| tst.js:53:3:53:10 | this.g() | tst.js:53:3:53:8 | this.g | +| tst.js:56:17:56:29 | Math.random() | tst.js:56:17:56:27 | Math.random | +| tst.js:60:15:60:21 | new A() | tst.js:60:19:60:19 | A | +| tst.js:64:13:64:19 | new B() | tst.js:64:17:64:17 | B | +| tst.js:66:5:66:9 | b.f() | tst.js:66:5:66:7 | b.f | +| tst.js:69:1:69:10 | globalfn() | tst.js:69:1:69:8 | globalfn | +| tst.js:70:1:70:11 | globalfn2() | tst.js:70:1:70:9 | globalfn2 | +test_getLastArgument +| classes.js:4:7:4:26 | console.log("Hello") | classes.js:4:19:4:25 | "Hello" | +| classes.js:14:7:14:27 | console ... ello!") | classes.js:14:19:14:26 | "Hello!" | +| es2015.js:3:5:3:21 | console.log("hi") | es2015.js:3:17:3:20 | "hi" | +| es2015.js:27:5:27:23 | console.log(this.x) | es2015.js:27:17:27:22 | this.x | +| n.js:1:9:1:22 | require('./m') | n.js:1:17:1:21 | './m' | +| n.js:4:10:4:24 | require('./m2') | n.js:4:18:4:23 | './m2' | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | reflection.js:7:20:7:21 | 19 | +| reflection.js:7:1:7:22 | reflective call | reflection.js:7:20:7:21 | 19 | +| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:8:17:8:24 | [23, 19] | +| tst.js:22:1:22:4 | l(k) | tst.js:22:3:22:3 | k | +| tst.js:42:2:42:29 | functio ... x; }(o) | tst.js:42:28:42:28 | o | +test_getAnArgument +| classes.js:4:7:4:26 | console.log("Hello") | classes.js:4:19:4:25 | "Hello" | +| classes.js:14:7:14:27 | console ... ello!") | classes.js:14:19:14:26 | "Hello!" | +| es2015.js:3:5:3:21 | console.log("hi") | es2015.js:3:17:3:20 | "hi" | +| es2015.js:27:5:27:23 | console.log(this.x) | es2015.js:27:17:27:22 | this.x | +| es2015.js:35:1:35:17 | sum(1, ...[2, 3]) | es2015.js:35:5:35:5 | 1 | +| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | es2015.js:36:5:36:5 | 1 | +| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | es2015.js:36:16:36:16 | 3 | +| n.js:1:9:1:22 | require('./m') | n.js:1:17:1:21 | './m' | +| n.js:4:10:4:24 | require('./m2') | n.js:4:18:4:23 | './m2' | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | reflection.js:7:10:7:13 | null | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | reflection.js:7:16:7:17 | 23 | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | reflection.js:7:20:7:21 | 19 | +| reflection.js:7:1:7:22 | reflective call | reflection.js:7:16:7:17 | 23 | +| reflection.js:7:1:7:22 | reflective call | reflection.js:7:20:7:21 | 19 | +| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:8:11:8:14 | null | +| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:8:17:8:24 | [23, 19] | +| tst.js:22:1:22:4 | l(k) | tst.js:22:3:22:3 | k | +| tst.js:42:2:42:29 | functio ... x; }(o) | tst.js:42:28:42:28 | o | +test_getACallee +| a.js:2:1:2:5 | foo() | b.js:1:16:1:27 | function(){} | +| a.js:3:1:3:5 | bar() | b.js:2:8:2:24 | function bar() {} | +| a.js:4:1:4:5 | qux() | c.js:2:8:2:24 | function bar() {} | +| classes.js:8:7:8:18 | this.hello() | classes.js:3:10:5:5 | () {\\n ... ;\\n } | +| classes.js:12:21:12:20 | super(...args) | classes.js:2:11:2:10 | () {} | +| classes.js:18:3:18:9 | new B() | classes.js:12:21:12:20 | (...arg ... rgs); } | +| classes.js:18:3:18:17 | new B().hello() | classes.js:13:10:15:5 | () {\\n ... ;\\n } | +| es2015.js:6:1:6:18 | new ExampleClass() | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | +| es2015.js:10:5:10:22 | arguments.callee() | es2015.js:8:2:12:1 | functio ... \\n };\\n} | +| es2015.js:16:5:16:11 | super() | es2015.js:2:14:4:3 | () {\\n ... ");\\n } | +| es2015.js:26:5:26:11 | super() | es2015.js:20:1:22:1 | functio ... = 42;\\n} | +| es2015.js:34:1:34:17 | sum(...[1, 2, 3]) | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | +| es2015.js:35:1:35:17 | sum(1, ...[2, 3]) | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | +| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | es2015.js:31:1:33:1 | functio ... +y+z;\\n} | +| m.js:2:1:2:11 | exports.f() | m.js:1:13:1:25 | function() {} | +| m.js:3:1:3:18 | module.exports.f() | m.js:1:13:1:25 | function() {} | +| n.js:2:1:2:5 | m.f() | m.js:1:13:1:25 | function() {} | +| n.js:5:1:5:6 | m2.f() | m2.js:2:6:2:18 | function() {} | +| reflection.js:7:1:7:22 | reflective call | reflection.js:1:1:3:1 | functio ... x+y;\\n} | +| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:5:15:5:39 | functio ... n 56; } | +| reflection.js:8:1:8:25 | reflective call | reflection.js:1:1:3:1 | functio ... x+y;\\n} | +| tst.js:6:1:6:3 | f() | tst.js:1:1:1:15 | function f() {} | +| tst.js:7:1:7:3 | g() | tst.js:2:9:2:21 | function() {} | +| tst.js:8:1:8:3 | h() | tst.js:3:5:3:17 | function() {} | +| tst.js:9:1:9:3 | k() | tst.js:2:9:2:21 | function() {} | +| tst.js:15:2:15:4 | l() | tst.js:11:1:20:1 | functio ... \\tf();\\n} | +| tst.js:16:2:16:19 | arguments.callee() | tst.js:11:1:20:1 | functio ... \\tf();\\n} | +| tst.js:17:2:17:4 | n() | tst.js:12:15:12:27 | function() {} | +| tst.js:18:2:18:4 | p() | tst.js:13:2:13:16 | function p() {} | +| tst.js:19:2:19:4 | f() | tst.js:1:1:1:15 | function f() {} | +| tst.js:22:1:22:4 | l(k) | tst.js:11:1:20:1 | functio ... \\tf();\\n} | +| tst.js:24:1:24:7 | new f() | tst.js:1:1:1:15 | function f() {} | +| tst.js:25:1:25:5 | new g | tst.js:2:9:2:21 | function() {} | +| tst.js:27:1:27:16 | (function(){})() | tst.js:27:2:27:13 | function(){} | +| tst.js:28:2:28:15 | function(){}() | tst.js:28:2:28:13 | function(){} | +| tst.js:33:4:33:11 | this.g() | tst.js:35:6:35:18 | function() {} | +| tst.js:41:1:41:5 | o.f() | tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | +| tst.js:42:1:42:34 | (functi ... o)).f() | tst.js:32:6:34:3 | functio ... ();\\n\\t\\t} | +| tst.js:42:2:42:29 | functio ... x; }(o) | tst.js:42:2:42:26 | functio ... rn x; } | +| tst.js:46:2:46:9 | this.g() | tst.js:48:17:48:29 | function() {} | +| tst.js:46:2:46:9 | this.g() | tst.js:61:17:61:29 | function() {} | +| tst.js:53:3:53:10 | this.g() | tst.js:56:39:56:51 | function() {} | +| tst.js:53:3:53:10 | this.g() | tst.js:57:39:57:51 | function() {} | +| tst.js:60:15:60:21 | new A() | tst.js:44:1:44:15 | function A() {} | +| tst.js:64:13:64:19 | new B() | tst.js:50:1:50:15 | function B() {} | +| tst.js:66:5:66:9 | b.f() | tst.js:65:11:65:23 | function() {} | +| tst.js:69:1:69:10 | globalfn() | tst3.js:1:1:1:22 | functio ... fn() {} | +| tst.js:70:1:70:11 | globalfn2() | tst3.js:2:1:2:23 | functio ... n2() {} | +test_getCalleeName +| a.js:2:1:2:5 | foo() | foo | +| a.js:3:1:3:5 | bar() | bar | +| a.js:4:1:4:5 | qux() | qux | +| a.js:7:1:7:5 | baz() | baz | +| classes.js:4:7:4:26 | console.log("Hello") | log | +| classes.js:8:7:8:18 | this.hello() | hello | +| classes.js:14:7:14:27 | console ... ello!") | log | +| classes.js:18:3:18:9 | new B() | B | +| classes.js:18:3:18:17 | new B().hello() | hello | +| es2015.js:3:5:3:21 | console.log("hi") | log | +| es2015.js:6:1:6:18 | new ExampleClass() | ExampleClass | +| es2015.js:10:5:10:22 | arguments.callee() | callee | +| es2015.js:27:5:27:23 | console.log(this.x) | log | +| es2015.js:34:1:34:17 | sum(...[1, 2, 3]) | sum | +| es2015.js:35:1:35:17 | sum(1, ...[2, 3]) | sum | +| es2015.js:36:1:36:17 | sum(1, ...[2], 3) | sum | +| m.js:2:1:2:11 | exports.f() | f | +| m.js:3:1:3:18 | module.exports.f() | f | +| n.js:1:9:1:22 | require('./m') | require | +| n.js:2:1:2:5 | m.f() | f | +| n.js:4:10:4:24 | require('./m2') | require | +| n.js:5:1:5:6 | m2.f() | f | +| reflection.js:4:5:4:12 | sneaky() | sneaky | +| reflection.js:7:1:7:22 | add.cal ... 23, 19) | call | +| reflection.js:8:1:8:25 | add.app ... 3, 19]) | apply | +| tst.js:6:1:6:3 | f() | f | +| tst.js:7:1:7:3 | g() | g | +| tst.js:8:1:8:3 | h() | h | +| tst.js:9:1:9:3 | k() | k | +| tst.js:14:2:14:4 | m() | m | +| tst.js:15:2:15:4 | l() | l | +| tst.js:16:2:16:19 | arguments.callee() | callee | +| tst.js:17:2:17:4 | n() | n | +| tst.js:18:2:18:4 | p() | p | +| tst.js:19:2:19:4 | f() | f | +| tst.js:22:1:22:4 | l(k) | l | +| tst.js:24:1:24:7 | new f() | f | +| tst.js:25:1:25:5 | new g | g | +| tst.js:33:4:33:11 | this.g() | g | +| tst.js:41:1:41:5 | o.f() | f | +| tst.js:42:1:42:34 | (functi ... o)).f() | f | +| tst.js:46:2:46:9 | this.g() | g | +| tst.js:53:3:53:10 | this.g() | g | +| tst.js:56:17:56:29 | Math.random() | random | +| tst.js:60:15:60:21 | new A() | A | +| tst.js:64:13:64:19 | new B() | B | +| tst.js:66:5:66:9 | b.f() | f | +| tst.js:69:1:69:10 | globalfn() | globalfn | +| tst.js:70:1:70:11 | globalfn2() | globalfn2 | +test_isImprecise +| tst.js:69:1:69:10 | globalfn() | diff --git a/javascript/ql/test/library-tests/CallGraphs/tests.ql b/javascript/ql/test/library-tests/CallGraphs/tests.ql new file mode 100644 index 000000000000..38e42300a10c --- /dev/null +++ b/javascript/ql/test/library-tests/CallGraphs/tests.ql @@ -0,0 +1,11 @@ +import isUncertain +import getAFunctionValue +import getArgument +import getNumArgument +import isIncomplete +import getCalleeNode +import getLastArgument +import getAnArgument +import getACallee +import getCalleeName +import isImprecise diff --git a/javascript/ql/test/library-tests/Classes/AccessorMethods.expected b/javascript/ql/test/library-tests/Classes/AccessorMethods.expected deleted file mode 100644 index 79c67d31ac5c..000000000000 --- a/javascript/ql/test/library-tests/Classes/AccessorMethods.expected +++ /dev/null @@ -1 +0,0 @@ -| points.js:7:3:9:3 | get dis ... y);\\n } | diff --git a/javascript/ql/test/library-tests/Classes/AccessorMethods.ql b/javascript/ql/test/library-tests/Classes/AccessorMethods.ql deleted file mode 100644 index 2e68ed4e1314..000000000000 --- a/javascript/ql/test/library-tests/Classes/AccessorMethods.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from AccessorMethodDefinition amd -select amd diff --git a/javascript/ql/test/library-tests/Classes/AccessorMethods.qll b/javascript/ql/test/library-tests/Classes/AccessorMethods.qll new file mode 100644 index 000000000000..32dca6cabc8d --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/AccessorMethods.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_AccessorMethods(AccessorMethodDefinition amd) { any() } diff --git a/javascript/ql/test/library-tests/Classes/ClassDefinition_getName.expected b/javascript/ql/test/library-tests/Classes/ClassDefinition_getName.expected deleted file mode 100644 index 2e14daf32343..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassDefinition_getName.expected +++ /dev/null @@ -1,6 +0,0 @@ -| fields.js:1:1:4:1 | class C ... = 42\\n} | C | -| points.js:1:1:18:1 | class P ... ;\\n }\\n} | Point | -| points.js:20:1:33:1 | class C ... ;\\n }\\n} | ColouredPoint | -| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | MyClass | -| tst.js:6:1:8:1 | class B ... t); }\\n} | B | -| tst.js:11:1:14:1 | class C ... () {}\\n} | C | diff --git a/javascript/ql/test/library-tests/Classes/ClassDefinition_getName.ql b/javascript/ql/test/library-tests/Classes/ClassDefinition_getName.ql deleted file mode 100644 index 11e4c8d64c99..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassDefinition_getName.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from ClassDefinition cd -select cd, cd.getName() diff --git a/javascript/ql/test/library-tests/Classes/ClassDefinition_getName.qll b/javascript/ql/test/library-tests/Classes/ClassDefinition_getName.qll new file mode 100644 index 000000000000..0eb8bec773c5 --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/ClassDefinition_getName.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_ClassDefinition_getName(ClassDefinition cd, string res) { res = cd.getName() } diff --git a/javascript/ql/test/library-tests/Classes/ClassDefinition_getSuperClass.expected b/javascript/ql/test/library-tests/Classes/ClassDefinition_getSuperClass.expected deleted file mode 100644 index 2a908e6dbf02..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassDefinition_getSuperClass.expected +++ /dev/null @@ -1,2 +0,0 @@ -| points.js:20:1:33:1 | class C ... ;\\n }\\n} | points.js:20:29:20:33 | Point | -| tst.js:6:1:8:1 | class B ... t); }\\n} | tst.js:6:17:6:17 | A | diff --git a/javascript/ql/test/library-tests/Classes/ClassDefinition_getSuperClass.ql b/javascript/ql/test/library-tests/Classes/ClassDefinition_getSuperClass.ql deleted file mode 100644 index b5f854597b85..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassDefinition_getSuperClass.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from ClassDefinition cd -select cd, cd.getSuperClass() diff --git a/javascript/ql/test/library-tests/Classes/ClassDefinition_getSuperClass.qll b/javascript/ql/test/library-tests/Classes/ClassDefinition_getSuperClass.qll new file mode 100644 index 000000000000..30bf54a496af --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/ClassDefinition_getSuperClass.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_ClassDefinition_getSuperClass(ClassDefinition cd, Expr res) { + res = cd.getSuperClass() +} diff --git a/javascript/ql/test/library-tests/Classes/ClassDefinitions.expected b/javascript/ql/test/library-tests/Classes/ClassDefinitions.expected deleted file mode 100644 index bae7f8ec8da8..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassDefinitions.expected +++ /dev/null @@ -1,7 +0,0 @@ -| fields.js:1:1:4:1 | class C ... = 42\\n} | -| points.js:1:1:18:1 | class P ... ;\\n }\\n} | -| points.js:20:1:33:1 | class C ... ;\\n }\\n} | -| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | -| tst.js:1:9:4:1 | class { ... */ }\\n} | -| tst.js:6:1:8:1 | class B ... t); }\\n} | -| tst.js:11:1:14:1 | class C ... () {}\\n} | diff --git a/javascript/ql/test/library-tests/Classes/ClassDefinitions.ql b/javascript/ql/test/library-tests/Classes/ClassDefinitions.ql deleted file mode 100644 index c405a0bd048d..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassDefinitions.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from ClassDefinition cd -select cd diff --git a/javascript/ql/test/library-tests/Classes/ClassDefinitions.qll b/javascript/ql/test/library-tests/Classes/ClassDefinitions.qll new file mode 100644 index 000000000000..94150fd65a1e --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/ClassDefinitions.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_ClassDefinitions(ClassDefinition cd) { any() } diff --git a/javascript/ql/test/library-tests/Classes/ClassNodeConstructor.expected b/javascript/ql/test/library-tests/Classes/ClassNodeConstructor.expected deleted file mode 100644 index d850dfce0f1c..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassNodeConstructor.expected +++ /dev/null @@ -1,7 +0,0 @@ -| fields.js:1:1:4:1 | class C ... = 42\\n} | fields.js:1:9:1:8 | () {} | -| points.js:1:1:18:1 | class P ... ;\\n }\\n} | points.js:2:14:5:3 | (x, y) ... y;\\n } | -| points.js:20:1:33:1 | class C ... ;\\n }\\n} | points.js:21:14:24:3 | (x, y, ... c;\\n } | -| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | staticConstructor.js:1:15:1:14 | () {} | -| tst.js:1:9:4:1 | class { ... */ }\\n} | tst.js:2:16:2:50 | () { /* ... r. */ } | -| tst.js:6:1:8:1 | class B ... t); }\\n} | tst.js:7:14:7:38 | () { su ... get); } | -| tst.js:11:1:14:1 | class C ... () {}\\n} | tst.js:11:9:11:8 | () {} | diff --git a/javascript/ql/test/library-tests/Classes/ClassNodeConstructor.ql b/javascript/ql/test/library-tests/Classes/ClassNodeConstructor.ql deleted file mode 100644 index cba12e5f3daf..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassNodeConstructor.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DataFlow::ClassNode class_ -select class_, class_.getConstructor() diff --git a/javascript/ql/test/library-tests/Classes/ClassNodeConstructor.qll b/javascript/ql/test/library-tests/Classes/ClassNodeConstructor.qll new file mode 100644 index 000000000000..da1abf434c93 --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/ClassNodeConstructor.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_ClassNodeConstructor(DataFlow::ClassNode class_, DataFlow::FunctionNode res) { + res = class_.getConstructor() +} diff --git a/javascript/ql/test/library-tests/Classes/ClassNodeInstanceMethod.expected b/javascript/ql/test/library-tests/Classes/ClassNodeInstanceMethod.expected deleted file mode 100644 index aa6a3a2e3cf1..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassNodeInstanceMethod.expected +++ /dev/null @@ -1,4 +0,0 @@ -| points.js:1:1:18:1 | class P ... ;\\n }\\n} | toString | points.js:11:11:13:3 | () {\\n ... )";\\n } | -| points.js:20:1:33:1 | class C ... ;\\n }\\n} | toString | points.js:26:11:28:3 | () {\\n ... ur;\\n } | -| tst.js:1:9:4:1 | class { ... */ }\\n} | constructor | tst.js:3:18:3:56 | () { /* ... r. */ } | -| tst.js:11:1:14:1 | class C ... () {}\\n} | m | tst.js:12:4:12:8 | () {} | diff --git a/javascript/ql/test/library-tests/Classes/ClassNodeInstanceMethod.ql b/javascript/ql/test/library-tests/Classes/ClassNodeInstanceMethod.ql deleted file mode 100644 index dd64123052cc..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassNodeInstanceMethod.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DataFlow::ClassNode class_, string name -select class_, name, class_.getInstanceMethod(name) diff --git a/javascript/ql/test/library-tests/Classes/ClassNodeInstanceMethod.qll b/javascript/ql/test/library-tests/Classes/ClassNodeInstanceMethod.qll new file mode 100644 index 000000000000..a631a7b11682 --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/ClassNodeInstanceMethod.qll @@ -0,0 +1,7 @@ +import javascript + +query predicate test_ClassNodeInstanceMethod( + DataFlow::ClassNode class_, string name, DataFlow::FunctionNode res +) { + res = class_.getInstanceMethod(name) +} diff --git a/javascript/ql/test/library-tests/Classes/ClassNodeStaticMethod.expected b/javascript/ql/test/library-tests/Classes/ClassNodeStaticMethod.expected deleted file mode 100644 index b2e46468dce6..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassNodeStaticMethod.expected +++ /dev/null @@ -1,3 +0,0 @@ -| points.js:1:1:18:1 | class P ... ;\\n }\\n} | className | points.js:15:19:17:3 | () {\\n ... t";\\n } | -| points.js:20:1:33:1 | class C ... ;\\n }\\n} | className | points.js:30:19:32:3 | () {\\n ... t";\\n } | -| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | constructor | staticConstructor.js:2:21:2:59 | () { re ... tor"; } | diff --git a/javascript/ql/test/library-tests/Classes/ClassNodeStaticMethod.ql b/javascript/ql/test/library-tests/Classes/ClassNodeStaticMethod.ql deleted file mode 100644 index f3b63ba69ea6..000000000000 --- a/javascript/ql/test/library-tests/Classes/ClassNodeStaticMethod.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DataFlow::ClassNode class_, string name -select class_, name, class_.getStaticMethod(name) diff --git a/javascript/ql/test/library-tests/Classes/ClassNodeStaticMethod.qll b/javascript/ql/test/library-tests/Classes/ClassNodeStaticMethod.qll new file mode 100644 index 000000000000..d2070cbd2cfd --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/ClassNodeStaticMethod.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_ClassNodeStaticMethod(DataFlow::ClassNode class_, string name, DataFlow::FunctionNode res) { + res = class_.getStaticMethod(name) +} diff --git a/javascript/ql/test/library-tests/Classes/ComputedMethods.expected b/javascript/ql/test/library-tests/Classes/ComputedMethods.expected deleted file mode 100644 index 398d02977907..000000000000 --- a/javascript/ql/test/library-tests/Classes/ComputedMethods.expected +++ /dev/null @@ -1,2 +0,0 @@ -| tst.js:3:3:3:56 | ["const ... r. */ } | -| tst.js:13:3:13:10 | [m]() {} | diff --git a/javascript/ql/test/library-tests/Classes/ComputedMethods.ql b/javascript/ql/test/library-tests/Classes/ComputedMethods.ql deleted file mode 100644 index 56a029654f88..000000000000 --- a/javascript/ql/test/library-tests/Classes/ComputedMethods.ql +++ /dev/null @@ -1,5 +0,0 @@ -import javascript - -from MethodDefinition md -where md.isComputed() -select md diff --git a/javascript/ql/test/library-tests/Classes/ComputedMethods.qll b/javascript/ql/test/library-tests/Classes/ComputedMethods.qll new file mode 100644 index 000000000000..190879037660 --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/ComputedMethods.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_ComputedMethods(MethodDefinition md) { md.isComputed() } diff --git a/javascript/ql/test/library-tests/Classes/ConstructorDefinitions.expected b/javascript/ql/test/library-tests/Classes/ConstructorDefinitions.expected deleted file mode 100644 index 46285fc0a03e..000000000000 --- a/javascript/ql/test/library-tests/Classes/ConstructorDefinitions.expected +++ /dev/null @@ -1,7 +0,0 @@ -| fields.js:1:9:1:8 | constructor() {} | -| points.js:2:3:5:3 | constru ... y;\\n } | -| points.js:21:3:24:3 | constru ... c;\\n } | -| staticConstructor.js:1:15:1:14 | constructor() {} | -| tst.js:2:3:2:50 | "constr ... r. */ } | -| tst.js:7:3:7:38 | constru ... get); } | -| tst.js:11:9:11:8 | constructor() {} | diff --git a/javascript/ql/test/library-tests/Classes/ConstructorDefinitions.ql b/javascript/ql/test/library-tests/Classes/ConstructorDefinitions.ql deleted file mode 100644 index 5dd6eb38f388..000000000000 --- a/javascript/ql/test/library-tests/Classes/ConstructorDefinitions.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from ConstructorDefinition cd -select cd diff --git a/javascript/ql/test/library-tests/Classes/ConstructorDefinitions.qll b/javascript/ql/test/library-tests/Classes/ConstructorDefinitions.qll new file mode 100644 index 000000000000..e4478cee98e2 --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/ConstructorDefinitions.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_ConstructorDefinitions(ConstructorDefinition cd) { any() } diff --git a/javascript/ql/test/library-tests/Classes/FieldInits.expected b/javascript/ql/test/library-tests/Classes/FieldInits.expected deleted file mode 100644 index a74056b9ef21..000000000000 --- a/javascript/ql/test/library-tests/Classes/FieldInits.expected +++ /dev/null @@ -1 +0,0 @@ -| fields.js:3:3:3:8 | y = 42 | fields.js:3:7:3:8 | 42 | diff --git a/javascript/ql/test/library-tests/Classes/FieldInits.ql b/javascript/ql/test/library-tests/Classes/FieldInits.ql deleted file mode 100644 index 3c37505ffc75..000000000000 --- a/javascript/ql/test/library-tests/Classes/FieldInits.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from FieldDefinition field -select field, field.getInit() diff --git a/javascript/ql/test/library-tests/Classes/FieldInits.qll b/javascript/ql/test/library-tests/Classes/FieldInits.qll new file mode 100644 index 000000000000..5ea976652073 --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/FieldInits.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_FieldInits(FieldDefinition field, Expr res) { res = field.getInit() } diff --git a/javascript/ql/test/library-tests/Classes/Fields.expected b/javascript/ql/test/library-tests/Classes/Fields.expected deleted file mode 100644 index e4e739fe831e..000000000000 --- a/javascript/ql/test/library-tests/Classes/Fields.expected +++ /dev/null @@ -1,2 +0,0 @@ -| fields.js:2:3:2:4 | x; | fields.js:2:3:2:3 | x | -| fields.js:3:3:3:8 | y = 42 | fields.js:3:3:3:3 | y | diff --git a/javascript/ql/test/library-tests/Classes/Fields.ql b/javascript/ql/test/library-tests/Classes/Fields.ql deleted file mode 100644 index c5de2f963c8b..000000000000 --- a/javascript/ql/test/library-tests/Classes/Fields.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from FieldDefinition field -select field, field.getNameExpr() diff --git a/javascript/ql/test/library-tests/Classes/Fields.qll b/javascript/ql/test/library-tests/Classes/Fields.qll new file mode 100644 index 000000000000..fcb73440a49f --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/Fields.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_Fields(FieldDefinition field, Expr res) { res = field.getNameExpr() } diff --git a/javascript/ql/test/library-tests/Classes/MethodDefinitions.expected b/javascript/ql/test/library-tests/Classes/MethodDefinitions.expected deleted file mode 100644 index ab366544b115..000000000000 --- a/javascript/ql/test/library-tests/Classes/MethodDefinitions.expected +++ /dev/null @@ -1,16 +0,0 @@ -| fields.js:1:9:1:8 | constructor() {} | fields.js:1:9:1:8 | constructor | fields.js:1:9:1:8 | () {} | fields.js:1:1:4:1 | class C ... = 42\\n} | -| points.js:2:3:5:3 | constru ... y;\\n } | points.js:2:3:2:13 | constructor | points.js:2:14:5:3 | (x, y) ... y;\\n } | points.js:1:1:18:1 | class P ... ;\\n }\\n} | -| points.js:7:3:9:3 | get dis ... y);\\n } | points.js:7:7:7:10 | dist | points.js:7:11:9:3 | () {\\n ... y);\\n } | points.js:1:1:18:1 | class P ... ;\\n }\\n} | -| points.js:11:3:13:3 | toStrin ... )";\\n } | points.js:11:3:11:10 | toString | points.js:11:11:13:3 | () {\\n ... )";\\n } | points.js:1:1:18:1 | class P ... ;\\n }\\n} | -| points.js:15:3:17:3 | static ... t";\\n } | points.js:15:10:15:18 | className | points.js:15:19:17:3 | () {\\n ... t";\\n } | points.js:1:1:18:1 | class P ... ;\\n }\\n} | -| points.js:21:3:24:3 | constru ... c;\\n } | points.js:21:3:21:13 | constructor | points.js:21:14:24:3 | (x, y, ... c;\\n } | points.js:20:1:33:1 | class C ... ;\\n }\\n} | -| points.js:26:3:28:3 | toStrin ... ur;\\n } | points.js:26:3:26:10 | toString | points.js:26:11:28:3 | () {\\n ... ur;\\n } | points.js:20:1:33:1 | class C ... ;\\n }\\n} | -| points.js:30:3:32:3 | static ... t";\\n } | points.js:30:10:30:18 | className | points.js:30:19:32:3 | () {\\n ... t";\\n } | points.js:20:1:33:1 | class C ... ;\\n }\\n} | -| staticConstructor.js:1:15:1:14 | constructor() {} | staticConstructor.js:1:15:1:14 | constructor | staticConstructor.js:1:15:1:14 | () {} | staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | -| staticConstructor.js:2:3:2:59 | static ... tor"; } | staticConstructor.js:2:10:2:20 | constructor | staticConstructor.js:2:21:2:59 | () { re ... tor"; } | staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | -| tst.js:2:3:2:50 | "constr ... r. */ } | tst.js:2:3:2:15 | "constructor" | tst.js:2:16:2:50 | () { /* ... r. */ } | tst.js:1:9:4:1 | class { ... */ }\\n} | -| tst.js:3:3:3:56 | ["const ... r. */ } | tst.js:3:4:3:16 | "constructor" | tst.js:3:18:3:56 | () { /* ... r. */ } | tst.js:1:9:4:1 | class { ... */ }\\n} | -| tst.js:7:3:7:38 | constru ... get); } | tst.js:7:3:7:13 | constructor | tst.js:7:14:7:38 | () { su ... get); } | tst.js:6:1:8:1 | class B ... t); }\\n} | -| tst.js:11:9:11:8 | constructor() {} | tst.js:11:9:11:8 | constructor | tst.js:11:9:11:8 | () {} | tst.js:11:1:14:1 | class C ... () {}\\n} | -| tst.js:12:3:12:8 | m() {} | tst.js:12:3:12:3 | m | tst.js:12:4:12:8 | () {} | tst.js:11:1:14:1 | class C ... () {}\\n} | -| tst.js:13:3:13:10 | [m]() {} | tst.js:13:4:13:4 | m | tst.js:13:6:13:10 | () {} | tst.js:11:1:14:1 | class C ... () {}\\n} | diff --git a/javascript/ql/test/library-tests/Classes/MethodDefinitions.ql b/javascript/ql/test/library-tests/Classes/MethodDefinitions.ql deleted file mode 100644 index ea2afd6ce555..000000000000 --- a/javascript/ql/test/library-tests/Classes/MethodDefinitions.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from MethodDefinition md -select md, md.getNameExpr(), md.getBody(), md.getDeclaringClass() diff --git a/javascript/ql/test/library-tests/Classes/MethodDefinitions.qll b/javascript/ql/test/library-tests/Classes/MethodDefinitions.qll new file mode 100644 index 000000000000..89a93217160a --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/MethodDefinitions.qll @@ -0,0 +1,7 @@ +import javascript + +query predicate test_MethodDefinitions( + MethodDefinition md, Expr res0, FunctionExpr res1, ClassDefinition res2 +) { + res0 = md.getNameExpr() and res1 = md.getBody() and res2 = md.getDeclaringClass() +} diff --git a/javascript/ql/test/library-tests/Classes/MethodNames.expected b/javascript/ql/test/library-tests/Classes/MethodNames.expected deleted file mode 100644 index fc618c3134bb..000000000000 --- a/javascript/ql/test/library-tests/Classes/MethodNames.expected +++ /dev/null @@ -1,15 +0,0 @@ -| fields.js:1:9:1:8 | constructor() {} | constructor | -| points.js:2:3:5:3 | constru ... y;\\n } | constructor | -| points.js:7:3:9:3 | get dis ... y);\\n } | dist | -| points.js:11:3:13:3 | toStrin ... )";\\n } | toString | -| points.js:15:3:17:3 | static ... t";\\n } | className | -| points.js:21:3:24:3 | constru ... c;\\n } | constructor | -| points.js:26:3:28:3 | toStrin ... ur;\\n } | toString | -| points.js:30:3:32:3 | static ... t";\\n } | className | -| staticConstructor.js:1:15:1:14 | constructor() {} | constructor | -| staticConstructor.js:2:3:2:59 | static ... tor"; } | constructor | -| tst.js:2:3:2:50 | "constr ... r. */ } | constructor | -| tst.js:3:3:3:56 | ["const ... r. */ } | constructor | -| tst.js:7:3:7:38 | constru ... get); } | constructor | -| tst.js:11:9:11:8 | constructor() {} | constructor | -| tst.js:12:3:12:8 | m() {} | m | diff --git a/javascript/ql/test/library-tests/Classes/MethodNames.ql b/javascript/ql/test/library-tests/Classes/MethodNames.ql deleted file mode 100644 index 95838f97c3bf..000000000000 --- a/javascript/ql/test/library-tests/Classes/MethodNames.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from MethodDefinition md -select md, md.getName() diff --git a/javascript/ql/test/library-tests/Classes/MethodNames.qll b/javascript/ql/test/library-tests/Classes/MethodNames.qll new file mode 100644 index 000000000000..d956696ac714 --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/MethodNames.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_MethodNames(MethodDefinition md, string res) { res = md.getName() } diff --git a/javascript/ql/test/library-tests/Classes/NewTargetExpr.expected b/javascript/ql/test/library-tests/Classes/NewTargetExpr.expected deleted file mode 100644 index 42f20d6cb803..000000000000 --- a/javascript/ql/test/library-tests/Classes/NewTargetExpr.expected +++ /dev/null @@ -1 +0,0 @@ -| tst.js:7:25:7:34 | new.target | diff --git a/javascript/ql/test/library-tests/Classes/NewTargetExpr.ql b/javascript/ql/test/library-tests/Classes/NewTargetExpr.ql deleted file mode 100644 index bddb459e7a93..000000000000 --- a/javascript/ql/test/library-tests/Classes/NewTargetExpr.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from NewTargetExpr e -select e diff --git a/javascript/ql/test/library-tests/Classes/NewTargetExpr.qll b/javascript/ql/test/library-tests/Classes/NewTargetExpr.qll new file mode 100644 index 000000000000..ea35cb80d110 --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/NewTargetExpr.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_NewTargetExpr(NewTargetExpr e) { any() } diff --git a/javascript/ql/test/library-tests/Classes/StaticMethods.expected b/javascript/ql/test/library-tests/Classes/StaticMethods.expected deleted file mode 100644 index af0fbaac8cce..000000000000 --- a/javascript/ql/test/library-tests/Classes/StaticMethods.expected +++ /dev/null @@ -1,3 +0,0 @@ -| points.js:15:3:17:3 | static ... t";\\n } | -| points.js:30:3:32:3 | static ... t";\\n } | -| staticConstructor.js:2:3:2:59 | static ... tor"; } | diff --git a/javascript/ql/test/library-tests/Classes/StaticMethods.ql b/javascript/ql/test/library-tests/Classes/StaticMethods.ql deleted file mode 100644 index 460e60bde70c..000000000000 --- a/javascript/ql/test/library-tests/Classes/StaticMethods.ql +++ /dev/null @@ -1,5 +0,0 @@ -import javascript - -from MethodDefinition md -where md.isStatic() -select md diff --git a/javascript/ql/test/library-tests/Classes/StaticMethods.qll b/javascript/ql/test/library-tests/Classes/StaticMethods.qll new file mode 100644 index 000000000000..ba0f01f54d77 --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/StaticMethods.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_StaticMethods(MethodDefinition md) { md.isStatic() } diff --git a/javascript/ql/test/library-tests/Classes/SuperExpr.expected b/javascript/ql/test/library-tests/Classes/SuperExpr.expected deleted file mode 100644 index cd4c05309044..000000000000 --- a/javascript/ql/test/library-tests/Classes/SuperExpr.expected +++ /dev/null @@ -1,3 +0,0 @@ -| points.js:22:5:22:9 | super | -| points.js:27:12:27:16 | super | -| tst.js:7:19:7:23 | super | diff --git a/javascript/ql/test/library-tests/Classes/SuperExpr.ql b/javascript/ql/test/library-tests/Classes/SuperExpr.ql deleted file mode 100644 index 0aa2c48771b8..000000000000 --- a/javascript/ql/test/library-tests/Classes/SuperExpr.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from SuperExpr s -select s diff --git a/javascript/ql/test/library-tests/Classes/SuperExpr.qll b/javascript/ql/test/library-tests/Classes/SuperExpr.qll new file mode 100644 index 000000000000..b5ca8b95073f --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/SuperExpr.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_SuperExpr(SuperExpr s) { any() } diff --git a/javascript/ql/test/library-tests/Classes/SyntheticConstructors.expected b/javascript/ql/test/library-tests/Classes/SyntheticConstructors.expected deleted file mode 100644 index af7eb7515cf3..000000000000 --- a/javascript/ql/test/library-tests/Classes/SyntheticConstructors.expected +++ /dev/null @@ -1,3 +0,0 @@ -| fields.js:1:9:1:8 | constructor() {} | -| staticConstructor.js:1:15:1:14 | constructor() {} | -| tst.js:11:9:11:8 | constructor() {} | diff --git a/javascript/ql/test/library-tests/Classes/SyntheticConstructors.ql b/javascript/ql/test/library-tests/Classes/SyntheticConstructors.ql deleted file mode 100644 index 5f188f861665..000000000000 --- a/javascript/ql/test/library-tests/Classes/SyntheticConstructors.ql +++ /dev/null @@ -1,5 +0,0 @@ -import javascript - -from ConstructorDefinition cd -where cd.isSynthetic() -select cd diff --git a/javascript/ql/test/library-tests/Classes/SyntheticConstructors.qll b/javascript/ql/test/library-tests/Classes/SyntheticConstructors.qll new file mode 100644 index 000000000000..2f379fe8af15 --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/SyntheticConstructors.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_SyntheticConstructors(ConstructorDefinition cd) { cd.isSynthetic() } diff --git a/javascript/ql/test/library-tests/Classes/getAMember.expected b/javascript/ql/test/library-tests/Classes/getAMember.expected deleted file mode 100644 index 24e5ed8f7544..000000000000 --- a/javascript/ql/test/library-tests/Classes/getAMember.expected +++ /dev/null @@ -1,18 +0,0 @@ -| fields.js:1:1:4:1 | class C ... = 42\\n} | fields.js:1:9:1:8 | constructor() {} | -| fields.js:1:1:4:1 | class C ... = 42\\n} | fields.js:2:3:2:4 | x; | -| fields.js:1:1:4:1 | class C ... = 42\\n} | fields.js:3:3:3:8 | y = 42 | -| points.js:1:1:18:1 | class P ... ;\\n }\\n} | points.js:2:3:5:3 | constru ... y;\\n } | -| points.js:1:1:18:1 | class P ... ;\\n }\\n} | points.js:7:3:9:3 | get dis ... y);\\n } | -| points.js:1:1:18:1 | class P ... ;\\n }\\n} | points.js:11:3:13:3 | toStrin ... )";\\n } | -| points.js:1:1:18:1 | class P ... ;\\n }\\n} | points.js:15:3:17:3 | static ... t";\\n } | -| points.js:20:1:33:1 | class C ... ;\\n }\\n} | points.js:21:3:24:3 | constru ... c;\\n } | -| points.js:20:1:33:1 | class C ... ;\\n }\\n} | points.js:26:3:28:3 | toStrin ... ur;\\n } | -| points.js:20:1:33:1 | class C ... ;\\n }\\n} | points.js:30:3:32:3 | static ... t";\\n } | -| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | staticConstructor.js:1:15:1:14 | constructor() {} | -| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | staticConstructor.js:2:3:2:59 | static ... tor"; } | -| tst.js:1:9:4:1 | class { ... */ }\\n} | tst.js:2:3:2:50 | "constr ... r. */ } | -| tst.js:1:9:4:1 | class { ... */ }\\n} | tst.js:3:3:3:56 | ["const ... r. */ } | -| tst.js:6:1:8:1 | class B ... t); }\\n} | tst.js:7:3:7:38 | constru ... get); } | -| tst.js:11:1:14:1 | class C ... () {}\\n} | tst.js:11:9:11:8 | constructor() {} | -| tst.js:11:1:14:1 | class C ... () {}\\n} | tst.js:12:3:12:8 | m() {} | -| tst.js:11:1:14:1 | class C ... () {}\\n} | tst.js:13:3:13:10 | [m]() {} | diff --git a/javascript/ql/test/library-tests/Classes/getAMember.ql b/javascript/ql/test/library-tests/Classes/getAMember.ql deleted file mode 100644 index d291521364ff..000000000000 --- a/javascript/ql/test/library-tests/Classes/getAMember.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from ClassDefinition c -select c, c.getAMember() diff --git a/javascript/ql/test/library-tests/Classes/getAMember.qll b/javascript/ql/test/library-tests/Classes/getAMember.qll new file mode 100644 index 000000000000..0ba3084bcd8d --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/getAMember.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_getAMember(ClassDefinition c, MemberDeclaration res) { res = c.getAMember() } diff --git a/javascript/ql/test/library-tests/Classes/tests.expected b/javascript/ql/test/library-tests/Classes/tests.expected new file mode 100644 index 000000000000..f788c963c1cf --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/tests.expected @@ -0,0 +1,119 @@ +test_FieldInits +| fields.js:3:3:3:8 | y = 42 | fields.js:3:7:3:8 | 42 | +test_ComputedMethods +| tst.js:3:3:3:56 | ["const ... r. */ } | +| tst.js:13:3:13:10 | [m]() {} | +test_StaticMethods +| points.js:15:3:17:3 | static ... t";\\n } | +| points.js:30:3:32:3 | static ... t";\\n } | +| staticConstructor.js:2:3:2:59 | static ... tor"; } | +test_ClassDefinition_getSuperClass +| points.js:20:1:33:1 | class C ... ;\\n }\\n} | points.js:20:29:20:33 | Point | +| tst.js:6:1:8:1 | class B ... t); }\\n} | tst.js:6:17:6:17 | A | +test_ClassNodeStaticMethod +| points.js:1:1:18:1 | class P ... ;\\n }\\n} | className | points.js:15:19:17:3 | () {\\n ... t";\\n } | +| points.js:20:1:33:1 | class C ... ;\\n }\\n} | className | points.js:30:19:32:3 | () {\\n ... t";\\n } | +| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | constructor | staticConstructor.js:2:21:2:59 | () { re ... tor"; } | +test_ClassDefinitions +| fields.js:1:1:4:1 | class C ... = 42\\n} | +| points.js:1:1:18:1 | class P ... ;\\n }\\n} | +| points.js:20:1:33:1 | class C ... ;\\n }\\n} | +| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | +| tst.js:1:9:4:1 | class { ... */ }\\n} | +| tst.js:6:1:8:1 | class B ... t); }\\n} | +| tst.js:11:1:14:1 | class C ... () {}\\n} | +test_AccessorMethods +| points.js:7:3:9:3 | get dis ... y);\\n } | +test_Fields +| fields.js:2:3:2:4 | x; | fields.js:2:3:2:3 | x | +| fields.js:3:3:3:8 | y = 42 | fields.js:3:3:3:3 | y | +test_ClassDefinition_getName +| fields.js:1:1:4:1 | class C ... = 42\\n} | C | +| points.js:1:1:18:1 | class P ... ;\\n }\\n} | Point | +| points.js:20:1:33:1 | class C ... ;\\n }\\n} | ColouredPoint | +| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | MyClass | +| tst.js:6:1:8:1 | class B ... t); }\\n} | B | +| tst.js:11:1:14:1 | class C ... () {}\\n} | C | +test_MethodDefinitions +| fields.js:1:9:1:8 | constructor() {} | fields.js:1:9:1:8 | constructor | fields.js:1:9:1:8 | () {} | fields.js:1:1:4:1 | class C ... = 42\\n} | +| points.js:2:3:5:3 | constru ... y;\\n } | points.js:2:3:2:13 | constructor | points.js:2:14:5:3 | (x, y) ... y;\\n } | points.js:1:1:18:1 | class P ... ;\\n }\\n} | +| points.js:7:3:9:3 | get dis ... y);\\n } | points.js:7:7:7:10 | dist | points.js:7:11:9:3 | () {\\n ... y);\\n } | points.js:1:1:18:1 | class P ... ;\\n }\\n} | +| points.js:11:3:13:3 | toStrin ... )";\\n } | points.js:11:3:11:10 | toString | points.js:11:11:13:3 | () {\\n ... )";\\n } | points.js:1:1:18:1 | class P ... ;\\n }\\n} | +| points.js:15:3:17:3 | static ... t";\\n } | points.js:15:10:15:18 | className | points.js:15:19:17:3 | () {\\n ... t";\\n } | points.js:1:1:18:1 | class P ... ;\\n }\\n} | +| points.js:21:3:24:3 | constru ... c;\\n } | points.js:21:3:21:13 | constructor | points.js:21:14:24:3 | (x, y, ... c;\\n } | points.js:20:1:33:1 | class C ... ;\\n }\\n} | +| points.js:26:3:28:3 | toStrin ... ur;\\n } | points.js:26:3:26:10 | toString | points.js:26:11:28:3 | () {\\n ... ur;\\n } | points.js:20:1:33:1 | class C ... ;\\n }\\n} | +| points.js:30:3:32:3 | static ... t";\\n } | points.js:30:10:30:18 | className | points.js:30:19:32:3 | () {\\n ... t";\\n } | points.js:20:1:33:1 | class C ... ;\\n }\\n} | +| staticConstructor.js:1:15:1:14 | constructor() {} | staticConstructor.js:1:15:1:14 | constructor | staticConstructor.js:1:15:1:14 | () {} | staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | +| staticConstructor.js:2:3:2:59 | static ... tor"; } | staticConstructor.js:2:10:2:20 | constructor | staticConstructor.js:2:21:2:59 | () { re ... tor"; } | staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | +| tst.js:2:3:2:50 | "constr ... r. */ } | tst.js:2:3:2:15 | "constructor" | tst.js:2:16:2:50 | () { /* ... r. */ } | tst.js:1:9:4:1 | class { ... */ }\\n} | +| tst.js:3:3:3:56 | ["const ... r. */ } | tst.js:3:4:3:16 | "constructor" | tst.js:3:18:3:56 | () { /* ... r. */ } | tst.js:1:9:4:1 | class { ... */ }\\n} | +| tst.js:7:3:7:38 | constru ... get); } | tst.js:7:3:7:13 | constructor | tst.js:7:14:7:38 | () { su ... get); } | tst.js:6:1:8:1 | class B ... t); }\\n} | +| tst.js:11:9:11:8 | constructor() {} | tst.js:11:9:11:8 | constructor | tst.js:11:9:11:8 | () {} | tst.js:11:1:14:1 | class C ... () {}\\n} | +| tst.js:12:3:12:8 | m() {} | tst.js:12:3:12:3 | m | tst.js:12:4:12:8 | () {} | tst.js:11:1:14:1 | class C ... () {}\\n} | +| tst.js:13:3:13:10 | [m]() {} | tst.js:13:4:13:4 | m | tst.js:13:6:13:10 | () {} | tst.js:11:1:14:1 | class C ... () {}\\n} | +test_getAMember +| fields.js:1:1:4:1 | class C ... = 42\\n} | fields.js:1:9:1:8 | constructor() {} | +| fields.js:1:1:4:1 | class C ... = 42\\n} | fields.js:2:3:2:4 | x; | +| fields.js:1:1:4:1 | class C ... = 42\\n} | fields.js:3:3:3:8 | y = 42 | +| points.js:1:1:18:1 | class P ... ;\\n }\\n} | points.js:2:3:5:3 | constru ... y;\\n } | +| points.js:1:1:18:1 | class P ... ;\\n }\\n} | points.js:7:3:9:3 | get dis ... y);\\n } | +| points.js:1:1:18:1 | class P ... ;\\n }\\n} | points.js:11:3:13:3 | toStrin ... )";\\n } | +| points.js:1:1:18:1 | class P ... ;\\n }\\n} | points.js:15:3:17:3 | static ... t";\\n } | +| points.js:20:1:33:1 | class C ... ;\\n }\\n} | points.js:21:3:24:3 | constru ... c;\\n } | +| points.js:20:1:33:1 | class C ... ;\\n }\\n} | points.js:26:3:28:3 | toStrin ... ur;\\n } | +| points.js:20:1:33:1 | class C ... ;\\n }\\n} | points.js:30:3:32:3 | static ... t";\\n } | +| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | staticConstructor.js:1:15:1:14 | constructor() {} | +| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | staticConstructor.js:2:3:2:59 | static ... tor"; } | +| tst.js:1:9:4:1 | class { ... */ }\\n} | tst.js:2:3:2:50 | "constr ... r. */ } | +| tst.js:1:9:4:1 | class { ... */ }\\n} | tst.js:3:3:3:56 | ["const ... r. */ } | +| tst.js:6:1:8:1 | class B ... t); }\\n} | tst.js:7:3:7:38 | constru ... get); } | +| tst.js:11:1:14:1 | class C ... () {}\\n} | tst.js:11:9:11:8 | constructor() {} | +| tst.js:11:1:14:1 | class C ... () {}\\n} | tst.js:12:3:12:8 | m() {} | +| tst.js:11:1:14:1 | class C ... () {}\\n} | tst.js:13:3:13:10 | [m]() {} | +test_MethodNames +| fields.js:1:9:1:8 | constructor() {} | constructor | +| points.js:2:3:5:3 | constru ... y;\\n } | constructor | +| points.js:7:3:9:3 | get dis ... y);\\n } | dist | +| points.js:11:3:13:3 | toStrin ... )";\\n } | toString | +| points.js:15:3:17:3 | static ... t";\\n } | className | +| points.js:21:3:24:3 | constru ... c;\\n } | constructor | +| points.js:26:3:28:3 | toStrin ... ur;\\n } | toString | +| points.js:30:3:32:3 | static ... t";\\n } | className | +| staticConstructor.js:1:15:1:14 | constructor() {} | constructor | +| staticConstructor.js:2:3:2:59 | static ... tor"; } | constructor | +| tst.js:2:3:2:50 | "constr ... r. */ } | constructor | +| tst.js:3:3:3:56 | ["const ... r. */ } | constructor | +| tst.js:7:3:7:38 | constru ... get); } | constructor | +| tst.js:11:9:11:8 | constructor() {} | constructor | +| tst.js:12:3:12:8 | m() {} | m | +test_NewTargetExpr +| tst.js:7:25:7:34 | new.target | +test_SuperExpr +| points.js:22:5:22:9 | super | +| points.js:27:12:27:16 | super | +| tst.js:7:19:7:23 | super | +test_SyntheticConstructors +| fields.js:1:9:1:8 | constructor() {} | +| staticConstructor.js:1:15:1:14 | constructor() {} | +| tst.js:11:9:11:8 | constructor() {} | +test_ConstructorDefinitions +| fields.js:1:9:1:8 | constructor() {} | +| points.js:2:3:5:3 | constru ... y;\\n } | +| points.js:21:3:24:3 | constru ... c;\\n } | +| staticConstructor.js:1:15:1:14 | constructor() {} | +| tst.js:2:3:2:50 | "constr ... r. */ } | +| tst.js:7:3:7:38 | constru ... get); } | +| tst.js:11:9:11:8 | constructor() {} | +test_ClassNodeConstructor +| fields.js:1:1:4:1 | class C ... = 42\\n} | fields.js:1:9:1:8 | () {} | +| points.js:1:1:18:1 | class P ... ;\\n }\\n} | points.js:2:14:5:3 | (x, y) ... y;\\n } | +| points.js:20:1:33:1 | class C ... ;\\n }\\n} | points.js:21:14:24:3 | (x, y, ... c;\\n } | +| staticConstructor.js:1:1:3:1 | class M ... r"; }\\n} | staticConstructor.js:1:15:1:14 | () {} | +| tst.js:1:9:4:1 | class { ... */ }\\n} | tst.js:2:16:2:50 | () { /* ... r. */ } | +| tst.js:6:1:8:1 | class B ... t); }\\n} | tst.js:7:14:7:38 | () { su ... get); } | +| tst.js:11:1:14:1 | class C ... () {}\\n} | tst.js:11:9:11:8 | () {} | +test_ClassNodeInstanceMethod +| points.js:1:1:18:1 | class P ... ;\\n }\\n} | toString | points.js:11:11:13:3 | () {\\n ... )";\\n } | +| points.js:20:1:33:1 | class C ... ;\\n }\\n} | toString | points.js:26:11:28:3 | () {\\n ... ur;\\n } | +| tst.js:1:9:4:1 | class { ... */ }\\n} | constructor | tst.js:3:18:3:56 | () { /* ... r. */ } | +| tst.js:11:1:14:1 | class C ... () {}\\n} | m | tst.js:12:4:12:8 | () {} | diff --git a/javascript/ql/test/library-tests/Classes/tests.ql b/javascript/ql/test/library-tests/Classes/tests.ql new file mode 100644 index 000000000000..3009546636c3 --- /dev/null +++ b/javascript/ql/test/library-tests/Classes/tests.ql @@ -0,0 +1,18 @@ +import FieldInits +import ComputedMethods +import StaticMethods +import ClassDefinition_getSuperClass +import ClassNodeStaticMethod +import ClassDefinitions +import AccessorMethods +import Fields +import ClassDefinition_getName +import MethodDefinitions +import getAMember +import MethodNames +import NewTargetExpr +import SuperExpr +import SyntheticConstructors +import ConstructorDefinitions +import ClassNodeConstructor +import ClassNodeInstanceMethod diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition.expected b/javascript/ql/test/library-tests/DOM/AttributeDefinition.expected deleted file mode 100644 index 62dcbc292607..000000000000 --- a/javascript/ql/test/library-tests/DOM/AttributeDefinition.expected +++ /dev/null @@ -1,13 +0,0 @@ -| tst.html:3:6:3:30 | href=https://semmle.com | -| tst.html:3:32:3:46 | target=_blank | -| tst.js:2:22:2:37 | target: "_blank" | -| tst.js:3:11:3:66 | $(" ... e.com") | -| tst.js:4:3:4:27 | a.attr( ... pener") | -| tst.js:5:3:7:4 | a.attr( ... f"\\n }) | -| tst.js:8:3:8:29 | a.prop( ... errer") | -| tst.js:9:3:11:4 | a.prop( ... f"\\n }) | -| tst.js:12:3:12:41 | $.attr( ... errer") | -| tst.js:13:3:13:28 | $.prop( ... d", "") | -| tst.jsx:4:14:4:38 | href="h ... le.com" | -| tst.jsx:4:40:4:48 | rel={rel} | -| tst.jsx:4:50:4:64 | {...otherAttrs} | diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition.ql b/javascript/ql/test/library-tests/DOM/AttributeDefinition.ql deleted file mode 100644 index 5b403ec03a1a..000000000000 --- a/javascript/ql/test/library-tests/DOM/AttributeDefinition.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DOM::AttributeDefinition a -select a diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition.qll b/javascript/ql/test/library-tests/DOM/AttributeDefinition.qll new file mode 100644 index 000000000000..4db18c09a511 --- /dev/null +++ b/javascript/ql/test/library-tests/DOM/AttributeDefinition.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_AttributeDefinition(DOM::AttributeDefinition a) { any() } diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getName.expected b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getName.expected deleted file mode 100644 index a648edc17acf..000000000000 --- a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getName.expected +++ /dev/null @@ -1,12 +0,0 @@ -| tst.html:3:6:3:30 | href=https://semmle.com | href | -| tst.html:3:32:3:46 | target=_blank | target | -| tst.js:2:22:2:37 | target: "_blank" | target | -| tst.js:3:11:3:66 | $(" ... e.com") | href | -| tst.js:4:3:4:27 | a.attr( ... pener") | rel | -| tst.js:5:3:7:4 | a.attr( ... f"\\n }) | data-bind | -| tst.js:8:3:8:29 | a.prop( ... errer") | rel | -| tst.js:9:3:11:4 | a.prop( ... f"\\n }) | data-bind | -| tst.js:12:3:12:41 | $.attr( ... errer") | rel | -| tst.js:13:3:13:28 | $.prop( ... d", "") | data-bind | -| tst.jsx:4:14:4:38 | href="h ... le.com" | href | -| tst.jsx:4:40:4:48 | rel={rel} | rel | diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getName.ql b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getName.ql deleted file mode 100644 index d44332096061..000000000000 --- a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getName.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DOM::AttributeDefinition a -select a, a.getName() diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getName.qll b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getName.qll new file mode 100644 index 000000000000..247e46fe6519 --- /dev/null +++ b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getName.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_AttributeDefinition_getName(DOM::AttributeDefinition a, string res) { + res = a.getName() +} diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getStringValue.expected b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getStringValue.expected deleted file mode 100644 index b2a590c80594..000000000000 --- a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getStringValue.expected +++ /dev/null @@ -1,11 +0,0 @@ -| tst.html:3:6:3:30 | href=https://semmle.com | https://semmle.com | -| tst.html:3:32:3:46 | target=_blank | _blank | -| tst.js:2:22:2:37 | target: "_blank" | _blank | -| tst.js:3:11:3:66 | $(" ... e.com") | https://semmle.com | -| tst.js:4:3:4:27 | a.attr( ... pener") | noopener | -| tst.js:5:3:7:4 | a.attr( ... f"\\n }) | stuff | -| tst.js:8:3:8:29 | a.prop( ... errer") | noreferrer | -| tst.js:9:3:11:4 | a.prop( ... f"\\n }) | otherstuff | -| tst.js:12:3:12:41 | $.attr( ... errer") | noopener noreferrer | -| tst.js:13:3:13:28 | $.prop( ... d", "") | | -| tst.jsx:4:14:4:38 | href="h ... le.com" | https://semmle.com | diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getStringValue.ql b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getStringValue.ql deleted file mode 100644 index e425c142c30c..000000000000 --- a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getStringValue.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DOM::AttributeDefinition a -select a, a.getStringValue() diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getStringValue.qll b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getStringValue.qll new file mode 100644 index 000000000000..e844eea7583d --- /dev/null +++ b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getStringValue.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_AttributeDefinition_getStringValue(DOM::AttributeDefinition a, string res) { + res = a.getStringValue() +} diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getValueNode.expected b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getValueNode.expected deleted file mode 100644 index 79a397386182..000000000000 --- a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getValueNode.expected +++ /dev/null @@ -1,11 +0,0 @@ -| tst.js:2:22:2:37 | target: "_blank" | tst.js:2:30:2:37 | "_blank" | -| tst.js:3:11:3:66 | $(" ... e.com") | tst.js:3:46:3:65 | "https://semmle.com" | -| tst.js:4:3:4:27 | a.attr( ... pener") | tst.js:4:17:4:26 | "noopener" | -| tst.js:5:3:7:4 | a.attr( ... f"\\n }) | tst.js:6:18:6:24 | "stuff" | -| tst.js:8:3:8:29 | a.prop( ... errer") | tst.js:8:17:8:28 | "noreferrer" | -| tst.js:9:3:11:4 | a.prop( ... f"\\n }) | tst.js:10:18:10:29 | "otherstuff" | -| tst.js:12:3:12:41 | $.attr( ... errer") | tst.js:12:20:12:40 | "noopen ... ferrer" | -| tst.js:13:3:13:28 | $.prop( ... d", "") | tst.js:13:26:13:27 | "" | -| tst.jsx:4:14:4:38 | href="h ... le.com" | tst.jsx:4:19:4:38 | "https://semmle.com" | -| tst.jsx:4:40:4:48 | rel={rel} | tst.jsx:4:45:4:47 | rel | -| tst.jsx:4:50:4:64 | {...otherAttrs} | tst.jsx:4:50:4:64 | ...otherAttrs | diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getValueNode.ql b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getValueNode.ql deleted file mode 100644 index 2863b2ee5ac9..000000000000 --- a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getValueNode.ql +++ /dev/null @@ -1,4 +0,0 @@ -import javascript - -from DOM::AttributeDefinition a -select a, a.getValueNode() diff --git a/javascript/ql/test/library-tests/DOM/AttributeDefinition_getValueNode.qll b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getValueNode.qll new file mode 100644 index 000000000000..e42bccf0a188 --- /dev/null +++ b/javascript/ql/test/library-tests/DOM/AttributeDefinition_getValueNode.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_AttributeDefinition_getValueNode(DOM::AttributeDefinition a, DataFlow::Node res) { + res = a.getValueNode() +} diff --git a/javascript/ql/test/library-tests/DOM/Element.expected b/javascript/ql/test/library-tests/DOM/Element.expected deleted file mode 100644 index a2574e5f93ff..000000000000 --- a/javascript/ql/test/library-tests/DOM/Element.expected +++ /dev/null @@ -1,23 +0,0 @@ -| tst.html:1:1:5:7 | ...> | tst.html:1:1:5:7 | ...> | -| tst.html:2:1:4:7 |
...> | tst.html:2:1:4:7 | ...> | -| tst.html:3:3:3:57 | ...> | tst.html:3:3:3:57 | ...> | -| tst.js:3:11:3:31 | $(" ... rAttrs) | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:3:11:3:66 | $(" ... e.com") | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:4:3:4:3 | a | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:4:3:4:27 | a.attr( ... pener") | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:5:3:5:3 | a | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:5:3:7:4 | a.attr( ... f"\\n }) | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:8:3:8:3 | a | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:8:3:8:29 | a.prop( ... errer") | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:9:3:9:3 | a | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:9:3:11:4 | a.prop( ... f"\\n }) | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:12:10:12:10 | a | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:13:10:13:10 | a | tst.js:3:11:3:31 | $(" ... rAttrs) | -| tst.js:23:5:23:30 | React.c ... ('div') | tst.js:23:5:23:30 | React.c ... ('div') | -| tst.js:24:5:24:55 | React.c ... , null) | tst.js:24:5:24:55 | React.c ... , null) | -| tst.js:27:5:27:14 | factory1() | tst.js:27:5:27:14 | factory1() | -| tst.js:31:20:31:55 |