Skip to content

Commit 5633004

Browse files
committed
C#: Add more tests.
1 parent 6d13ff7 commit 5633004

3 files changed

Lines changed: 39 additions & 14 deletions

File tree

csharp/ql/test/library-tests/spans/Slice.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,18 @@ public void M(int a, int b)
1212
var sub5 = s[a..^b];
1313
var sub6 = s[..];
1414

15+
Range range = 1..a;
16+
var sub7 = s[range];
17+
1518
Span<int> sp = null;
1619
var slice1 = sp[5..a];
1720
var slice2 = sp[..6];
1821
var slice3 = sp[7..];
1922
var slice4 = sp[..^8];
2023
var slice5 = sp[a..^b];
2124
var slice6 = sp[..];
25+
26+
Range range2 = 1..a;
27+
var slice7 = sp[range2];
2228
}
2329
}
Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
methodArguments
12
| Slice.cs:8:20:8:26 | call to method Substring | Substring(int, int) | 0 | 1 |
23
| Slice.cs:8:20:8:26 | call to method Substring | Substring(int, int) | 1 | access to parameter a |
34
| Slice.cs:9:20:9:25 | call to method Substring | Substring(int, int) | 0 | 0 |
@@ -10,15 +11,29 @@
1011
| Slice.cs:12:20:12:27 | call to method Substring | Substring(int, int) | 1 | ^access to parameter b |
1112
| Slice.cs:13:20:13:24 | call to method Substring | Substring(int, int) | 0 | 0 |
1213
| Slice.cs:13:20:13:24 | call to method Substring | Substring(int, int) | 1 | ^0 |
13-
| Slice.cs:16:22:16:29 | call to method Slice | Slice(int, int) | 0 | 5 |
14-
| Slice.cs:16:22:16:29 | call to method Slice | Slice(int, int) | 1 | access to parameter a |
15-
| Slice.cs:17:22:17:28 | call to method Slice | Slice(int, int) | 0 | 0 |
16-
| Slice.cs:17:22:17:28 | call to method Slice | Slice(int, int) | 1 | 6 |
17-
| Slice.cs:18:22:18:28 | call to method Slice | Slice(int, int) | 0 | 7 |
18-
| Slice.cs:18:22:18:28 | call to method Slice | Slice(int, int) | 1 | ^0 |
19-
| Slice.cs:19:22:19:29 | call to method Slice | Slice(int, int) | 0 | 0 |
20-
| Slice.cs:19:22:19:29 | call to method Slice | Slice(int, int) | 1 | ^8 |
21-
| Slice.cs:20:22:20:30 | call to method Slice | Slice(int, int) | 0 | access to parameter a |
22-
| Slice.cs:20:22:20:30 | call to method Slice | Slice(int, int) | 1 | ^access to parameter b |
23-
| Slice.cs:21:22:21:27 | call to method Slice | Slice(int, int) | 0 | 0 |
24-
| Slice.cs:21:22:21:27 | call to method Slice | Slice(int, int) | 1 | ^0 |
14+
| Slice.cs:19:22:19:29 | call to method Slice | Slice(int, int) | 0 | 5 |
15+
| Slice.cs:19:22:19:29 | call to method Slice | Slice(int, int) | 1 | access to parameter a |
16+
| Slice.cs:20:22:20:28 | call to method Slice | Slice(int, int) | 0 | 0 |
17+
| Slice.cs:20:22:20:28 | call to method Slice | Slice(int, int) | 1 | 6 |
18+
| Slice.cs:21:22:21:28 | call to method Slice | Slice(int, int) | 0 | 7 |
19+
| Slice.cs:21:22:21:28 | call to method Slice | Slice(int, int) | 1 | ^0 |
20+
| Slice.cs:22:22:22:29 | call to method Slice | Slice(int, int) | 0 | 0 |
21+
| Slice.cs:22:22:22:29 | call to method Slice | Slice(int, int) | 1 | ^8 |
22+
| Slice.cs:23:22:23:30 | call to method Slice | Slice(int, int) | 0 | access to parameter a |
23+
| Slice.cs:23:22:23:30 | call to method Slice | Slice(int, int) | 1 | ^access to parameter b |
24+
| Slice.cs:24:22:24:27 | call to method Slice | Slice(int, int) | 0 | 0 |
25+
| Slice.cs:24:22:24:27 | call to method Slice | Slice(int, int) | 1 | ^0 |
26+
methodCalls
27+
| Slice.cs:3:14:3:14 | call to method <object initializer> | <object initializer>() |
28+
| Slice.cs:8:20:8:26 | call to method Substring | Substring(int, int) |
29+
| Slice.cs:9:20:9:25 | call to method Substring | Substring(int, int) |
30+
| Slice.cs:10:20:10:25 | call to method Substring | Substring(int, int) |
31+
| Slice.cs:11:20:11:26 | call to method Substring | Substring(int, int) |
32+
| Slice.cs:12:20:12:27 | call to method Substring | Substring(int, int) |
33+
| Slice.cs:13:20:13:24 | call to method Substring | Substring(int, int) |
34+
| Slice.cs:19:22:19:29 | call to method Slice | Slice(int, int) |
35+
| Slice.cs:20:22:20:28 | call to method Slice | Slice(int, int) |
36+
| Slice.cs:21:22:21:28 | call to method Slice | Slice(int, int) |
37+
| Slice.cs:22:22:22:29 | call to method Slice | Slice(int, int) |
38+
| Slice.cs:23:22:23:30 | call to method Slice | Slice(int, int) |
39+
| Slice.cs:24:22:24:27 | call to method Slice | Slice(int, int) |

csharp/ql/test/library-tests/spans/slice.ql

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ private string printExpr(Expr e) {
77
result = e.toString()
88
}
99

10-
query predicate methodCalls(MethodCall mc, string m, int i, string arg) {
11-
m = mc.getTarget().toStringWithTypes() and
10+
query predicate methodArguments(MethodCall mc, string target, int i, string arg) {
11+
target = mc.getTarget().toStringWithTypes() and
1212
arg = printExpr(mc.getArgument(i))
1313
}
14+
15+
query predicate methodCalls(MethodCall mc, string target) {
16+
target = mc.getTarget().toStringWithTypes()
17+
}

0 commit comments

Comments
 (0)