TypeScript/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.ts
2015-11-24 17:50:00 -08:00

22 lines
No EOL
1.4 KiB
TypeScript

/// <reference path='fourslash.ts'/>
//// type MixinCtor<A> = new () => /*0*/A & { constructor: MixinCtor</*1*/A> };
//// type MixinCtor<A> = new () => A & { constructor: { constructor: MixinCtor</*2*/A> } };
let typeAliashDisplayParts = [{ text: "type", kind: "keyword" }, { text: " ", kind: "space" }, { text: "MixinCtor", kind: "aliasName" },
{ text: "<", kind: "punctuation" }, { text: "A", kind: "typeParameterName" }, { text: ">", kind: "punctuation" }];
let typeParameterDisplayParts = [{ text: "(", kind: "punctuation" }, { text: "type parameter", kind: "text" }, { text: ")", kind: "punctuation" }, { text: " ", kind: "space" },
{ text: "A", kind: "typeParameterName" }, { text: " ", kind: "space" }, { text: "in", kind: "keyword" }, { text: " ", kind: "space" }];
goTo.marker('0');
verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("0").position, length: "A".length },
typeParameterDisplayParts.concat(typeAliashDisplayParts), []);
goTo.marker('1');
verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("1").position, length: "A".length },
typeParameterDisplayParts.concat(typeAliashDisplayParts), []);;
goTo.marker('2');
verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("2").position, length: "A".length },
typeParameterDisplayParts.concat(typeAliashDisplayParts), []);