Skip to content

Commit a3b2237

Browse files
Added tests for syntactic context.
1 parent 53a0f23 commit a3b2237

4 files changed

+128
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/// <reference path="fourslash.ts" />
2+
3+
////function foo<T>(x: T): T {
4+
//// throw null;
5+
////}
6+
////
7+
////foo(/*1*/"");
8+
////foo(` ${100/*2*/}`);
9+
////foo(/*3*/);
10+
////foo(100 /*4*/)
11+
////foo([/*5*/])
12+
////foo({ hello: "hello"/*6*/})
13+
14+
const charMap = {
15+
1: "(",
16+
2: ",",
17+
3: "(",
18+
4: "<",
19+
5: ",",
20+
6: ",",
21+
}
22+
23+
for (const markerName of Object.keys(charMap)) {
24+
const triggerCharacter = charMap[markerName];
25+
goTo.marker(markerName);
26+
edit.insert(triggerCharacter);
27+
verify.noSignatureHelpForTriggerReason({
28+
kind: "characterTyped",
29+
triggerCharacter,
30+
});
31+
verify.signatureHelpPresentForTriggerReason({
32+
kind: "retrigger",
33+
triggerCharacter,
34+
});
35+
edit.backspace(triggerCharacter.length);
36+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/// <reference path="fourslash.ts" />
2+
3+
////declare class ViewJayEss {
4+
//// constructor(obj: object);
5+
////}
6+
////new ViewJayEss({
7+
//// methods: {
8+
//// sayHello/**/
9+
//// }
10+
////});
11+
12+
goTo.marker();
13+
edit.insert("(");
14+
verify.noSignatureHelpForTriggerReason({
15+
kind: "characterTyped",
16+
triggerCharacter: "(",
17+
});
18+
19+
edit.insert(") {},");
20+
verify.noSignatureHelpForTriggerReason({
21+
kind: "characterTyped",
22+
triggerCharacter: ",",
23+
});
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/// <reference path="fourslash.ts" />
2+
3+
////declare function foo<T>(x: T, y: T): T;
4+
////
5+
////foo/*1*//*2*/;
6+
////foo(/*3*/100/*4*/);
7+
////foo/*5*//*6*/();
8+
9+
const charMap = {
10+
1: "(",
11+
2: "<",
12+
3: ",",
13+
4: ",",
14+
5: "(",
15+
6: "<",
16+
}
17+
18+
for (const markerName of Object.keys(charMap)) {
19+
const triggerCharacter = charMap[markerName];
20+
goTo.marker(markerName);
21+
edit.insert(triggerCharacter);
22+
verify.signatureHelpPresentForTriggerReason({
23+
kind: "characterTyped",
24+
triggerCharacter,
25+
});
26+
verify.signatureHelpPresentForTriggerReason({
27+
kind: "retrigger",
28+
triggerCharacter,
29+
});
30+
edit.backspace(triggerCharacter.length);
31+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/// <reference path="fourslash.ts" />
2+
3+
////declare function foo<T>(x: T, y: T): T;
4+
////declare function bar<U>(x: U, y: U): U;
5+
////
6+
////foo(bar/*1*/)
7+
8+
goTo.marker("1");
9+
10+
edit.insert("(");
11+
verify.signatureHelp({
12+
text: "bar<U>(x: U, y: U): U",
13+
triggerReason: {
14+
kind: "characterTyped",
15+
triggerCharacter: "(",
16+
}
17+
});
18+
edit.backspace();
19+
20+
edit.insert("<");
21+
verify.signatureHelp({
22+
text: "bar<U>(x: U, y: U): U",
23+
triggerReason: {
24+
kind: "characterTyped",
25+
triggerCharacter: "(",
26+
}
27+
});
28+
edit.backspace();
29+
30+
edit.insert(",");
31+
verify.signatureHelp({
32+
text: "foo(x: <U>(x: U, y: U) => U, y: <U>(x: U, y: U) => U): <U>(x: U, y: U) => U",
33+
triggerReason: {
34+
kind: "characterTyped",
35+
triggerCharacter: "(",
36+
}
37+
});
38+
edit.backspace();

0 commit comments

Comments
 (0)