Skip to content

Commit 2235072

Browse files
committed
JS: Add tests
1 parent c8e5be7 commit 2235072

File tree

4 files changed

+109
-1
lines changed

4 files changed

+109
-1
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const key1 = "key1";
2+
class NoConstructor {
3+
[key1] = 4;
4+
}
5+
6+
const key2 = "key2";
7+
class WithConstructor {
8+
[key2] = 4;
9+
10+
constructor() {}
11+
}

javascript/ql/test/library-tests/Expr/tests.expected

Lines changed: 83 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,22 @@ test_getParent
104104
| comparison.js:8:1:8:1 | 2 | comparison.js:8:1:8:6 | 2 >= 1 |
105105
| comparison.js:8:1:8:6 | 2 >= 1 | comparison.js:8:1:8:7 | 2 >= 1; |
106106
| comparison.js:8:6:8:6 | 1 | comparison.js:8:1:8:6 | 2 >= 1 |
107+
| computedFieldNames.ts:1:7:1:10 | key1 | computedFieldNames.ts:1:7:1:19 | key1 = "key1" |
108+
| computedFieldNames.ts:1:7:1:19 | key1 = "key1" | computedFieldNames.ts:1:1:1:20 | const key1 = "key1"; |
109+
| computedFieldNames.ts:1:14:1:19 | "key1" | computedFieldNames.ts:1:7:1:19 | key1 = "key1" |
110+
| computedFieldNames.ts:2:7:2:19 | NoConstructor | computedFieldNames.ts:2:1:4:1 | class N ... = 4;\\n} |
111+
| computedFieldNames.ts:2:21:2:20 | () {} | computedFieldNames.ts:2:21:2:20 | constructor() {} |
112+
| computedFieldNames.ts:2:21:2:20 | constructor | computedFieldNames.ts:2:21:2:20 | constructor() {} |
113+
| computedFieldNames.ts:3:4:3:7 | key1 | computedFieldNames.ts:3:3:3:13 | [key1] = 4; |
114+
| computedFieldNames.ts:3:12:3:12 | 4 | computedFieldNames.ts:3:3:3:13 | [key1] = 4; |
115+
| computedFieldNames.ts:6:7:6:10 | key2 | computedFieldNames.ts:6:7:6:19 | key2 = "key2" |
116+
| computedFieldNames.ts:6:7:6:19 | key2 = "key2" | computedFieldNames.ts:6:1:6:20 | const key2 = "key2"; |
117+
| computedFieldNames.ts:6:14:6:19 | "key2" | computedFieldNames.ts:6:7:6:19 | key2 = "key2" |
118+
| computedFieldNames.ts:7:7:7:21 | WithConstructor | computedFieldNames.ts:7:1:11:1 | class W ... () {}\\n} |
119+
| computedFieldNames.ts:8:4:8:7 | key2 | computedFieldNames.ts:8:3:8:13 | [key2] = 4; |
120+
| computedFieldNames.ts:8:12:8:12 | 4 | computedFieldNames.ts:8:3:8:13 | [key2] = 4; |
121+
| computedFieldNames.ts:10:3:10:18 | constructor() {} | computedFieldNames.ts:10:3:10:18 | constructor() {} |
122+
| computedFieldNames.ts:10:3:10:18 | constructor() {} | computedFieldNames.ts:10:3:10:18 | constructor() {} |
107123
| es2015.js:1:1:1:18 | ["a", "ab", "abc"] | es2015.js:1:1:1:22 | ["a", " ... c"].map |
108124
| es2015.js:1:1:1:22 | ["a", " ... c"].map | es2015.js:1:1:1:37 | ["a", " ... length) |
109125
| es2015.js:1:1:1:37 | ["a", " ... length) | es2015.js:1:1:1:38 | ["a", " ... ength); |
@@ -557,6 +573,22 @@ test_getTopLevel
557573
| comparison.js:8:1:8:1 | 2 | comparison.js:1:1:9:0 | <toplevel> |
558574
| comparison.js:8:1:8:6 | 2 >= 1 | comparison.js:1:1:9:0 | <toplevel> |
559575
| comparison.js:8:6:8:6 | 1 | comparison.js:1:1:9:0 | <toplevel> |
576+
| computedFieldNames.ts:1:7:1:10 | key1 | computedFieldNames.ts:1:1:12:0 | <toplevel> |
577+
| computedFieldNames.ts:1:7:1:19 | key1 = "key1" | computedFieldNames.ts:1:1:12:0 | <toplevel> |
578+
| computedFieldNames.ts:1:14:1:19 | "key1" | computedFieldNames.ts:1:1:12:0 | <toplevel> |
579+
| computedFieldNames.ts:2:7:2:19 | NoConstructor | computedFieldNames.ts:1:1:12:0 | <toplevel> |
580+
| computedFieldNames.ts:2:21:2:20 | () {} | computedFieldNames.ts:1:1:12:0 | <toplevel> |
581+
| computedFieldNames.ts:2:21:2:20 | constructor | computedFieldNames.ts:1:1:12:0 | <toplevel> |
582+
| computedFieldNames.ts:3:4:3:7 | key1 | computedFieldNames.ts:1:1:12:0 | <toplevel> |
583+
| computedFieldNames.ts:3:12:3:12 | 4 | computedFieldNames.ts:1:1:12:0 | <toplevel> |
584+
| computedFieldNames.ts:6:7:6:10 | key2 | computedFieldNames.ts:1:1:12:0 | <toplevel> |
585+
| computedFieldNames.ts:6:7:6:19 | key2 = "key2" | computedFieldNames.ts:1:1:12:0 | <toplevel> |
586+
| computedFieldNames.ts:6:14:6:19 | "key2" | computedFieldNames.ts:1:1:12:0 | <toplevel> |
587+
| computedFieldNames.ts:7:7:7:21 | WithConstructor | computedFieldNames.ts:1:1:12:0 | <toplevel> |
588+
| computedFieldNames.ts:8:4:8:7 | key2 | computedFieldNames.ts:1:1:12:0 | <toplevel> |
589+
| computedFieldNames.ts:8:12:8:12 | 4 | computedFieldNames.ts:1:1:12:0 | <toplevel> |
590+
| computedFieldNames.ts:10:3:10:18 | constructor() {} | computedFieldNames.ts:1:1:12:0 | <toplevel> |
591+
| computedFieldNames.ts:10:3:10:18 | constructor() {} | computedFieldNames.ts:1:1:12:0 | <toplevel> |
560592
| es2015.js:1:1:1:18 | ["a", "ab", "abc"] | es2015.js:1:1:29:0 | <toplevel> |
561593
| es2015.js:1:1:1:22 | ["a", " ... c"].map | es2015.js:1:1:29:0 | <toplevel> |
562594
| es2015.js:1:1:1:37 | ["a", " ... length) | es2015.js:1:1:29:0 | <toplevel> |
@@ -975,6 +1007,10 @@ test_getChild
9751007
| comparison.js:7:1:7:5 | 2 > 1 | 1 | comparison.js:7:5:7:5 | 1 |
9761008
| comparison.js:8:1:8:6 | 2 >= 1 | 0 | comparison.js:8:1:8:1 | 2 |
9771009
| comparison.js:8:1:8:6 | 2 >= 1 | 1 | comparison.js:8:6:8:6 | 1 |
1010+
| computedFieldNames.ts:1:7:1:19 | key1 = "key1" | 0 | computedFieldNames.ts:1:7:1:10 | key1 |
1011+
| computedFieldNames.ts:1:7:1:19 | key1 = "key1" | 1 | computedFieldNames.ts:1:14:1:19 | "key1" |
1012+
| computedFieldNames.ts:6:7:6:19 | key2 = "key2" | 0 | computedFieldNames.ts:6:7:6:10 | key2 |
1013+
| computedFieldNames.ts:6:7:6:19 | key2 = "key2" | 1 | computedFieldNames.ts:6:14:6:19 | "key2" |
9781014
| es2015.js:1:1:1:18 | ["a", "ab", "abc"] | 0 | es2015.js:1:2:1:4 | "a" |
9791015
| es2015.js:1:1:1:18 | ["a", "ab", "abc"] | 1 | es2015.js:1:7:1:10 | "ab" |
9801016
| es2015.js:1:1:1:18 | ["a", "ab", "abc"] | 2 | es2015.js:1:13:1:17 | "abc" |
@@ -1270,6 +1306,20 @@ test_isPure
12701306
| comparison.js:8:1:8:1 | 2 |
12711307
| comparison.js:8:1:8:6 | 2 >= 1 |
12721308
| comparison.js:8:6:8:6 | 1 |
1309+
| computedFieldNames.ts:1:7:1:10 | key1 |
1310+
| computedFieldNames.ts:1:14:1:19 | "key1" |
1311+
| computedFieldNames.ts:2:7:2:19 | NoConstructor |
1312+
| computedFieldNames.ts:2:21:2:20 | () {} |
1313+
| computedFieldNames.ts:2:21:2:20 | constructor |
1314+
| computedFieldNames.ts:3:4:3:7 | key1 |
1315+
| computedFieldNames.ts:3:12:3:12 | 4 |
1316+
| computedFieldNames.ts:6:7:6:10 | key2 |
1317+
| computedFieldNames.ts:6:14:6:19 | "key2" |
1318+
| computedFieldNames.ts:7:7:7:21 | WithConstructor |
1319+
| computedFieldNames.ts:8:4:8:7 | key2 |
1320+
| computedFieldNames.ts:8:12:8:12 | 4 |
1321+
| computedFieldNames.ts:10:3:10:18 | constructor() {} |
1322+
| computedFieldNames.ts:10:3:10:18 | constructor() {} |
12731323
| es2015.js:1:1:1:18 | ["a", "ab", "abc"] |
12741324
| es2015.js:1:1:1:22 | ["a", " ... c"].map |
12751325
| es2015.js:1:2:1:4 | "a" |
@@ -1570,6 +1620,8 @@ test_RelationalComparisons
15701620
| comparison.js:8:1:8:6 | 2 >= 1 | comparison.js:8:6:8:6 | 1 | comparison.js:8:1:8:1 | 2 |
15711621
| es2015.js:23:8:23:12 | n-->0 | es2015.js:23:12:23:12 | 0 | es2015.js:23:8:23:10 | n-- |
15721622
test_getEnclosingFunction
1623+
| computedFieldNames.ts:3:12:3:12 | 4 | computedFieldNames.ts:2:21:2:20 | () {} |
1624+
| computedFieldNames.ts:8:12:8:12 | 4 | computedFieldNames.ts:10:3:10:18 | constructor() {} |
15731625
| es2015.js:1:24:1:24 | s | es2015.js:1:24:1:36 | s => s.length |
15741626
| es2015.js:1:29:1:29 | s | es2015.js:1:24:1:36 | s => s.length |
15751627
| es2015.js:1:29:1:36 | s.length | es2015.js:1:24:1:36 | s => s.length |
@@ -1759,6 +1811,22 @@ test_getContainer
17591811
| comparison.js:8:1:8:1 | 2 | comparison.js:1:1:9:0 | <toplevel> |
17601812
| comparison.js:8:1:8:6 | 2 >= 1 | comparison.js:1:1:9:0 | <toplevel> |
17611813
| comparison.js:8:6:8:6 | 1 | comparison.js:1:1:9:0 | <toplevel> |
1814+
| computedFieldNames.ts:1:7:1:10 | key1 | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1815+
| computedFieldNames.ts:1:7:1:19 | key1 = "key1" | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1816+
| computedFieldNames.ts:1:14:1:19 | "key1" | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1817+
| computedFieldNames.ts:2:7:2:19 | NoConstructor | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1818+
| computedFieldNames.ts:2:21:2:20 | () {} | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1819+
| computedFieldNames.ts:2:21:2:20 | constructor | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1820+
| computedFieldNames.ts:3:4:3:7 | key1 | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1821+
| computedFieldNames.ts:3:12:3:12 | 4 | computedFieldNames.ts:2:21:2:20 | () {} |
1822+
| computedFieldNames.ts:6:7:6:10 | key2 | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1823+
| computedFieldNames.ts:6:7:6:19 | key2 = "key2" | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1824+
| computedFieldNames.ts:6:14:6:19 | "key2" | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1825+
| computedFieldNames.ts:7:7:7:21 | WithConstructor | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1826+
| computedFieldNames.ts:8:4:8:7 | key2 | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1827+
| computedFieldNames.ts:8:12:8:12 | 4 | computedFieldNames.ts:10:3:10:18 | constructor() {} |
1828+
| computedFieldNames.ts:10:3:10:18 | constructor() {} | computedFieldNames.ts:1:1:12:0 | <toplevel> |
1829+
| computedFieldNames.ts:10:3:10:18 | constructor() {} | computedFieldNames.ts:1:1:12:0 | <toplevel> |
17621830
| es2015.js:1:1:1:18 | ["a", "ab", "abc"] | es2015.js:1:1:29:0 | <toplevel> |
17631831
| es2015.js:1:1:1:22 | ["a", " ... c"].map | es2015.js:1:1:29:0 | <toplevel> |
17641832
| es2015.js:1:1:1:37 | ["a", " ... length) | es2015.js:1:1:29:0 | <toplevel> |
@@ -2212,6 +2280,20 @@ test_getEnclosingStmt
22122280
| comparison.js:8:1:8:1 | 2 | comparison.js:8:1:8:7 | 2 >= 1; |
22132281
| comparison.js:8:1:8:6 | 2 >= 1 | comparison.js:8:1:8:7 | 2 >= 1; |
22142282
| comparison.js:8:6:8:6 | 1 | comparison.js:8:1:8:7 | 2 >= 1; |
2283+
| computedFieldNames.ts:1:7:1:10 | key1 | computedFieldNames.ts:1:1:1:20 | const key1 = "key1"; |
2284+
| computedFieldNames.ts:1:7:1:19 | key1 = "key1" | computedFieldNames.ts:1:1:1:20 | const key1 = "key1"; |
2285+
| computedFieldNames.ts:1:14:1:19 | "key1" | computedFieldNames.ts:1:1:1:20 | const key1 = "key1"; |
2286+
| computedFieldNames.ts:2:7:2:19 | NoConstructor | computedFieldNames.ts:2:1:4:1 | class N ... = 4;\\n} |
2287+
| computedFieldNames.ts:2:21:2:20 | () {} | computedFieldNames.ts:2:1:4:1 | class N ... = 4;\\n} |
2288+
| computedFieldNames.ts:2:21:2:20 | constructor | computedFieldNames.ts:2:1:4:1 | class N ... = 4;\\n} |
2289+
| computedFieldNames.ts:3:4:3:7 | key1 | computedFieldNames.ts:2:1:4:1 | class N ... = 4;\\n} |
2290+
| computedFieldNames.ts:6:7:6:10 | key2 | computedFieldNames.ts:6:1:6:20 | const key2 = "key2"; |
2291+
| computedFieldNames.ts:6:7:6:19 | key2 = "key2" | computedFieldNames.ts:6:1:6:20 | const key2 = "key2"; |
2292+
| computedFieldNames.ts:6:14:6:19 | "key2" | computedFieldNames.ts:6:1:6:20 | const key2 = "key2"; |
2293+
| computedFieldNames.ts:7:7:7:21 | WithConstructor | computedFieldNames.ts:7:1:11:1 | class W ... () {}\\n} |
2294+
| computedFieldNames.ts:8:4:8:7 | key2 | computedFieldNames.ts:7:1:11:1 | class W ... () {}\\n} |
2295+
| computedFieldNames.ts:10:3:10:18 | constructor() {} | computedFieldNames.ts:7:1:11:1 | class W ... () {}\\n} |
2296+
| computedFieldNames.ts:10:3:10:18 | constructor() {} | computedFieldNames.ts:7:1:11:1 | class W ... () {}\\n} |
22152297
| es2015.js:1:1:1:18 | ["a", "ab", "abc"] | es2015.js:1:1:1:38 | ["a", " ... ength); |
22162298
| es2015.js:1:1:1:22 | ["a", " ... c"].map | es2015.js:1:1:1:38 | ["a", " ... ength); |
22172299
| es2015.js:1:1:1:37 | ["a", " ... length) | es2015.js:1:1:1:38 | ["a", " ... ength); |
@@ -2693,4 +2775,4 @@ test_inNullSensitiveContext
26932775
| update.js:1:3:1:3 | a |
26942776
| update.js:2:1:2:1 | a |
26952777
| update.js:3:3:3:3 | b |
2696-
| update.js:4:1:4:1 | b |
2778+
| update.js:4:1:4:1 | b |

javascript/ql/test/query-tests/Declarations/DeadStoreOfLocal/DeadStoreOfLocal.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
| computedFieldNames.ts:3:5:3:17 | key1 = "key1" | The initial value of key1 is unused, since it is always overwritten. |
2+
| computedFieldNames.ts:8:5:8:17 | key2 = "key2" | The initial value of key2 is unused, since it is always overwritten. |
13
| overload.ts:10:12:10:14 | baz | This definition of baz is useless, since its value is never read. |
24
| tst2.js:26:9:26:14 | x = 23 | The initial value of x is unused, since it is always overwritten. |
35
| tst2.js:28:9:28:14 | x = 42 | This definition of x is useless, since its value is never read. |
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import dummy from 'dummy';
2+
3+
var key1 = "key1"; // OK
4+
export class NoConstructor {
5+
[key1] = 4;
6+
}
7+
8+
var key2 = "key2"; // OK
9+
export class WithConstructor {
10+
[key2] = 4;
11+
12+
constructor() {}
13+
}

0 commit comments

Comments
 (0)