Skip to content

Commit b6b8a55

Browse files
committed
JS: Add test case
1 parent ac00e02 commit b6b8a55

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import { foo } from 'mylibrary';
2+
3+
foo({ value: 1 }, { value: 1 });
4+
foo({ value: 2 }, { value: 2 });
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
ERROR: Could not resolve predicate getArgument/1 (/Users/asger/git/code/ql/javascript/ql/src/semmle/javascript/frameworks/NoSQL.qll:716,60-71)
2+
ERROR: Could not resolve predicate getParameter/1 (/Users/asger/git/code/ql/javascript/ql/src/semmle/javascript/frameworks/NoSQL.qll:719,40-52)
3+
ERROR: Could not resolve type API::MethodCallNode (/Users/asger/git/code/ql/javascript/ql/src/semmle/javascript/frameworks/NoSQL.qll:705,51-70)
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import javascript
2+
3+
class FooCall extends API::CallNode {
4+
FooCall() {
5+
this = API::moduleImport("mylibrary").getMember("foo").getACall()
6+
}
7+
8+
DataFlow::Node getFirst() {
9+
result = getParameter(0).getMember("value").getARhs()
10+
}
11+
12+
DataFlow::Node getSecond() {
13+
result = getParameter(1).getMember("value").getARhs()
14+
}
15+
}
16+
17+
query predicate values(FooCall call, int first, int second) {
18+
first = call.getFirst().getIntValue() and
19+
second = call.getSecond().getIntValue()
20+
}
21+
22+
query predicate mismatch(FooCall call, string msg) {
23+
call.getFirst().getIntValue() != call.getSecond().getIntValue() and
24+
msg = "mismatching parameter indices found for call"
25+
}

0 commit comments

Comments
 (0)