mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-11 06:02:53 -05:00
Add test and address PR
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
////var C1 = class D</*1*/T> {}
|
||||
////var C3 = class D<T, /*2*/
|
||||
////var C4 = class D<T, /*3*/U>{}
|
||||
////var C5 = class D<T extends /*4*/>{}
|
||||
|
||||
goTo.marker("0");
|
||||
verify.completionListIsEmpty();
|
||||
@@ -12,4 +13,6 @@ verify.completionListIsEmpty();
|
||||
goTo.marker("2");
|
||||
verify.completionListIsEmpty();
|
||||
goTo.marker("3");
|
||||
verify.completionListIsEmpty();
|
||||
verify.completionListIsEmpty();
|
||||
goTo.marker("4");
|
||||
verify.not.completionListIsEmpty();
|
||||
@@ -10,11 +10,9 @@ verify.completionListIsEmpty();
|
||||
goTo.marker("1");
|
||||
verify.completionListContains("V");
|
||||
goTo.marker("2");
|
||||
verify.not.completionListIsEmpty();
|
||||
verify.completionListContains("K");
|
||||
verify.completionListContains("V");
|
||||
goTo.marker("3");
|
||||
verify.not.completionListIsEmpty();
|
||||
verify.not.completionListContains("K");
|
||||
verify.not.completionListContains("V");
|
||||
verify.completionListContains("K1");
|
||||
|
||||
@@ -1,13 +1,22 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
////type /*0*/List</*1*/T> = /*2*/T[]
|
||||
////type /*3*/List2</*4*/T extends string> = /*5*/T[];
|
||||
|
||||
type List2<T extends string> = T[];
|
||||
|
||||
type L<T> = T[]
|
||||
let typeAliashDisplayParts = [{ text: "type", kind: "keyword" }, { text: " ", kind: "space" }, { text: "List", kind: "aliasName" },
|
||||
{ text: "<", kind: "punctuation" }, { text: "T", kind: "typeParameterName" }, { text: ">", kind: "punctuation" }];
|
||||
|
||||
let typeAliashDisplayParts2 = [{ text: "type", kind: "keyword" }, { text: " ", kind: "space" }, { text: "List2", kind: "aliasName" },
|
||||
{ text: "<", kind: "punctuation" }, { text: "T", kind: "typeParameterName" }, { text: " ", kind: "space" }, { text: "extends", kind: "keyword" },
|
||||
{ text: " ", kind: "space" }, { text: "string", kind: "keyword" }, { text: ">", kind: "punctuation" }];
|
||||
|
||||
let typeParameterDisplayParts = [{ text: "(", kind: "punctuation" }, { text: "type parameter", kind: "text" }, { text: ")", kind: "punctuation" }, { text: " ", kind: "space" },
|
||||
{ text: "T", kind: "typeParameterName" }, { text: " ", kind: "space" }, { text: "in", kind: "keyword" }, { text: " ", kind: "space" } ]
|
||||
|
||||
|
||||
goTo.marker('0');
|
||||
verify.verifyQuickInfoDisplayParts("type", "", { start: test.markerByName("0").position, length: "List".length },
|
||||
typeAliashDisplayParts.concat([{ text: " ", kind: "space" }, { text: "=", kind: "operator" }, { "text": " ", "kind": "space" }, { text: "T", kind: "typeParameterName" },
|
||||
@@ -20,3 +29,16 @@ verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByN
|
||||
goTo.marker('2');
|
||||
verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("2").position, length: "T".length },
|
||||
typeParameterDisplayParts.concat(typeAliashDisplayParts), []);
|
||||
|
||||
goTo.marker('3');
|
||||
verify.verifyQuickInfoDisplayParts("type", "", { start: test.markerByName("3").position, length: "List2".length },
|
||||
typeAliashDisplayParts2.concat([{ text: " ", kind: "space" }, { text: "=", kind: "operator" }, { "text": " ", "kind": "space" }, { text: "T", kind: "typeParameterName" },
|
||||
{ text: "[", kind: "punctuation" }, { text: "]", kind: "punctuation" }]), []);
|
||||
|
||||
goTo.marker('4');
|
||||
verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("4").position, length: "T".length },
|
||||
typeParameterDisplayParts.concat(typeAliashDisplayParts2), []);
|
||||
|
||||
goTo.marker('5');
|
||||
verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("5").position, length: "T".length },
|
||||
typeParameterDisplayParts.concat(typeAliashDisplayParts2), []);
|
||||
Reference in New Issue
Block a user