diff --git a/src/services/services.ts b/src/services/services.ts index 4cf907dd7ce..79eeed33fff 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -249,14 +249,14 @@ module ts { getDocumentationComment(): SymbolDisplayPart[] { if (this.documentationComment === undefined) { - this.documentationComment = getJsDocCommentsFromDeclarations(this.declarations, this.name); + this.documentationComment = getJsDocCommentsFromDeclarations(this.declarations, this.name, !(this.flags & SymbolFlags.Property)); } return this.documentationComment; } } - function getJsDocCommentsFromDeclarations(declarations: Declaration[], name: string) { + function getJsDocCommentsFromDeclarations(declarations: Declaration[], name: string, canUseParsedParamTagComments: boolean) { var documentationComment = []; var docComments = getJsDocCommentsSeparatedByNewLines(); ts.forEach(docComments, docComment => { @@ -275,7 +275,7 @@ module ts { ts.forEach(declarations, declaration => { var sourceFileOfDeclaration = getSourceFileOfNode(declaration); // If it is parameter - try and get the jsDoc comment with @param tag from function declaration's jsDoc comments - if (declaration.kind === SyntaxKind.Parameter) { + if (canUseParsedParamTagComments && declaration.kind === SyntaxKind.Parameter) { ts.forEach(getJsDocCommentTextRange(declaration.parent, sourceFileOfDeclaration), jsDocCommentTextRange => { var cleanedParamJsDocComment = getCleanedParamJsDocComment(jsDocCommentTextRange.pos, jsDocCommentTextRange.end, sourceFileOfDeclaration); if (cleanedParamJsDocComment) { @@ -613,7 +613,10 @@ module ts { getDocumentationComment(): SymbolDisplayPart[] { if (this.documentationComment === undefined) { - this.documentationComment = this.declaration ? getJsDocCommentsFromDeclarations([this.declaration], this.declaration.name ? this.declaration.name.text : "") : []; + this.documentationComment = this.declaration ? getJsDocCommentsFromDeclarations( + [this.declaration], + this.declaration.name ? this.declaration.name.text : "", + /*canUseParsedParamTagComments*/ false) : []; } return this.documentationComment; @@ -2689,9 +2692,7 @@ module ts { if (symbolKind !== ScriptElementKind.unknown || symbolFlags & SymbolFlags.Signature || symbolFlags & SymbolFlags.Class) { // If it is accessor they are allowed only if location is at name of the accessor if (symbolKind === ScriptElementKind.memberGetAccessorElement || symbolKind === ScriptElementKind.memberSetAccessorElement) { - if (!isNameOfFunctionDeclaration(location) || ts.contains(symbol.getDeclarations(), location.parent)) { - symbolKind = ScriptElementKind.memberVariableElement; - } + symbolKind = ScriptElementKind.memberVariableElement; } var type = typeResolver.getTypeOfSymbol(symbol); @@ -2750,7 +2751,7 @@ module ts { hasAddedSymbolInfo = true; } } - else if (isNameOfFunctionDeclaration(location) || // name of function declaration + else if ((isNameOfFunctionDeclaration(location) && !(symbol.flags & SymbolFlags.Accessor)) || // name of function declaration (location.kind === SyntaxKind.ConstructorKeyword && location.parent.kind === SyntaxKind.Constructor)) { // At constructor keyword of constructor declaration // get the signature from the declaration and write it var signature: Signature; diff --git a/tests/cases/fourslash/commentsClass.ts b/tests/cases/fourslash/commentsClass.ts new file mode 100644 index 00000000000..a2c9ccc6fab --- /dev/null +++ b/tests/cases/fourslash/commentsClass.ts @@ -0,0 +1,176 @@ +/// + +/////** This is class c2 without constuctor*/ +////class c/*1*/2 { +////} +////var i/*2*/2 = new c/*28*/2(/*3*/); +////var i2/*4*/_c = c/*5*/2; +////class c/*6*/3 { +//// /** Constructor comment*/ +//// constructor() { +//// } +////} +////var i/*7*/3 = new c/*29*/3(/*8*/); +////var i3/*9*/_c = c/*10*/3; +/////** Class comment*/ +////class c/*11*/4 { +//// /** Constructor comment*/ +//// constructor() { +//// } +////} +////var i/*12*/4 = new c/*30*/4(/*13*/); +////var i4/*14*/_c = c/*15*/4; +/////** Class with statics*/ +////class c/*16*/5 { +//// static s1: number; +////} +////var i/*17*/5 = new c/*31*/5(/*18*/); +////var i5_/*19*/c = c/*20*/5; +/////** class with statics and constructor*/ +////class c/*21*/6 { +//// /** s1 comment*/ +//// static s1: number; +//// /** constructor comment*/ +//// constructor() { +//// } +////} +////var i/*22*/6 = new c/*32*/6(/*23*/); +////var i6/*24*/_c = c/*25*/6; +/////*26*/ +////class a { +//// /** +//// constructor for a +//// @param a this is my a +//// */ +//// constructor(a: string) { +//// } +////} +////new a(/*27*/"Hello"); +////module m { +//// export module m2 { +//// /** class comment */ +//// export class c1 { +//// /** constructor comment*/ +//// constructor() { +//// } +//// } +//// } +////} +////var myVar = new m.m2.c/*33*/1(); + +// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed +edit.insert(''); + +goTo.marker('1'); +verify.quickInfoIs("class c2", "This is class c2 without constuctor"); + +goTo.marker('2'); +verify.quickInfoIs("(var) i2: c2", ""); + +goTo.marker('3'); +verify.currentSignatureHelpDocCommentIs(""); + +goTo.marker('4'); +verify.quickInfoIs("(var) i2_c: typeof c2", ""); + +goTo.marker('5'); +verify.quickInfoIs("class c2", "This is class c2 without constuctor"); + +goTo.marker('6'); +verify.quickInfoIs("class c3", ""); + +goTo.marker('7'); +verify.quickInfoIs("(var) i3: c3", ""); + +goTo.marker('8'); +verify.currentSignatureHelpDocCommentIs("Constructor comment"); + +goTo.marker('9'); +verify.quickInfoIs("(var) i3_c: typeof c3", ""); + +goTo.marker('10'); +verify.quickInfoIs("class c3", ""); + +goTo.marker('11'); +verify.quickInfoIs("class c4", "Class comment"); + +goTo.marker('12'); +verify.quickInfoIs("(var) i4: c4", ""); + +goTo.marker('13'); +verify.currentSignatureHelpDocCommentIs("Constructor comment"); + +goTo.marker('14'); +verify.quickInfoIs("(var) i4_c: typeof c4", ""); + +goTo.marker('15'); +verify.quickInfoIs("class c4", "Class comment"); + +goTo.marker('16'); +verify.quickInfoIs("class c5", "Class with statics"); + +goTo.marker('17'); +verify.quickInfoIs("(var) i5: c5", ""); + +goTo.marker('18'); +verify.currentSignatureHelpDocCommentIs(""); + +goTo.marker('19'); +verify.quickInfoIs("(var) i5_c: typeof c5", ""); + +goTo.marker('20'); +verify.quickInfoIs("class c5", "Class with statics"); + +goTo.marker('21'); +verify.quickInfoIs("class c6", "class with statics and constructor"); + +goTo.marker('22'); +verify.quickInfoIs("(var) i6: c6", ""); + +goTo.marker('23'); +verify.currentSignatureHelpDocCommentIs("constructor comment"); + +goTo.marker('24'); +verify.quickInfoIs("(var) i6_c: typeof c6", ""); + +goTo.marker('25'); +verify.quickInfoIs("class c6", "class with statics and constructor"); + +goTo.marker('26'); +verify.completionListContains("c2", "class c2", "This is class c2 without constuctor"); +verify.completionListContains("i2", "(var) i2: c2", ""); +verify.completionListContains("i2_c", "(var) i2_c: typeof c2", ""); +verify.completionListContains("c3", "class c3", ""); +verify.completionListContains("i3", "(var) i3: c3", ""); +verify.completionListContains("i3_c", "(var) i3_c: typeof c3", ""); +verify.completionListContains("c4", "class c4", "Class comment"); +verify.completionListContains("i4", "(var) i4: c4", ""); +verify.completionListContains("i4_c", "(var) i4_c: typeof c4", ""); +verify.completionListContains("c5", "class c5", "Class with statics"); +verify.completionListContains("i5", "(var) i5: c5", ""); +verify.completionListContains("i5_c", "(var) i5_c: typeof c5"); +verify.completionListContains("c6", "class c6", "class with statics and constructor"); +verify.completionListContains("i6", "(var) i6: c6", ""); +verify.completionListContains("i6_c", "(var) i6_c: typeof c6", ""); + +goTo.marker('27'); +verify.currentSignatureHelpDocCommentIs("constructor for a"); +verify.currentParameterHelpArgumentDocCommentIs("this is my a"); + +goTo.marker('28'); +verify.quickInfoIs("(constructor) c2(): c2", ""); + +goTo.marker('29'); +verify.quickInfoIs("(constructor) c3(): c3", "Constructor comment"); + +goTo.marker('30'); +verify.quickInfoIs("(constructor) c4(): c4", "Constructor comment"); + +goTo.marker('31'); +verify.quickInfoIs("(constructor) c5(): c5", ""); + +goTo.marker('32'); +verify.quickInfoIs("(constructor) c6(): c6", "constructor comment"); + +goTo.marker('33'); +verify.quickInfoIs("(constructor) m.m2.c1(): m.m2.c1", "constructor comment"); \ No newline at end of file diff --git a/tests/cases/fourslash/commentsClassMembers.ts b/tests/cases/fourslash/commentsClassMembers.ts new file mode 100644 index 00000000000..c524b4184c7 --- /dev/null +++ b/tests/cases/fourslash/commentsClassMembers.ts @@ -0,0 +1,706 @@ +/// + +/////** This is comment for c1*/ +////class c/*1*/1 { +//// /** p1 is property of c1*/ +//// public p/*2*/1: number; +//// /** sum with property*/ +//// public p/*3*/2(/** number to add*/b: number) { +//// return this./*4*/p1 + /*5*/b; +//// } +//// /** getter property*/ +//// public get p/*6*/3() { +//// return this./*7*/p/*8q*/2(/*8*/this./*9*/p1); +//// } +//// /** setter property*/ +//// public set p/*10*/3(/** this is value*/value: number) { +//// this./*11*/p1 = this./*12*/p/*13q*/2(/*13*/value); +//// } +//// /** pp1 is property of c1*/ +//// private p/*14*/p1: number; +//// /** sum with property*/ +//// private p/*15*/p2(/** number to add*/b: number) { +//// return this./*16*/p1 + /*17*/b; +//// } +//// /** getter property*/ +//// private get p/*18*/p3() { +//// return this./*19*/p/*20q*/p2(/*20*/this./*21*/pp1); +//// } +//// /** setter property*/ +//// private set p/*22*/p3( /** this is value*/value: number) { +//// this./*23*/pp1 = this./*24*/p/*25q*/p2(/*25*/value); +//// } +//// /** Constructor method*/ +//// constru/*26*/ctor() { +//// } +//// /** s1 is static property of c1*/ +//// static s/*27*/1: number; +//// /** static sum with property*/ +//// static s/*28*/2(/** number to add*/b: number) { +//// return /*29*/c1./*30*/s1 + /*31*/b; +//// } +//// /** static getter property*/ +//// static get s/*32*/3() { +//// return /*33*/c1./*34*/s/*35q*/2(/*35*/c1./*36*/s1); +//// } +//// /** setter property*/ +//// static set s/*37*/3( /** this is value*/value: number) { +//// /*38*/c1./*39*/s1 = /*40*/c1./*41*/s/*42q*/2(/*42*/value); +//// } +//// public nc_/*43*/p1: number; +//// public nc_/*44*/p2(b: number) { +//// return this.nc_p1 + /*45*/b; +//// } +//// public get nc_/*46*/p3() { +//// return this.nc/*47q*/_p2(/*47*/this.nc_p1); +//// } +//// public set nc/*48*/_p3(value: number) { +//// this.nc_p1 = this.nc/*49q*/_p2(/*49*/value); +//// } +//// private nc/*50*/_pp1: number; +//// private nc_/*51*/pp2(b: number) { +//// return this.nc_pp1 + /*52*/b; +//// } +//// private get nc/*53*/_pp3() { +//// return this.nc_/*54q*/pp2(/*54*/this.nc_pp1); +//// } +//// private set nc_p/*55*/p3(value: number) { +//// this.nc_pp1 = this./*56q*/nc_pp2(/*56*/value); +//// } +//// static nc/*57*/_s1: number; +//// static nc/*58*/_s2(b: number) { +//// return c1.nc_s1 + /*59*/b; +//// } +//// static get nc/*60*/_s3() { +//// return c1.nc/*61q*/_s2(/*61*/c1.nc_s1); +//// } +//// static set nc/*62*/_s3(value: number) { +//// c1.nc_s1 = c1.nc_/*63q*/s2(/*63*/value); +//// } +////} +////var i/*64*/1 = new c/*65q*/1(/*65*/); +////var i1/*66*/_p = i1./*67*/p1; +////var i1/*68*/_f = i1.p/*69*/2; +////var i1/*70*/_r = i1.p/*71q*/2(/*71*/20); +////var i1_p/*72*/rop = i1./*73*/p3; +////i1./*74*/p3 = i1_/*75*/prop; +////var i1_/*76*/nc_p = i1.n/*77*/c_p1; +////var i1/*78*/_ncf = i1.nc_/*79*/p2; +////var i1_/*80*/ncr = i1.nc/*81q*/_p2(/*81*/20); +////var i1_n/*82*/cprop = i1.n/*83*/c_p3; +////i1.nc/*84*/_p3 = i1_/*85*/ncprop; +////var i1_/*86*/s_p = /*87*/c1./*88*/s1; +////var i1_s/*89*/_f = c1./*90*/s2; +////var i1_/*91*/s_r = c1.s/*92q*/2(/*92*/20); +////var i1_s/*93*/_prop = c1.s/*94*/3; +////c1.s/*95*/3 = i1_s/*96*/_prop; +////var i1_s/*97*/_nc_p = c1.n/*98*/c_s1; +////var i1_s_/*99*/ncf = c1.nc/*100*/_s2; +////var i1_s_/*101*/ncr = c1.n/*102q*/c_s2(/*102*/20); +////var i1_s_n/*103*/cprop = c1.nc/*104*/_s3; +////c1.nc/*105*/_s3 = i1_s_nc/*106*/prop; +////var i1/*107*/_c = c/*108*/1; +/////*109*/ +////class cProperties { +//// private val: number; +//// /** getter only property*/ +//// public get p1() { +//// return this.val; +//// } +//// public get nc_p1() { +//// return this.val; +//// } +//// /**setter only property*/ +//// public set p2(value: number) { +//// this.val = value; +//// } +//// public set nc_p2(value: number) { +//// this.val = value; +//// } +////} +////var cProperties_i = new cProperties(); +////cProperties_i./*110*/p2 = cProperties_i.p/*111*/1; +////cProperties_i.nc/*112*/_p2 = cProperties_i.nc/*113*/_p1; +////class cWithConstructorProperty { +//// /** +//// * this is class cWithConstructorProperty's constructor +//// * @param a this is first parameter a +//// */ +//// /*119*/constructor(/**more info about a*/public a: number) { +//// var b/*118*/bbb = 10; +//// th/*116*/is./*114*/a = /*115*/a + 2 + bb/*117*/bb; +//// } +////} + +goTo.marker('1'); +verify.quickInfoIs("class c1", "This is comment for c1"); + +goTo.marker('2'); +verify.quickInfoIs("(property) c1.p1: number", "p1 is property of c1"); + +goTo.marker('3'); +verify.quickInfoIs("(method) c1.p2(b: number): number", "sum with property"); + +goTo.marker('4'); +verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property"); +verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property"); +verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1"); +verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property"); +verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", ""); +verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", ""); +verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); +verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); +verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); + +goTo.marker('5'); +verify.completionListContains("b", "(parameter) b: number", "number to add"); + +goTo.marker('6'); +verify.quickInfoIs("(property) c1.p3: number", "getter property\nsetter property"); + +goTo.marker('7'); +verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property"); +verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property"); +verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1"); +verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property"); +verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", ""); +verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", ""); +verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); +verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); +verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); + +goTo.marker('8'); +verify.currentSignatureHelpDocCommentIs("sum with property"); +verify.currentParameterHelpArgumentDocCommentIs("number to add"); +goTo.marker('8q'); +verify.quickInfoIs("(method) c1.p2(b: number): number", "sum with property"); + +goTo.marker('9'); +verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property"); +verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property"); +verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1"); +verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property"); +verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", ""); +verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", ""); +verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); +verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); +verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); + +goTo.marker('10'); +verify.quickInfoIs("(property) c1.p3: number", "getter property\nsetter property"); + +goTo.marker('11'); +verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property"); +verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property"); +verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1"); +verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property"); +verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", ""); +verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", ""); +verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); +verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); +verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); + +goTo.marker('12'); +verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property"); +verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property"); +verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1"); +verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property"); +verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", ""); +verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", ""); +verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); +verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); +verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); + +goTo.marker('13'); +verify.currentSignatureHelpDocCommentIs("sum with property"); +verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.completionListContains("value", "(parameter) value: number", "this is value"); +goTo.marker('13q'); +verify.quickInfoIs("(method) c1.p2(b: number): number", "sum with property"); + +goTo.marker('14'); +verify.quickInfoIs("(property) c1.pp1: number", "pp1 is property of c1"); + +goTo.marker('15'); +verify.quickInfoIs("(method) c1.pp2(b: number): number", "sum with property"); + +goTo.marker('16'); +verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property"); +verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property"); +verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1"); +verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property"); +verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", ""); +verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", ""); +verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); +verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); +verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); + +goTo.marker('17'); +verify.completionListContains("b", "(parameter) b: number", "number to add"); + +goTo.marker('18'); +verify.quickInfoIs("(property) c1.pp3: number", "getter property\nsetter property"); + +goTo.marker('19'); +verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property"); +verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property"); +verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1"); +verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property"); +verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", ""); +verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", ""); +verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); +verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); +verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); + +goTo.marker('20'); +verify.currentSignatureHelpDocCommentIs("sum with property"); +verify.currentParameterHelpArgumentDocCommentIs("number to add"); +goTo.marker('20q'); +verify.quickInfoIs("(method) c1.pp2(b: number): number", "sum with property"); + +goTo.marker('21'); +verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property"); +verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property"); +verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1"); +verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property"); +verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", ""); +verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", ""); +verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); +verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); +verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); + +goTo.marker('22'); +verify.quickInfoIs("(property) c1.pp3: number", "getter property\nsetter property"); + +goTo.marker('23'); +verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property"); +verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property"); +verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1"); +verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property"); +verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", ""); +verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", ""); +verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); +verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); +verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); + +goTo.marker('24'); +verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property"); +verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property"); +verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1"); +verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property"); +verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", ""); +verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", ""); +verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", ""); +verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", ""); +verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", ""); + +goTo.marker('25'); +verify.currentSignatureHelpDocCommentIs("sum with property"); +verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.completionListContains("value", "(parameter) value: number", "this is value"); +goTo.marker('25q'); +verify.quickInfoIs("(method) c1.pp2(b: number): number", "sum with property"); + +goTo.marker('26'); +verify.quickInfoIs("(constructor) c1(): c1", "Constructor method"); + +goTo.marker('27'); +verify.quickInfoIs("(property) c1.s1: number", "s1 is static property of c1"); + +goTo.marker('28'); +verify.quickInfoIs("(method) c1.s2(b: number): number", "static sum with property"); + +goTo.marker('29'); +verify.completionListContains("c1", "class c1", "This is comment for c1"); + +goTo.marker('30'); +verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1"); +verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property"); +verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property"); +verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", ""); +verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", ""); +verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", ""); + +goTo.marker('31'); +verify.completionListContains("b", "(parameter) b: number", "number to add"); + +goTo.marker('32'); +verify.quickInfoIs("(property) c1.s3: number", "static getter property\nsetter property"); + +goTo.marker('33'); +verify.completionListContains("c1", "class c1", "This is comment for c1"); + +goTo.marker('34'); +verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1"); +verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property"); +verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property"); +verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", ""); +verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", ""); +verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", ""); + +goTo.marker('35'); +verify.currentSignatureHelpDocCommentIs("static sum with property"); +verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.completionListContains("c1", "class c1", "This is comment for c1"); +goTo.marker('35q'); +verify.quickInfoIs("(method) c1.s2(b: number): number", "static sum with property"); + +goTo.marker('36'); +verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1"); +verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property"); +verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property"); +verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", ""); +verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", ""); +verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", ""); + +goTo.marker('37'); +verify.quickInfoIs("(property) c1.s3: number", "static getter property\nsetter property"); + +goTo.marker('38'); +verify.completionListContains("c1", "class c1", "This is comment for c1"); + +goTo.marker('39'); +verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1"); +verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property"); +verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property"); +verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", ""); +verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", ""); +verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", ""); + +goTo.marker('40'); +verify.completionListContains("c1", "class c1", "This is comment for c1"); + +goTo.marker('41'); +verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1"); +verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property"); +verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property"); +verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", ""); +verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", ""); +verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", ""); + +goTo.marker('42'); +verify.currentSignatureHelpDocCommentIs("static sum with property"); +verify.currentParameterHelpArgumentDocCommentIs("number to add"); +verify.completionListContains("value", "(parameter) value: number", "this is value"); +goTo.marker('42q'); +verify.quickInfoIs("(method) c1.s2(b: number): number", "static sum with property"); + +goTo.marker('43'); +verify.quickInfoIs("(property) c1.nc_p1: number", ""); + +goTo.marker('44'); +verify.quickInfoIs("(method) c1.nc_p2(b: number): number", ""); + +goTo.marker('45'); +verify.completionListContains("b", "(parameter) b: number", ""); + +goTo.marker('46'); +verify.quickInfoIs("(property) c1.nc_p3: number", ""); + +goTo.marker('47'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +goTo.marker('47q'); +verify.quickInfoIs("(method) c1.nc_p2(b: number): number", ""); + +goTo.marker('48'); +verify.quickInfoIs("(property) c1.nc_p3: number", ""); + +goTo.marker('49'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +verify.completionListContains("value", "(parameter) value: number", ""); +goTo.marker('49q'); +verify.quickInfoIs("(method) c1.nc_p2(b: number): number", ""); + +goTo.marker('50'); +verify.quickInfoIs("(property) c1.nc_pp1: number", ""); + +goTo.marker('51'); +verify.quickInfoIs("(method) c1.nc_pp2(b: number): number", ""); + +goTo.marker('52'); +verify.completionListContains("b", "(parameter) b: number", ""); + +goTo.marker('53'); +verify.quickInfoIs("(property) c1.nc_pp3: number", ""); + +goTo.marker('54'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +goTo.marker('54q'); +verify.quickInfoIs("(method) c1.nc_pp2(b: number): number", ""); + +goTo.marker('55'); +verify.quickInfoIs("(property) c1.nc_pp3: number", ""); + +goTo.marker('56'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +verify.completionListContains("value", "(parameter) value: number", ""); +goTo.marker('56q'); +verify.quickInfoIs("(method) c1.nc_pp2(b: number): number", ""); + +goTo.marker('57'); +verify.quickInfoIs("(property) c1.nc_s1: number", ""); + +goTo.marker('58'); +verify.quickInfoIs("(method) c1.nc_s2(b: number): number", ""); + +goTo.marker('59'); +verify.completionListContains("b", "(parameter) b: number", ""); + +goTo.marker('60'); +verify.quickInfoIs("(property) c1.nc_s3: number", ""); + +goTo.marker('61'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +goTo.marker('61q'); +verify.quickInfoIs("(method) c1.nc_s2(b: number): number", ""); + +goTo.marker('62'); +verify.quickInfoIs("(property) c1.nc_s3: number", ""); + +goTo.marker('63'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +verify.completionListContains("value", "(parameter) value: number", ""); +goTo.marker('63q'); +verify.quickInfoIs("(method) c1.nc_s2(b: number): number", ""); + +goTo.marker('64'); +verify.quickInfoIs("(var) i1: c1", ""); + +goTo.marker('65'); +verify.currentSignatureHelpDocCommentIs("Constructor method"); +goTo.marker('65q'); +verify.quickInfoIs("(constructor) c1(): c1", "Constructor method"); + +goTo.marker('66'); +verify.quickInfoIs("(var) i1_p: number", ""); + +goTo.marker('67'); +verify.quickInfoIs("(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1"); +verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property"); +verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", ""); +verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", ""); + +goTo.marker('68'); +verify.quickInfoIs("(var) i1_f: (b: number) => number", ""); + +goTo.marker('69'); +verify.quickInfoIs("(method) c1.p2(b: number): number", "sum with property"); + +goTo.marker('70'); +verify.quickInfoIs("(var) i1_r: number", ""); + +goTo.marker('71'); +verify.currentSignatureHelpDocCommentIs("sum with property"); +verify.currentParameterHelpArgumentDocCommentIs("number to add"); +goTo.marker('71q'); +verify.quickInfoIs("(method) c1.p2(b: number): number", "sum with property"); + +goTo.marker('72'); +verify.quickInfoIs("(var) i1_prop: number", ""); +goTo.marker('73'); +verify.quickInfoIs("(property) c1.p3: number", "getter property\nsetter property"); +goTo.marker('74'); +verify.quickInfoIs("(property) c1.p3: number", "getter property\nsetter property"); +goTo.marker('75'); +verify.quickInfoIs("(var) i1_prop: number", ""); + +goTo.marker('76'); +verify.quickInfoIs("(var) i1_nc_p: number", ""); + +goTo.marker('77'); +verify.quickInfoIs("(property) c1.nc_p1: number", ""); + +goTo.marker('78'); +verify.quickInfoIs("(var) i1_ncf: (b: number) => number", ""); + +goTo.marker('79'); +verify.quickInfoIs("(method) c1.nc_p2(b: number): number", ""); + +goTo.marker('80'); +verify.quickInfoIs("(var) i1_ncr: number", ""); + +goTo.marker('81'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +goTo.marker('81q'); +verify.quickInfoIs("(method) c1.nc_p2(b: number): number", ""); + +goTo.marker('82'); +verify.quickInfoIs("(var) i1_ncprop: number", ""); +goTo.marker('83'); +verify.quickInfoIs("(property) c1.nc_p3: number", ""); +goTo.marker('84'); +verify.quickInfoIs("(property) c1.nc_p3: number", ""); +goTo.marker('85'); +verify.quickInfoIs("(var) i1_ncprop: number", ""); + +goTo.marker('86'); +verify.quickInfoIs("(var) i1_s_p: number", ""); + +goTo.marker('87'); +verify.quickInfoIs("class c1", "This is comment for c1"); +verify.completionListContains("c1", "class c1", "This is comment for c1"); + +goTo.marker('88'); +verify.quickInfoIs("(property) c1.s1: number", "s1 is static property of c1"); +verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1"); +verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property"); +verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property"); +verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", ""); +verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", ""); +verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", ""); + +goTo.marker('89'); +verify.quickInfoIs("(var) i1_s_f: (b: number) => number", ""); + +goTo.marker('90'); +verify.quickInfoIs("(method) c1.s2(b: number): number", "static sum with property"); + +goTo.marker('91'); +verify.quickInfoIs("(var) i1_s_r: number", ""); + +goTo.marker('92'); +verify.currentSignatureHelpDocCommentIs("static sum with property"); +verify.currentParameterHelpArgumentDocCommentIs("number to add"); +goTo.marker('92q'); +verify.quickInfoIs("(method) c1.s2(b: number): number", "static sum with property"); + +goTo.marker('93'); +verify.quickInfoIs("(var) i1_s_prop: number", ""); +goTo.marker('94'); +verify.quickInfoIs("(property) c1.s3: number", "static getter property\nsetter property"); +goTo.marker('95'); +verify.quickInfoIs("(property) c1.s3: number", "static getter property\nsetter property"); +goTo.marker('96'); +verify.quickInfoIs("(var) i1_s_prop: number", ""); + +goTo.marker('97'); +verify.quickInfoIs("(var) i1_s_nc_p: number", ""); + +goTo.marker('98'); +verify.quickInfoIs("(property) c1.nc_s1: number", ""); + +goTo.marker('99'); +verify.quickInfoIs("(var) i1_s_ncf: (b: number) => number", ""); + +goTo.marker('100'); +verify.quickInfoIs("(method) c1.nc_s2(b: number): number", ""); + +goTo.marker('101'); +verify.quickInfoIs("(var) i1_s_ncr: number", ""); + +goTo.marker('102'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +goTo.marker('102q'); +verify.quickInfoIs("(method) c1.nc_s2(b: number): number", ""); + +goTo.marker('103'); +verify.quickInfoIs("(var) i1_s_ncprop: number", ""); +goTo.marker('104'); +verify.quickInfoIs("(property) c1.nc_s3: number", ""); +goTo.marker('105'); +verify.quickInfoIs("(property) c1.nc_s3: number", ""); +goTo.marker('106'); +verify.quickInfoIs("(var) i1_s_ncprop: number", ""); + +goTo.marker('107'); +verify.quickInfoIs("(var) i1_c: typeof c1", ""); + +goTo.marker('108'); +verify.quickInfoIs("class c1", "This is comment for c1"); + +goTo.marker('109'); +verify.completionListContains("c1", "class c1", "This is comment for c1"); +verify.completionListContains("i1", "(var) i1: c1", ""); +verify.completionListContains("i1_p", "(var) i1_p: number", ""); +verify.completionListContains("i1_f", "(var) i1_f: (b: number) => number", ""); +verify.completionListContains("i1_r", "(var) i1_r: number", ""); +verify.completionListContains("i1_prop", "(var) i1_prop: number", ""); +verify.completionListContains("i1_nc_p", "(var) i1_nc_p: number", ""); +verify.completionListContains("i1_ncf", "(var) i1_ncf: (b: number) => number", ""); +verify.completionListContains("i1_ncr", "(var) i1_ncr: number", ""); +verify.completionListContains("i1_ncprop", "(var) i1_ncprop: number", ""); +verify.completionListContains("i1_s_p", "(var) i1_s_p: number", ""); +verify.completionListContains("i1_s_f", "(var) i1_s_f: (b: number) => number", ""); +verify.completionListContains("i1_s_r", "(var) i1_s_r: number", ""); +verify.completionListContains("i1_s_prop", "(var) i1_s_prop: number", ""); +verify.completionListContains("i1_s_nc_p", "(var) i1_s_nc_p: number", ""); +verify.completionListContains("i1_s_ncf", "(var) i1_s_ncf: (b: number) => number", ""); +verify.completionListContains("i1_s_ncr", "(var) i1_s_ncr: number", ""); +verify.completionListContains("i1_s_ncprop", "(var) i1_s_ncprop: number", ""); + +verify.completionListContains("i1_c", "(var) i1_c: typeof c1", ""); + +goTo.marker('110'); +verify.quickInfoIs("(property) cProperties.p2: number", "setter only property"); +verify.memberListContains("p1", "(property) cProperties.p1: number", "getter only property"); +verify.memberListContains("p2", "(property) cProperties.p2: number", "setter only property"); +verify.memberListContains("nc_p1", "(property) cProperties.nc_p1: number", ""); +verify.memberListContains("nc_p2", "(property) cProperties.nc_p2: number", ""); + +goTo.marker('111'); +verify.quickInfoIs("(property) cProperties.p1: number", "getter only property"); +goTo.marker('112'); +verify.quickInfoIs("(property) cProperties.nc_p2: number", ""); +goTo.marker('113'); +verify.quickInfoIs("(property) cProperties.nc_p1: number", ""); + +goTo.marker('114'); +verify.memberListContains("a", "(property) cWithConstructorProperty.a: number", "more info about a"); +verify.quickInfoIs("(property) cWithConstructorProperty.a: number", "more info about a"); + +goTo.marker('115'); +verify.completionListContains("a", "(parameter) a: number", "this is first parameter a\nmore info about a"); +verify.quickInfoIs("(parameter) a: number", "this is first parameter a\nmore info about a"); + +goTo.marker('116'); +verify.quickInfoIs("class cWithConstructorProperty", ""); + +goTo.marker('117'); +verify.quickInfoIs("(local var) bbbb: number", ""); + +goTo.marker('118'); +verify.quickInfoIs("(local var) bbbb: number", ""); + +goTo.marker('119'); +verify.quickInfoIs("(constructor) cWithConstructorProperty(a: number): cWithConstructorProperty", "this is class cWithConstructorProperty's constructor"); \ No newline at end of file diff --git a/tests/cases/fourslash/commentsEnums.ts b/tests/cases/fourslash/commentsEnums.ts new file mode 100644 index 00000000000..9e3213a0903 --- /dev/null +++ b/tests/cases/fourslash/commentsEnums.ts @@ -0,0 +1,37 @@ +/// + +/////** Enum of colors*/ +////enum /*1*/Colors { +//// /** Fancy name for 'blue'*/ +//// /*2*/Cornflower, +//// /** Fancy name for 'pink'*/ +//// /*3*/FancyPink +////} +////var /*4*/x = /*5*/Colors./*6*/Cornflower; +////x = Colors./*7*/FancyPink; + +goTo.marker('1'); +verify.quickInfoIs("enum Colors", "Enum of colors"); + +goTo.marker('2'); +verify.quickInfoIs("(enum member) Colors.Cornflower = 0", "Fancy name for 'blue'"); + +goTo.marker('3'); +verify.quickInfoIs("(enum member) Colors.FancyPink = 1", "Fancy name for 'pink'"); + +goTo.marker('4'); +verify.quickInfoIs("(var) x: Colors", ""); + +goTo.marker('5'); +verify.completionListContains("Colors", "enum Colors", "Enum of colors"); +verify.quickInfoIs("enum Colors", "Enum of colors"); + +goTo.marker('6'); +verify.memberListContains("Cornflower", "(enum member) Colors.Cornflower = 0", "Fancy name for 'blue'"); +verify.memberListContains("FancyPink", "(enum member) Colors.FancyPink = 1", "Fancy name for 'pink'"); +verify.quickInfoIs("(enum member) Colors.Cornflower = 0", "Fancy name for 'blue'"); + +goTo.marker('7'); +verify.memberListContains("Cornflower", "(enum member) Colors.Cornflower = 0", "Fancy name for 'blue'"); +verify.memberListContains("FancyPink", "(enum member) Colors.FancyPink = 1", "Fancy name for 'pink'"); +verify.quickInfoIs("(enum member) Colors.FancyPink = 1", "Fancy name for 'pink'"); \ No newline at end of file diff --git a/tests/cases/fourslash_old/commentsFunction.ts b/tests/cases/fourslash/commentsFunction.ts similarity index 52% rename from tests/cases/fourslash_old/commentsFunction.ts rename to tests/cases/fourslash/commentsFunction.ts index 5a13b3142aa..f3f49a2c5b1 100644 --- a/tests/cases/fourslash_old/commentsFunction.ts +++ b/tests/cases/fourslash/commentsFunction.ts @@ -46,36 +46,36 @@ verify.currentSignatureHelpDocCommentIs("This is comment for function signature" verify.currentParameterHelpArgumentDocCommentIs("this is comment for b"); goTo.marker('4'); -verify.completionListContains('foo', '(): void', 'This comment should appear for foo', "foo", "function"); +verify.completionListContains('foo', '(function) foo(): void', 'This comment should appear for foo'); goTo.marker('5'); -verify.completionListContains('fooWithParameters', '(a: string, b: number): void', 'This is comment for function signature', "fooWithParameters", "function"); +verify.completionListContains('fooWithParameters', '(function) fooWithParameters(a: string, b: number): void', 'This is comment for function signature'); goTo.marker('6'); -verify.quickInfoIs("(): void", "This comment should appear for foo", "foo", "function"); +verify.quickInfoIs("(function) foo(): void", "This comment should appear for foo"); goTo.marker('7'); -verify.quickInfoIs("(): void", "This comment should appear for foo", "foo", "function"); +verify.quickInfoIs("(function) foo(): void", "This comment should appear for foo"); goTo.marker('8'); -verify.quickInfoIs("(a: string, b: number): void", "This is comment for function signature", "fooWithParameters", "function"); +verify.quickInfoIs("(function) fooWithParameters(a: string, b: number): void", "This is comment for function signature"); goTo.marker('9'); -verify.quickInfoIs("(a: string, b: number): void", "This is comment for function signature", "fooWithParameters", "function"); +verify.quickInfoIs("(function) fooWithParameters(a: string, b: number): void", "This is comment for function signature"); goTo.marker('10'); -verify.completionListContains('a', 'string', 'this is comment about a', "a", "parameter"); -verify.completionListContains('b', 'number', 'this is comment for b', "b", "parameter"); +verify.completionListContains('a', '(parameter) a: string', 'this is comment about a'); +verify.completionListContains('b', '(parameter) b: number', 'this is comment for b'); goTo.marker('11'); -verify.quickInfoIs("(a: number, b: number) => number", "lamdaFoo var comment", "lambdaFoo", "var"); +verify.quickInfoIs("(var) lambdaFoo: (a: number, b: number) => number", "lamdaFoo var comment"); goTo.marker('12'); -verify.quickInfoIs("(a: number, b: number) => number", "", "lambddaNoVarComment", "var"); +verify.quickInfoIs("(var) lambddaNoVarComment: (a: number, b: number) => number", ""); goTo.marker('13'); -verify.completionListContains('lambdaFoo', '(a: number, b: number) => number', 'lamdaFoo var comment', "lambdaFoo", "var"); -verify.completionListContains('lambddaNoVarComment', '(a: number, b: number) => number', '', "lambddaNoVarComment", "var"); +verify.completionListContains('lambdaFoo', '(var) lambdaFoo: (a: number, b: number) => number', 'lamdaFoo var comment'); +verify.completionListContains('lambddaNoVarComment', '(var) lambddaNoVarComment: (a: number, b: number) => number', ''); goTo.marker('14'); verify.currentParameterHelpArgumentDocCommentIs("param a"); @@ -90,42 +90,42 @@ goTo.marker('17'); verify.currentParameterHelpArgumentDocCommentIs("param b"); goTo.marker('18'); -verify.completionListContains('a', 'number', 'param a', "a", "parameter"); -verify.completionListContains('b', 'number', 'param b', "b", "parameter"); +verify.completionListContains('a', '(parameter) a: number', 'param a'); +verify.completionListContains('b', '(parameter) b: number', 'param b'); goTo.marker('19'); verify.currentSignatureHelpDocCommentIs("Does something"); verify.currentParameterHelpArgumentDocCommentIs("a string"); goTo.marker('20'); -verify.quickInfoIs('string', '', 'd', "local var"); +verify.quickInfoIs('(local var) d: string', ''); goTo.marker('20a'); -verify.quickInfoIs('(a: number) => number', '', 'lambdaAnotherFunc', "var"); +verify.quickInfoIs('(var) lambdaAnotherFunc: (a: number) => number', ''); goTo.marker('21'); -verify.quickInfoIs('number', '', 'a', "parameter"); +verify.quickInfoIs('(parameter) a: number', ''); goTo.marker('22'); -verify.quickInfoIs('number', '', 'bbbb', "local var"); +verify.quickInfoIs('(local var) bbbb: number', ''); goTo.marker('23'); -verify.quickInfoIs('number', '', 'bbbb', "local var"); +verify.quickInfoIs('(local var) bbbb: number', ''); goTo.marker('24'); -verify.quickInfoIs('number', '', 'a', "parameter"); +verify.quickInfoIs('(parameter) a: number', ''); goTo.marker('25'); -verify.quickInfoIs('(a: number): string', '', 'anotherFunc', "function"); +verify.quickInfoIs('(function) anotherFunc(a: number): string', ''); goTo.marker('26'); -verify.quickInfoIs('number', '', 'a', "parameter"); +verify.quickInfoIs('(parameter) a: number', ''); goTo.marker('27a'); -verify.quickInfoIs('(b: string) => string', '', 'lambdaVar', "local var"); +verify.quickInfoIs('(local var) lambdaVar: (b: string) => string', ''); goTo.marker('27'); -verify.quickInfoIs('string', '', 'b', "parameter"); +verify.quickInfoIs('(parameter) b: string', ''); goTo.marker('28'); -verify.quickInfoIs('string', '', 'localVar', "local var"); +verify.quickInfoIs('(local var) localVar: string', ''); goTo.marker('29'); -verify.quickInfoIs('string', '', 'localVar', "local var"); +verify.quickInfoIs('(local var) localVar: string', ''); goTo.marker('30'); -verify.quickInfoIs('string', '', 'b', "parameter"); +verify.quickInfoIs('(parameter) b: string', ''); goTo.marker('31'); -verify.quickInfoIs('(b: string) => string', '', 'lambdaVar', "local var"); +verify.quickInfoIs('(local function) lambdaVar(b: string): string', ''); goTo.marker('32'); -verify.quickInfoIs('number', '', 'a', "parameter"); +verify.quickInfoIs('(parameter) a: number', ''); diff --git a/tests/cases/fourslash/commentsInheritance.ts b/tests/cases/fourslash/commentsInheritance.ts new file mode 100644 index 00000000000..ffff914e117 --- /dev/null +++ b/tests/cases/fourslash/commentsInheritance.ts @@ -0,0 +1,672 @@ +/// + +/////** i1 is interface with properties*/ +////interface i1 { +//// /** i1_p1*/ +//// i1_p1: number; +//// /** i1_f1*/ +//// i1_f1(): void; +//// /** i1_l1*/ +//// i1_l1: () => void; +//// i1_nc_p1: number; +//// i1_nc_f1(): void; +//// i1_nc_l1: () => void; +//// p1: number; +//// f1(): void; +//// l1: () => void; +//// nc_p1: number; +//// nc_f1(): void; +//// nc_l1: () => void; +////} +////class c1 implements i1 { +//// public i1_p1: number; +//// public i1_f1() { +//// } +//// public i1_l1: () => void; +//// public i1_nc_p1: number; +//// public i1_nc_f1() { +//// } +//// public i1_nc_l1: () => void; +//// /** c1_p1*/ +//// public p1: number; +//// /** c1_f1*/ +//// public f1() { +//// } +//// /** c1_l1*/ +//// public l1: () => void; +//// /** c1_nc_p1*/ +//// public nc_p1: number; +//// /** c1_nc_f1*/ +//// public nc_f1() { +//// } +//// /** c1_nc_l1*/ +//// public nc_l1: () => void; +////} +////var i1/*1iq*/_i: i1; +////i1_i./*1*/i/*2q*/1_f1(/*2*/); +////i1_i.i1_n/*3q*/c_f1(/*3*/); +////i1_i.f/*4q*/1(/*4*/); +////i1_i.nc/*5q*/_f1(/*5*/); +////i1_i.i1/*l2q*/_l1(/*l2*/); +////i1_i.i1_/*l3q*/nc_l1(/*l3*/); +////i1_i.l/*l4q*/1(/*l4*/); +////i1_i.nc/*l5q*/_l1(/*l5*/); +////var c1/*6iq*/_i = new c1(); +////c1_i./*6*/i1/*7q*/_f1(/*7*/); +////c1_i.i1_nc/*8q*/_f1(/*8*/); +////c1_i.f/*9q*/1(/*9*/); +////c1_i.nc/*10q*/_f1(/*10*/); +////c1_i.i1/*l7q*/_l1(/*l7*/); +////c1_i.i1_n/*l8q*/c_l1(/*l8*/); +////c1_i.l/*l9q*/1(/*l9*/); +////c1_i.nc/*l10q*/_l1(/*l10*/); +////// assign to interface +////i1_i = c1_i; +////i1_i./*11*/i1/*12q*/_f1(/*12*/); +////i1_i.i1_nc/*13q*/_f1(/*13*/); +////i1_i.f/*14q*/1(/*14*/); +////i1_i.nc/*15q*/_f1(/*15*/); +////i1_i.i1/*l12q*/_l1(/*l12*/); +////i1_i.i1/*l13q*/_nc_l1(/*l13*/); +////i1_i.l/*l14q*/1(/*l14*/); +////i1_i.nc/*l15q*/_l1(/*l15*/); +/////*16*/ +////class c2 { +//// /** c2 c2_p1*/ +//// public c2_p1: number; +//// /** c2 c2_f1*/ +//// public c2_f1() { +//// } +//// /** c2 c2_prop*/ +//// public get c2_prop() { +//// return 10; +//// } +//// public c2_nc_p1: number; +//// public c2_nc_f1() { +//// } +//// public get c2_nc_prop() { +//// return 10; +//// } +//// /** c2 p1*/ +//// public p1: number; +//// /** c2 f1*/ +//// public f1() { +//// } +//// /** c2 prop*/ +//// public get prop() { +//// return 10; +//// } +//// public nc_p1: number; +//// public nc_f1() { +//// } +//// public get nc_prop() { +//// return 10; +//// } +//// /** c2 constructor*/ +//// constr/*55*/uctor(a: number) { +//// this.c2_p1 = a; +//// } +////} +////class c3 extends c2 { +//// cons/*56*/tructor() { +//// su/*18sq*/per(10); +//// this.p1 = s/*18spropq*/uper./*18spropProp*/c2_p1; +//// } +//// /** c3 p1*/ +//// public p1: number; +//// /** c3 f1*/ +//// public f1() { +//// } +//// /** c3 prop*/ +//// public get prop() { +//// return 10; +//// } +//// public nc_p1: number; +//// public nc_f1() { +//// } +//// public get nc_prop() { +//// return 10; +//// } +////} +////var c/*17iq*/2_i = new c/*17q*/2(/*17*/10); +////var c/*18iq*/3_i = new c/*18q*/3(/*18*/); +////c2_i./*19*/c2/*20q*/_f1(/*20*/); +////c2_i.c2_nc/*21q*/_f1(/*21*/); +////c2_i.f/*22q*/1(/*22*/); +////c2_i.nc/*23q*/_f1(/*23*/); +////c3_i./*24*/c2/*25q*/_f1(/*25*/); +////c3_i.c2_nc/*26q*/_f1(/*26*/); +////c3_i.f/*27q*/1(/*27*/); +////c3_i.nc/*28q*/_f1(/*28*/); +////// assign +////c2_i = c3_i; +////c2_i./*29*/c2/*30q*/_f1(/*30*/); +////c2_i.c2_nc_/*31q*/f1(/*31*/); +////c2_i.f/*32q*/1(/*32*/); +////c2_i.nc/*33q*/_f1(/*33*/); +////class c4 extends c2 { +////} +////var c4/*34iq*/_i = new c/*34q*/4(/*34*/10); +/////*35*/ +////interface i2 { +//// /** i2_p1*/ +//// i2_p1: number; +//// /** i2_f1*/ +//// i2_f1(): void; +//// /** i2_l1*/ +//// i2_l1: () => void; +//// i2_nc_p1: number; +//// i2_nc_f1(): void; +//// i2_nc_l1: () => void; +//// /** i2 p1*/ +//// p1: number; +//// /** i2 f1*/ +//// f1(): void; +//// /** i2 l1*/ +//// l1: () => void; +//// nc_p1: number; +//// nc_f1(): void; +//// nc_l1: () => void; +////} +////interface i3 extends i2 { +//// /** i3 p1*/ +//// p1: number; +//// /** i3 f1*/ +//// f1(): void; +//// /** i3 l1*/ +//// l1: () => void; +//// nc_p1: number; +//// nc_f1(): void; +//// nc_l1: () => void; +////} +////var i2/*36iq*/_i: i2; +////var i3/*37iq*/_i: i3; +////i2_i./*36*/i2/*37q*/_f1(/*37*/); +////i2_i.i2_n/*38q*/c_f1(/*38*/); +////i2_i.f/*39q*/1(/*39*/); +////i2_i.nc/*40q*/_f1(/*40*/); +////i2_i.i2_/*l37q*/l1(/*l37*/); +////i2_i.i2_nc/*l38q*/_l1(/*l38*/); +////i2_i.l/*l39q*/1(/*l39*/); +////i2_i.nc_/*l40q*/l1(/*l40*/); +////i3_i./*41*/i2_/*42q*/f1(/*42*/); +////i3_i.i2_nc/*43q*/_f1(/*43*/); +////i3_i.f/*44q*/1(/*44*/); +////i3_i.nc_/*45q*/f1(/*45*/); +////i3_i.i2_/*l42q*/l1(/*l42*/); +////i3_i.i2_nc/*l43q*/_l1(/*l43*/); +////i3_i.l/*l44q*/1(/*l44*/); +////i3_i.nc_/*l45q*/l1(/*l45*/); +////// assign to interface +////i2_i = i3_i; +////i2_i./*46*/i2/*47q*/_f1(/*47*/); +////i2_i.i2_nc_/*48q*/f1(/*48*/); +////i2_i.f/*49q*/1(/*49*/); +////i2_i.nc/*50q*/_f1(/*50*/); +////i2_i.i2_/*l47q*/l1(/*l47*/); +////i2_i.i2_nc/*l48q*/_l1(/*l48*/); +////i2_i.l/*l49q*/1(/*l49*/); +////i2_i.nc_/*l50q*/l1(/*l50*/); +/////*51*/ +/////**c5 class*/ +////class c5 { +//// public b: number; +////} +////class c6 extends c5 { +//// public d; +//// const/*57*/ructor() { +//// /*52*/super(); +//// this.d = /*53*/super./*54*/b; +//// } +////} + +goTo.marker('1'); +verify.memberListContains("i1_p1", "(property) i1.i1_p1: number", "i1_p1"); +verify.memberListContains("i1_f1", "(method) i1.i1_f1(): void", "i1_f1"); +verify.memberListContains("i1_l1", "(property) i1.i1_l1: () => void", "i1_l1"); +verify.memberListContains("i1_nc_p1", "(property) i1.i1_nc_p1: number", ""); +verify.memberListContains("i1_nc_f1", "(method) i1.i1_nc_f1(): void", ""); +verify.memberListContains("i1_nc_l1", "(property) i1.i1_nc_l1: () => void", ""); +verify.memberListContains("p1", "(property) i1.p1: number", ""); +verify.memberListContains("f1", "(method) i1.f1(): void", ""); +verify.memberListContains("l1", "(property) i1.l1: () => void", ""); +verify.memberListContains("nc_p1", "(property) i1.nc_p1: number", ""); +verify.memberListContains("nc_f1", "(method) i1.nc_f1(): void", ""); +verify.memberListContains("nc_l1", "(property) i1.nc_l1: () => void", ""); +goTo.marker('2'); +verify.currentSignatureHelpDocCommentIs("i1_f1"); +goTo.marker('3'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('4'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('5'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l2'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l3'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l4'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l5'); +verify.currentSignatureHelpDocCommentIs(""); + +goTo.marker('1iq'); +verify.quickInfoIs("(var) i1_i: i1", ""); +goTo.marker('2q'); +verify.quickInfoIs("(method) i1.i1_f1(): void", "i1_f1"); +goTo.marker('3q'); +verify.quickInfoIs("(method) i1.i1_nc_f1(): void", ""); +goTo.marker('4q'); +verify.quickInfoIs("(method) i1.f1(): void", ""); +goTo.marker('5q'); +verify.quickInfoIs("(method) i1.nc_f1(): void", ""); +goTo.marker('l2q'); +verify.quickInfoIs("(method) i1.i1_l1(): void", ""); +goTo.marker('l3q'); +verify.quickInfoIs("(method) i1.i1_nc_l1(): void", ""); +goTo.marker('l4q'); +verify.quickInfoIs("(method) i1.l1(): void", ""); +goTo.marker('l5q'); +verify.quickInfoIs("(method) i1.nc_l1(): void", ""); + +goTo.marker('6'); +verify.memberListContains("i1_p1", "(property) c1.i1_p1: number", ""); +verify.memberListContains("i1_f1", "(method) c1.i1_f1(): void", ""); +verify.memberListContains("i1_l1", "(property) c1.i1_l1: () => void", ""); +verify.memberListContains("i1_nc_p1", "(property) c1.i1_nc_p1: number", ""); +verify.memberListContains("i1_nc_f1", "(method) c1.i1_nc_f1(): void", ""); +verify.memberListContains("i1_nc_l1", "(property) c1.i1_nc_l1: () => void", ""); +verify.memberListContains("p1", "(property) c1.p1: number", "c1_p1"); +verify.memberListContains("f1", "(method) c1.f1(): void", "c1_f1"); +verify.memberListContains("l1", "(property) c1.l1: () => void", "c1_l1"); +verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "c1_nc_p1"); +verify.memberListContains("nc_f1", "(method) c1.nc_f1(): void", "c1_nc_f1"); +verify.memberListContains("nc_l1", "(property) c1.nc_l1: () => void", "c1_nc_l1"); +goTo.marker('7'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('8'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('9'); +verify.currentSignatureHelpDocCommentIs("c1_f1"); +goTo.marker('10'); +verify.currentSignatureHelpDocCommentIs("c1_nc_f1"); +goTo.marker('l7'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l8'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l9'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l10'); +verify.currentSignatureHelpDocCommentIs(""); + +goTo.marker('6iq'); +verify.quickInfoIs("(var) c1_i: c1", ""); +goTo.marker('7q'); +verify.quickInfoIs("(method) c1.i1_f1(): void", ""); +goTo.marker('8q'); +verify.quickInfoIs("(method) c1.i1_nc_f1(): void", ""); +goTo.marker('9q'); +verify.quickInfoIs("(method) c1.f1(): void", "c1_f1"); +goTo.marker('10q'); +verify.quickInfoIs("(method) c1.nc_f1(): void", "c1_nc_f1"); +goTo.marker('l7q'); +verify.quickInfoIs("(method) c1.i1_l1(): void", ""); +goTo.marker('l8q'); +verify.quickInfoIs("(method) c1.i1_nc_l1(): void", ""); +goTo.marker('l9q'); +verify.quickInfoIs("(method) c1.l1(): void", ""); +goTo.marker('l10q'); +verify.quickInfoIs("(method) c1.nc_l1(): void", ""); + +goTo.marker('11'); +verify.memberListContains("i1_p1", "(property) i1.i1_p1: number", "i1_p1"); +verify.memberListContains("i1_f1", "(method) i1.i1_f1(): void", "i1_f1"); +verify.memberListContains("i1_l1", "(property) i1.i1_l1: () => void", "i1_l1"); +verify.memberListContains("i1_nc_p1", "(property) i1.i1_nc_p1: number", ""); +verify.memberListContains("i1_nc_f1", "(method) i1.i1_nc_f1(): void", ""); +verify.memberListContains("i1_nc_l1", "(property) i1.i1_nc_l1: () => void", ""); +verify.memberListContains("p1", "(property) i1.p1: number", ""); +verify.memberListContains("f1", "(method) i1.f1(): void", ""); +verify.memberListContains("l1", "(property) i1.l1: () => void", ""); +verify.memberListContains("nc_p1", "(property) i1.nc_p1: number", ""); +verify.memberListContains("nc_f1", "(method) i1.nc_f1(): void", ""); +verify.memberListContains("nc_l1", "(property) i1.nc_l1: () => void", ""); +goTo.marker('12'); +verify.currentSignatureHelpDocCommentIs("i1_f1"); +goTo.marker('13'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('14'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('15'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l12'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l13'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l14'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l15'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('12q'); +verify.quickInfoIs("(method) i1.i1_f1(): void", "i1_f1"); +goTo.marker('13q'); +verify.quickInfoIs("(method) i1.i1_nc_f1(): void", ""); +goTo.marker('14q'); +verify.quickInfoIs("(method) i1.f1(): void", ""); +goTo.marker('15q'); +verify.quickInfoIs("(method) i1.nc_f1(): void", ""); +goTo.marker('l12q'); +verify.quickInfoIs("(method) i1.i1_l1(): void", ""); +goTo.marker('l13q'); +verify.quickInfoIs("(method) i1.i1_nc_l1(): void", ""); +goTo.marker('l14q'); +verify.quickInfoIs("(method) i1.l1(): void", ""); +goTo.marker('l15q'); +verify.quickInfoIs("(method) i1.nc_l1(): void", ""); + +goTo.marker('16'); +verify.completionListContains("i1", "interface i1", "i1 is interface with properties"); +verify.completionListContains("i1_i", "(var) i1_i: i1", ""); +verify.completionListContains("c1", "class c1", ""); +verify.completionListContains("c1_i", "(var) c1_i: c1", ""); + +goTo.marker('17iq'); +verify.quickInfoIs("(var) c2_i: c2", ""); +goTo.marker('18iq'); +verify.quickInfoIs("(var) c3_i: c3", ""); + +goTo.marker('17'); +verify.currentSignatureHelpDocCommentIs("c2 constructor"); + +goTo.marker('18'); +verify.currentSignatureHelpDocCommentIs(""); + +goTo.marker('18sq'); +verify.quickInfoIs("(constructor) c2(a: number): c2", "c2 constructor"); + +goTo.marker('18spropq'); +verify.quickInfoIs("class c2", ""); +goTo.marker('18spropProp'); +verify.quickInfoIs("(property) c2.c2_p1: number", "c2 c2_p1"); + +goTo.marker('17q'); +verify.quickInfoIs("(constructor) c2(a: number): c2", "c2 constructor"); +goTo.marker('18q'); +verify.quickInfoIs("(constructor) c3(): c3", ""); + +goTo.marker('19'); +verify.memberListContains("c2_p1", "(property) c2.c2_p1: number", "c2 c2_p1"); +verify.memberListContains("c2_f1", "(method) c2.c2_f1(): void", "c2 c2_f1"); +verify.memberListContains("c2_prop", "(property) c2.c2_prop: number", "c2 c2_prop"); +verify.memberListContains("c2_nc_p1", "(property) c2.c2_nc_p1: number", ""); +verify.memberListContains("c2_nc_f1", "(method) c2.c2_nc_f1(): void", ""); +verify.memberListContains("c2_nc_prop", "(property) c2.c2_nc_prop: number", ""); +verify.memberListContains("p1", "(property) c2.p1: number", "c2 p1"); +verify.memberListContains("f1", "(method) c2.f1(): void", "c2 f1"); +verify.memberListContains("prop", "(property) c2.prop: number", "c2 prop"); +verify.memberListContains("nc_p1", "(property) c2.nc_p1: number", ""); +verify.memberListContains("nc_f1", "(method) c2.nc_f1(): void", ""); +verify.memberListContains("nc_prop", "(property) c2.nc_prop: number", ""); +goTo.marker('20'); +verify.currentSignatureHelpDocCommentIs("c2 c2_f1"); +goTo.marker('21'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('22'); +verify.currentSignatureHelpDocCommentIs("c2 f1"); +goTo.marker('23'); +verify.currentSignatureHelpDocCommentIs(""); + +goTo.marker('20q'); +verify.quickInfoIs("(method) c2.c2_f1(): void", "c2 c2_f1"); +goTo.marker('21q'); +verify.quickInfoIs("(method) c2.c2_nc_f1(): void", ""); +goTo.marker('22q'); +verify.quickInfoIs("(method) c2.f1(): void", "c2 f1"); +goTo.marker('23q'); +verify.quickInfoIs("(method) c2.nc_f1(): void", ""); + +goTo.marker('24'); +verify.memberListContains("c2_p1", "(property) c2.c2_p1: number", "c2 c2_p1"); +verify.memberListContains("c2_f1", "(method) c2.c2_f1(): void", "c2 c2_f1"); +verify.memberListContains("c2_prop", "(property) c2.c2_prop: number", "c2 c2_prop"); +verify.memberListContains("c2_nc_p1", "(property) c2.c2_nc_p1: number", ""); +verify.memberListContains("c2_nc_f1", "(method) c2.c2_nc_f1(): void", ""); +verify.memberListContains("c2_nc_prop", "(property) c2.c2_nc_prop: number", ""); +verify.memberListContains("p1", "(property) c3.p1: number", "c3 p1"); +verify.memberListContains("f1", "(method) c3.f1(): void", "c3 f1"); +verify.memberListContains("prop", "(property) c3.prop: number", "c3 prop"); +verify.memberListContains("nc_p1", "(property) c3.nc_p1: number", ""); +verify.memberListContains("nc_f1", "(method) c3.nc_f1(): void", ""); +verify.memberListContains("nc_prop", "(property) c3.nc_prop: number", ""); +goTo.marker('25'); +verify.currentSignatureHelpDocCommentIs("c2 c2_f1"); +goTo.marker('26'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('27'); +verify.currentSignatureHelpDocCommentIs("c3 f1"); +goTo.marker('28'); +verify.currentSignatureHelpDocCommentIs(""); + +goTo.marker('25q'); +verify.quickInfoIs("(method) c2.c2_f1(): void", "c2 c2_f1"); +goTo.marker('26q'); +verify.quickInfoIs("(method) c2.c2_nc_f1(): void", ""); +goTo.marker('27q'); +verify.quickInfoIs("(method) c3.f1(): void", "c3 f1"); +goTo.marker('28q'); +verify.quickInfoIs("(method) c3.nc_f1(): void", ""); + +goTo.marker('29'); +verify.memberListContains("c2_p1", "(property) c2.c2_p1: number", "c2 c2_p1"); +verify.memberListContains("c2_f1", "(method) c2.c2_f1(): void", "c2 c2_f1"); +verify.memberListContains("c2_prop", "(property) c2.c2_prop: number", "c2 c2_prop"); +verify.memberListContains("c2_nc_p1", "(property) c2.c2_nc_p1: number", ""); +verify.memberListContains("c2_nc_f1", "(method) c2.c2_nc_f1(): void", ""); +verify.memberListContains("c2_nc_prop", "(property) c2.c2_nc_prop: number"); +verify.memberListContains("p1", "(property) c2.p1: number", "c2 p1"); +verify.memberListContains("f1", "(method) c2.f1(): void", "c2 f1"); +verify.memberListContains("prop", "(property) c2.prop: number", "c2 prop"); +verify.memberListContains("nc_p1", "(property) c2.nc_p1: number", ""); +verify.memberListContains("nc_f1", "(method) c2.nc_f1(): void", ""); +verify.memberListContains("nc_prop", "(property) c2.nc_prop: number", ""); +goTo.marker('30'); +verify.currentSignatureHelpDocCommentIs("c2 c2_f1"); +goTo.marker('31'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('32'); +verify.currentSignatureHelpDocCommentIs("c2 f1"); +goTo.marker('33'); +verify.currentSignatureHelpDocCommentIs(""); + +goTo.marker('30q'); +verify.quickInfoIs("(method) c2.c2_f1(): void", "c2 c2_f1"); +goTo.marker('31q'); +verify.quickInfoIs("(method) c2.c2_nc_f1(): void", ""); +goTo.marker('32q'); +verify.quickInfoIs("(method) c2.f1(): void", "c2 f1"); +goTo.marker('33q'); +verify.quickInfoIs("(method) c2.nc_f1(): void", ""); + +goTo.marker('34'); +verify.currentSignatureHelpDocCommentIs("c2 constructor"); +goTo.marker('34iq'); +verify.quickInfoIs("(var) c4_i: c4", ""); +goTo.marker('34q'); +verify.quickInfoIs("(constructor) c4(a: number): c4", "c2 constructor"); + +goTo.marker('35'); +verify.completionListContains("c2", "class c2", ""); +verify.completionListContains("c2_i", "(var) c2_i: c2", ""); +verify.completionListContains("c3", "class c3", ""); +verify.completionListContains("c3_i", "(var) c3_i: c3", ""); +verify.completionListContains("c4", "class c4", ""); +verify.completionListContains("c4_i", "(var) c4_i: c4", ""); + +goTo.marker('36'); +verify.memberListContains("i2_p1", "(property) i2.i2_p1: number", "i2_p1"); +verify.memberListContains("i2_f1", "(method) i2.i2_f1(): void", "i2_f1"); +verify.memberListContains("i2_l1", "(property) i2.i2_l1: () => void", "i2_l1"); +verify.memberListContains("i2_nc_p1", "(property) i2.i2_nc_p1: number", ""); +verify.memberListContains("i2_nc_f1", "(method) i2.i2_nc_f1(): void", ""); +verify.memberListContains("i2_nc_l1", "(property) i2.i2_nc_l1: () => void", ""); +verify.memberListContains("p1", "(property) i2.p1: number", "i2 p1"); +verify.memberListContains("f1", "(method) i2.f1(): void", "i2 f1"); +verify.memberListContains("l1", "(property) i2.l1: () => void", "i2 l1"); +verify.memberListContains("nc_p1", "(property) i2.nc_p1: number", ""); +verify.memberListContains("nc_f1", "(method) i2.nc_f1(): void", ""); +verify.memberListContains("nc_l1", "(property) i2.nc_l1: () => void", ""); +goTo.marker('37'); +verify.currentSignatureHelpDocCommentIs("i2_f1"); +goTo.marker('38'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('39'); +verify.currentSignatureHelpDocCommentIs("i2 f1"); +goTo.marker('40'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l37'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l38'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l39'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l40'); +verify.currentSignatureHelpDocCommentIs(""); + +goTo.marker('36iq'); +verify.quickInfoIs("(var) i2_i: i2", ""); +goTo.marker('37iq'); +verify.quickInfoIs("(var) i3_i: i3", ""); +goTo.marker('37q'); +verify.quickInfoIs("(method) i2.i2_f1(): void", "i2_f1"); +goTo.marker('38q'); +verify.quickInfoIs("(method) i2.i2_nc_f1(): void", ""); +goTo.marker('39q'); +verify.quickInfoIs("(method) i2.f1(): void", "i2 f1"); +goTo.marker('40q'); +verify.quickInfoIs("(method) i2.nc_f1(): void", ""); +goTo.marker('l37q'); +verify.quickInfoIs("(method) i2.i2_l1(): void", ""); +goTo.marker('l38q'); +verify.quickInfoIs("(method) i2.i2_nc_l1(): void", ""); +goTo.marker('l39q'); +verify.quickInfoIs("(method) i2.l1(): void", ""); +goTo.marker('l40q'); +verify.quickInfoIs("(method) i2.nc_l1(): void", ""); + +goTo.marker('41'); +verify.memberListContains("i2_p1", "(property) i2.i2_p1: number", "i2_p1"); +verify.memberListContains("i2_f1", "(method) i2.i2_f1(): void", "i2_f1"); +verify.memberListContains("i2_l1", "(property) i2.i2_l1: () => void", "i2_l1"); +verify.memberListContains("i2_nc_p1", "(property) i2.i2_nc_p1: number", ""); +verify.memberListContains("i2_nc_f1", "(method) i2.i2_nc_f1(): void", ""); +verify.memberListContains("i2_nc_l1", "(property) i2.i2_nc_l1: () => void", ""); +verify.memberListContains("p1", "(property) i3.p1: number", "i3 p1"); +verify.memberListContains("f1", "(method) i3.f1(): void", "i3 f1"); +verify.memberListContains("l1", "(property) i3.l1: () => void", "i3 l1"); +verify.memberListContains("nc_p1", "(property) i3.nc_p1: number", ""); +verify.memberListContains("nc_f1", "(method) i3.nc_f1(): void", ""); +verify.memberListContains("nc_l1", "(property) i3.nc_l1: () => void", ""); +goTo.marker('42'); +verify.currentSignatureHelpDocCommentIs("i2_f1"); +goTo.marker('43'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('44'); +verify.currentSignatureHelpDocCommentIs("i3 f1"); +goTo.marker('45'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l42'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l43'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l44'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l45'); +verify.currentSignatureHelpDocCommentIs(""); + +goTo.marker('42q'); +verify.quickInfoIs("(method) i2.i2_f1(): void", "i2_f1"); +goTo.marker('43q'); +verify.quickInfoIs("(method) i2.i2_nc_f1(): void", ""); +goTo.marker('44q'); +verify.quickInfoIs("(method) i3.f1(): void", "i3 f1"); +goTo.marker('45q'); +verify.quickInfoIs("(method) i3.nc_f1(): void", ""); +goTo.marker('l42q'); +verify.quickInfoIs("(method) i2.i2_l1(): void", ""); +goTo.marker('l43q'); +verify.quickInfoIs("(method) i2.i2_nc_l1(): void", ""); +goTo.marker('l44q'); +verify.quickInfoIs("(method) i3.l1(): void", ""); +goTo.marker('l45q'); +verify.quickInfoIs("(method) i3.nc_l1(): void", ""); + +goTo.marker('46'); +verify.memberListContains("i2_p1", "(property) i2.i2_p1: number", "i2_p1"); +verify.memberListContains("i2_f1", "(method) i2.i2_f1(): void", "i2_f1"); +verify.memberListContains("i2_l1", "(property) i2.i2_l1: () => void", "i2_l1"); +verify.memberListContains("i2_nc_p1", "(property) i2.i2_nc_p1: number", ""); +verify.memberListContains("i2_nc_f1", "(method) i2.i2_nc_f1(): void", ""); +verify.memberListContains("i2_nc_l1", "(property) i2.i2_nc_l1: () => void", ""); +verify.memberListContains("p1", "(property) i2.p1: number", "i2 p1"); +verify.memberListContains("f1", "(method) i2.f1(): void", "i2 f1"); +verify.memberListContains("l1", "(property) i2.l1: () => void", "i2 l1"); +verify.memberListContains("nc_p1", "(property) i2.nc_p1: number", ""); +verify.memberListContains("nc_f1", "(method) i2.nc_f1(): void", ""); +verify.memberListContains("nc_l1", "(property) i2.nc_l1: () => void", ""); +goTo.marker('47'); +verify.currentSignatureHelpDocCommentIs("i2_f1"); +goTo.marker('48'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('49'); +verify.currentSignatureHelpDocCommentIs("i2 f1"); +goTo.marker('50'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l47'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l48'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l49'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('l50'); +verify.currentSignatureHelpDocCommentIs(""); + +goTo.marker('47q'); +verify.quickInfoIs("(method) i2.i2_f1(): void", "i2_f1"); +goTo.marker('48q'); +verify.quickInfoIs("(method) i2.i2_nc_f1(): void", ""); +goTo.marker('49q'); +verify.quickInfoIs("(method) i2.f1(): void", "i2 f1"); +goTo.marker('50q'); +verify.quickInfoIs("(method) i2.nc_f1(): void", ""); +goTo.marker('l47q'); +verify.quickInfoIs("(method) i2.i2_l1(): void", ""); +goTo.marker('l48q'); +verify.quickInfoIs("(method) i2.i2_nc_l1(): void", ""); +goTo.marker('l49q'); +verify.quickInfoIs("(method) i2.l1(): void", ""); +goTo.marker('l50q'); +verify.quickInfoIs("(method) i2.nc_l1(): void", ""); + +goTo.marker('51'); +verify.completionListContains("i2", "interface i2", ""); +verify.completionListContains("i2_i", "(var) i2_i: i2", ""); +verify.completionListContains("i3", "interface i3", ""); +verify.completionListContains("i3_i", "(var) i3_i: i3", ""); + +goTo.marker('52'); +verify.quickInfoIs("(constructor) c5(): c5", ""); + +goTo.marker('53'); +verify.quickInfoIs("class c5", "c5 class"); + +goTo.marker('54'); +verify.quickInfoIs("(property) c5.b: number", ""); + +goTo.marker('55'); +verify.quickInfoIs("(constructor) c2(a: number): c2", "c2 constructor"); + +goTo.marker('56'); +verify.quickInfoIs("(constructor) c3(): c3", ""); + +goTo.marker('57'); +verify.quickInfoIs("(constructor) c6(): c6", ""); \ No newline at end of file diff --git a/tests/cases/fourslash/commentsInterface.ts b/tests/cases/fourslash/commentsInterface.ts new file mode 100644 index 00000000000..f0c963643c9 --- /dev/null +++ b/tests/cases/fourslash/commentsInterface.ts @@ -0,0 +1,259 @@ +/// + +/////** this is interface 1*/ +////interface i/*1*/1 { +////} +////var i1/*2*/_i: i1; +////interface nc_/*3*/i1 { +////} +////var nc_/*4*/i1_i: nc_i1; +/////** this is interface 2 with memebers*/ +////interface i/*5*/2 { +//// /** this is x*/ +//// x: number; +//// /** this is foo*/ +//// foo: (/**param help*/b: number) => string; +//// /** this is indexer*/ +//// [/**string param*/i: string]: number; +//// /**new method*/ +//// new (/** param*/i: i1); +//// nc_x: number; +//// nc_foo: (b: number) => string; +//// [i: number]: number; +//// /** this is call signature*/ +//// (/**paramhelp a*/a: number,/**paramhelp b*/ b: number) : number; +//// /** this is fnfoo*/ +//// fnfoo(/**param help*/b: number): string; +//// nc_fnfoo(b: number): string; +////} +////var i2/*6*/_i: i2; +////var i2_i/*7*/_x = i2_i./*8*/x; +////var i2_i/*9*/_foo = i2_i.f/*10*/oo; +////var i2_i_f/*11*/oo_r = i2_i.f/*12q*/oo(/*12*/30); +////var i2_i_i2_/*13*/si = i2/*13q*/_i["hello"]; +////var i2_i_i2/*14*/_ii = i2/*14q*/_i[30]; +////var i2_/*15*/i_n = new i2/*16q*/_i(/*16*/i1_i); +////var i2_i/*17*/_nc_x = i2_i.n/*18*/c_x; +////var i2_i_/*19*/nc_foo = i2_i.n/*20*/c_foo; +////var i2_i_nc_f/*21*/oo_r = i2_i.nc/*22q*/_foo(/*22*/30); +////var i2/*23*/_i_r = i2/*24q*/_i(/*24*/10, /*25*/20); +////var i2_i/*26*/_fnfoo = i2_i.fn/*27*/foo; +////var i2_i_/*28*/fnfoo_r = i2_i.fn/*29q*/foo(/*29*/10); +////var i2_i/*30*/_nc_fnfoo = i2_i.nc_fn/*31*/foo; +////var i2_i_nc_/*32*/fnfoo_r = i2_i.nc/*33q*/_fnfoo(/*33*/10); +/////*34*/ +////interface i3 { +//// /** Comment i3 x*/ +//// x: number; +//// /** Function i3 f*/ +//// f(/**number parameter*/a: number): string; +//// /** i3 l*/ +//// l: (/**comment i3 l b*/b: number) => string; +//// nc_x: number; +//// nc_f(a: number): string; +//// nc_l: (b: number) => string; +////} +////var i3_i: i3; +////i3_i = { +//// /*35*/f: /**own f*/ (/**i3_i a*/a: number) => "Hello" + /*36*/a, +//// l: this./*37*/f, +//// /** own x*/ +//// x: this.f(/*38*/10), +//// nc_x: this.l(/*39*/this.x), +//// nc_f: this.f, +//// nc_l: this.l +////}; +/////*40*/i/*40q*/3_i./*41*/f(/*42*/10); +////i3_i./*43q*/l(/*43*/10); +////i3_i.nc_/*44q*/f(/*44*/10); +////i3_i.nc/*45q*/_l(/*45*/10); + +goTo.marker('1'); +verify.quickInfoIs("interface i1", "this is interface 1"); + +goTo.marker('2'); +verify.quickInfoIs("(var) i1_i: i1", ""); + +goTo.marker('3'); +verify.quickInfoIs("interface nc_i1", ""); + +goTo.marker('4'); +verify.quickInfoIs("(var) nc_i1_i: nc_i1", ""); + +goTo.marker('5'); +verify.quickInfoIs("interface i2", "this is interface 2 with memebers"); + +goTo.marker('6'); +verify.quickInfoIs("(var) i2_i: i2", ""); + +goTo.marker('7'); +verify.quickInfoIs("(var) i2_i_x: number", ""); + +goTo.marker('8'); +verify.quickInfoIs("(property) i2.x: number", "this is x"); +verify.memberListContains("x", "(property) i2.x: number", "this is x"); +verify.memberListContains("foo", "(property) i2.foo: (b: number) => string", "this is foo"); +verify.memberListContains("nc_x", "(property) i2.nc_x: number", ""); +verify.memberListContains("nc_foo", "(property) i2.nc_foo: (b: number) => string", ""); +verify.memberListContains("fnfoo", "(method) i2.fnfoo(b: number): string", "this is fnfoo"); +verify.memberListContains("nc_fnfoo", "(method) i2.nc_fnfoo(b: number): string", ""); + +goTo.marker('9'); +verify.quickInfoIs("(var) i2_i_foo: (b: number) => string", ""); + +goTo.marker('10'); +verify.quickInfoIs("(property) i2.foo: (b: number) => string", "this is foo"); + +goTo.marker('11'); +verify.quickInfoIs("(var) i2_i_foo_r: string", ""); + +goTo.marker('12'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs("param help"); +goTo.marker('12q'); +verify.quickInfoIs("(method) i2.foo(b: number): string", ""); + +goTo.marker('13'); +verify.quickInfoIs("(var) i2_i_i2_si: number", ""); +goTo.marker('13q'); +verify.quickInfoIs("(var) i2_i: i2", ""); + +goTo.marker('14'); +verify.quickInfoIs("(var) i2_i_i2_ii: number", ""); +goTo.marker('14q'); +verify.quickInfoIs("(var) i2_i: i2", ""); + +goTo.marker('15'); +verify.quickInfoIs("(var) i2_i_n: any", ""); + +goTo.marker('16'); +verify.currentSignatureHelpDocCommentIs("new method"); +verify.currentParameterHelpArgumentDocCommentIs("param"); +goTo.marker('16q'); +verify.quickInfoIs("(constructor) i2(i: i1): any", "new method"); + +goTo.marker('17'); +verify.quickInfoIs("(var) i2_i_nc_x: number", ""); + +goTo.marker('18'); +verify.quickInfoIs("(property) i2.nc_x: number", ""); + +goTo.marker('19'); +verify.quickInfoIs("(var) i2_i_nc_foo: (b: number) => string", ""); + +goTo.marker('20'); +verify.quickInfoIs("(property) i2.nc_foo: (b: number) => string", ""); + +goTo.marker('21'); +verify.quickInfoIs("(var) i2_i_nc_foo_r: string", ""); + +goTo.marker('22'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +goTo.marker('22q'); +verify.quickInfoIs("(method) i2.nc_foo(b: number): string", ""); + +goTo.marker('23'); +verify.quickInfoIs("(var) i2_i_r: number", ""); + +goTo.marker('24'); +verify.currentSignatureHelpDocCommentIs("this is call signature"); +verify.currentParameterHelpArgumentDocCommentIs("paramhelp a"); +goTo.marker('24q'); +verify.quickInfoIs("(function) i2(a: number, b: number): number", "this is call signature"); + +goTo.marker('25'); +verify.currentSignatureHelpDocCommentIs("this is call signature"); +verify.currentParameterHelpArgumentDocCommentIs("paramhelp b"); + +goTo.marker('26'); +verify.quickInfoIs("(var) i2_i_fnfoo: (b: number) => string", ""); + +goTo.marker('27'); +verify.quickInfoIs("(method) i2.fnfoo(b: number): string", "this is fnfoo"); + +goTo.marker('28'); +verify.quickInfoIs("(var) i2_i_fnfoo_r: string", ""); + +goTo.marker('29'); +verify.currentSignatureHelpDocCommentIs("this is fnfoo"); +verify.currentParameterHelpArgumentDocCommentIs("param help"); +goTo.marker('29q'); +verify.quickInfoIs("(method) i2.fnfoo(b: number): string", "this is fnfoo"); + +goTo.marker('30'); +verify.quickInfoIs("(var) i2_i_nc_fnfoo: (b: number) => string", ""); + +goTo.marker('31'); +verify.quickInfoIs("(method) i2.nc_fnfoo(b: number): string", ""); + +goTo.marker('32'); +verify.quickInfoIs("(var) i2_i_nc_fnfoo_r: string", ""); + +goTo.marker('33'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +goTo.marker('33q'); +verify.quickInfoIs("(method) i2.nc_fnfoo(b: number): string", ""); + +goTo.marker('34'); +verify.completionListContains("i1", "interface i1", "this is interface 1"); +verify.completionListContains("i1_i", "(var) i1_i: i1", ""); +verify.completionListContains("nc_i1", "interface nc_i1", ""); +verify.completionListContains("nc_i1_i", "(var) nc_i1_i: nc_i1", ""); +verify.completionListContains("i2", "interface i2", "this is interface 2 with memebers"); +verify.completionListContains("i2_i", "(var) i2_i: i2", ""); +verify.completionListContains("i2_i_x", "(var) i2_i_x: number", ""); +verify.completionListContains("i2_i_foo", "(var) i2_i_foo: (b: number) => string", ""); +verify.completionListContains("i2_i_foo_r", "(var) i2_i_foo_r: string", ""); +verify.completionListContains("i2_i_i2_si", "(var) i2_i_i2_si: number", ""); +verify.completionListContains("i2_i_i2_ii", "(var) i2_i_i2_ii: number", ""); +verify.completionListContains("i2_i_n", "(var) i2_i_n: any", ""); +verify.completionListContains("i2_i_nc_x", "(var) i2_i_nc_x: number", ""); +verify.completionListContains("i2_i_nc_foo", "(var) i2_i_nc_foo: (b: number) => string", ""); +verify.completionListContains("i2_i_nc_foo_r", "(var) i2_i_nc_foo_r: string", ""); +verify.completionListContains("i2_i_r", "(var) i2_i_r: number", ""); +verify.completionListContains("i2_i_fnfoo", "(var) i2_i_fnfoo: (b: number) => string", ""); +verify.completionListContains("i2_i_fnfoo_r", "(var) i2_i_fnfoo_r: string", ""); +verify.completionListContains("i2_i_nc_fnfoo", "(var) i2_i_nc_fnfoo: (b: number) => string", ""); +verify.completionListContains("i2_i_nc_fnfoo_r", "(var) i2_i_nc_fnfoo_r: string", ""); + +goTo.marker('36'); +verify.completionListContains("a", "(parameter) a: number", "i3_i a"); + +goTo.marker('40q'); +verify.quickInfoIs("(var) i3_i: i3", ""); +goTo.marker('40'); +verify.completionListContains("i3", "interface i3", ""); +verify.completionListContains("i3_i", "(var) i3_i: i3", ""); + +goTo.marker('41'); +verify.quickInfoIs("(method) i3.f(a: number): string", "Function i3 f"); +verify.memberListContains("f", "(method) i3.f(a: number): string", "Function i3 f"); +verify.memberListContains("l", "(property) i3.l: (b: number) => string", "i3 l"); +verify.memberListContains("x", "(property) i3.x: number", "Comment i3 x"); +verify.memberListContains("nc_f", "(method) i3.nc_f(a: number): string", ""); +verify.memberListContains("nc_l", "(property) i3.nc_l: (b: number) => string", ""); +verify.memberListContains("nc_x", "(property) i3.nc_x: number", ""); + +goTo.marker('42'); +verify.currentSignatureHelpDocCommentIs("Function i3 f"); +verify.currentParameterHelpArgumentDocCommentIs("number parameter"); + +goTo.marker('43'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs("comment i3 l b"); +goTo.marker('43q'); +verify.quickInfoIs("(method) i3.l(b: number): string", ""); + +goTo.marker('44'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +goTo.marker('44q'); +verify.quickInfoIs("(method) i3.nc_f(a: number): string", ""); + +goTo.marker('45'); +verify.currentSignatureHelpDocCommentIs(""); +verify.currentParameterHelpArgumentDocCommentIs(""); +goTo.marker('45q'); +verify.quickInfoIs("(method) i3.nc_l(b: number): string", ""); diff --git a/tests/cases/fourslash/commentsMultiModuleMultiFile.ts b/tests/cases/fourslash/commentsMultiModuleMultiFile.ts new file mode 100644 index 00000000000..87c8abe93a2 --- /dev/null +++ b/tests/cases/fourslash/commentsMultiModuleMultiFile.ts @@ -0,0 +1,54 @@ +/// + +// @Filename: commentsMultiModuleMultiFile_0.ts +/////** this is multi declare module*/ +////module mult/*3*/iM { +//// /** class b*/ +//// export class b { +//// } +////} +/////** thi is multi module 2*/ +////module mu/*2*/ltiM { +//// /** class c comment*/ +//// export class c { +//// } +////} +//// +////new /*1*/mu/*4*/ltiM.b(); +////new mu/*5*/ltiM.c(); + +// @Filename: commentsMultiModuleMultiFile_1.ts +/////** this is multi module 3 comment*/ +////module mu/*6*/ltiM { +//// /** class d comment*/ +//// export class d { +//// } +////} +////new /*7*/mu/*8*/ltiM.d(); + +// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed +edit.insert(''); + +goTo.marker('1'); +verify.completionListContains("multiM", "module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment"); + +goTo.marker('2'); +verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment"); + +goTo.marker('3'); +verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment"); + +goTo.marker('4'); +verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment"); + +goTo.marker('5'); +verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment"); + +goTo.marker('6'); +verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment"); + +goTo.marker('7'); +verify.completionListContains("multiM", "module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment"); + +goTo.marker('8'); +verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment"); \ No newline at end of file diff --git a/tests/cases/fourslash/commentsMultiModuleSingleFile.ts b/tests/cases/fourslash/commentsMultiModuleSingleFile.ts new file mode 100644 index 00000000000..29102e7eefb --- /dev/null +++ b/tests/cases/fourslash/commentsMultiModuleSingleFile.ts @@ -0,0 +1,35 @@ +/// + +/////** this is multi declare module*/ +////module mult/*3*/iM { +//// /** class b*/ +//// export class b { +//// } +////} +/////** thi is multi module 2*/ +////module mu/*2*/ltiM { +//// /** class c comment*/ +//// export class c { +//// } +////} +//// +////new /*1*/mu/*4*/ltiM.b(); +////new mu/*5*/ltiM.c(); + +// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed +edit.insert(''); + +goTo.marker('1'); +verify.completionListContains("multiM", "module multiM", "this is multi declare module\nthi is multi module 2"); + +goTo.marker('2'); +verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2"); + +goTo.marker('3'); +verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2"); + +goTo.marker('4'); +verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2"); + +goTo.marker('5'); +verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2"); \ No newline at end of file diff --git a/tests/cases/fourslash/commentsVariables.ts b/tests/cases/fourslash/commentsVariables.ts new file mode 100644 index 00000000000..8540aa00b6c --- /dev/null +++ b/tests/cases/fourslash/commentsVariables.ts @@ -0,0 +1,100 @@ +/// + +/////** This is my variable*/ +////var myV/*1*/ariable = 10; +/////*2*/ +/////** d variable*/ +////var d = 10; +////myVariable = d; +/////*3*/ +/////** foos comment*/ +////function foo() { +////} +/////** fooVar comment*/ +////var foo/*12*/Var: () => void; +/////*4*/ +////f/*5q*/oo(/*5*/); +////fo/*6q*/oVar(/*6*/); +////fo/*13*/oVar = f/*14*/oo; +/////*7*/ +////f/*8q*/oo(/*8*/); +////foo/*9q*/Var(/*9*/); +////var fooVarVar = /*9aq*/fooVar; +/////**class comment*/ +////class c { +//// /** constructor comment*/ +//// constructor() { +//// } +////} +/////**instance comment*/ +////var i = new c(); +/////*10*/ +/////** interface comments*/ +////interface i1 { +////} +/////**interface instance comments*/ +////var i1_i: i1; +/////*11*/ +////function foo2(a: number): void; +////function foo2(b: string): void; +////function foo2(aOrb) { +////} +////var x = fo/*15*/o2; + +goTo.marker('1'); +verify.quickInfoIs("(var) myVariable: number", "This is my variable"); + +goTo.marker('2'); +verify.completionListContains("myVariable", "(var) myVariable: number", "This is my variable"); + +goTo.marker('3'); +verify.completionListContains("myVariable", "(var) myVariable: number", "This is my variable"); +verify.completionListContains("d", "(var) d: number", "d variable"); + +goTo.marker('4'); +verify.completionListContains("foo", "(function) foo(): void", "foos comment"); +verify.completionListContains("fooVar", "(var) fooVar: () => void", "fooVar comment"); + +goTo.marker('5'); +verify.currentSignatureHelpDocCommentIs("foos comment"); +goTo.marker('5q'); +verify.quickInfoIs("(function) foo(): void", "foos comment"); + +goTo.marker('6'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('6q'); +verify.quickInfoIs("(function) fooVar(): void", ""); + +goTo.marker('7'); +verify.completionListContains("foo", "(function) foo(): void", "foos comment"); +verify.completionListContains("fooVar", "(var) fooVar: () => void", "fooVar comment"); + +goTo.marker('8'); +verify.currentSignatureHelpDocCommentIs("foos comment"); +goTo.marker('8q'); +verify.quickInfoIs("(function) foo(): void", "foos comment"); + +goTo.marker('9'); +verify.currentSignatureHelpDocCommentIs(""); +goTo.marker('9q'); +verify.quickInfoIs("(function) fooVar(): void", ""); +goTo.marker('9aq'); +verify.quickInfoIs("(var) fooVar: () => void", "fooVar comment"); + +goTo.marker('10'); +verify.completionListContains("i", "(var) i: c", "instance comment"); + +goTo.marker('11'); +verify.completionListContains("i1_i", "(var) i1_i: i1", "interface instance comments"); + +goTo.marker('12'); +verify.quickInfoIs("(var) fooVar: () => void", "fooVar comment"); + +goTo.marker('13'); +verify.quickInfoIs("(var) fooVar: () => void", "fooVar comment"); + +goTo.marker('14'); +verify.quickInfoIs("(function) foo(): void", "foos comment"); + +goTo.marker('15'); +verify.quickInfoIs("(function) foo2(a: number): void (+ 1 overload(s))", ""); \ No newline at end of file diff --git a/tests/cases/fourslash_old/commentsClass.ts b/tests/cases/fourslash_old/commentsClass.ts deleted file mode 100644 index 1351f61530f..00000000000 --- a/tests/cases/fourslash_old/commentsClass.ts +++ /dev/null @@ -1,176 +0,0 @@ -/// - -/////** This is class c2 without constuctor*/ -////class c/*1*/2 { -////} -////var i/*2*/2 = new c/*28*/2(/*3*/); -////var i2/*4*/_c = c/*5*/2; -////class c/*6*/3 { -//// /** Constructor comment*/ -//// constructor() { -//// } -////} -////var i/*7*/3 = new c/*29*/3(/*8*/); -////var i3/*9*/_c = c/*10*/3; -/////** Class comment*/ -////class c/*11*/4 { -//// /** Constructor comment*/ -//// constructor() { -//// } -////} -////var i/*12*/4 = new c/*30*/4(/*13*/); -////var i4/*14*/_c = c/*15*/4; -/////** Class with statics*/ -////class c/*16*/5 { -//// static s1: number; -////} -////var i/*17*/5 = new c/*31*/5(/*18*/); -////var i5_/*19*/c = c/*20*/5; -/////** class with statics and constructor*/ -////class c/*21*/6 { -//// /** s1 comment*/ -//// static s1: number; -//// /** constructor comment*/ -//// constructor() { -//// } -////} -////var i/*22*/6 = new c/*32*/6(/*23*/); -////var i6/*24*/_c = c/*25*/6; -/////*26*/ -////class a { -//// /** -//// constructor for a -//// @param a this is my a -//// */ -//// constructor(a: string) { -//// } -////} -////new a(/*27*/"Hello"); -////module m { -//// export module m2 { -//// /** class comment */ -//// export class c1 { -//// /** constructor comment*/ -//// constructor() { -//// } -//// } -//// } -////} -////var myVar = new m.m2.c/*33*/1(); - -// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed -edit.insert(''); - -goTo.marker('1'); -verify.quickInfoIs(undefined, "This is class c2 without constuctor", "c2", "class"); - -goTo.marker('2'); -verify.quickInfoIs("c2", "", "i2", "var"); - -goTo.marker('3'); -verify.currentSignatureHelpDocCommentIs(""); - -goTo.marker('4'); -verify.quickInfoIs("typeof c2", "", "i2_c", "var"); - -goTo.marker('5'); -verify.quickInfoIs(undefined, "This is class c2 without constuctor", "c2", "class"); - -goTo.marker('6'); -verify.quickInfoIs(undefined, "", "c3", "class"); - -goTo.marker('7'); -verify.quickInfoIs("c3", "", "i3", "var"); - -goTo.marker('8'); -verify.currentSignatureHelpDocCommentIs("Constructor comment"); - -goTo.marker('9'); -verify.quickInfoIs("typeof c3", "", "i3_c", "var"); - -goTo.marker('10'); -verify.quickInfoIs(undefined, "Constructor comment", "c3", "class"); - -goTo.marker('11'); -verify.quickInfoIs(undefined, "Class comment", "c4", "class"); - -goTo.marker('12'); -verify.quickInfoIs("c4", "", "i4", "var"); - -goTo.marker('13'); -verify.currentSignatureHelpDocCommentIs("Constructor comment"); - -goTo.marker('14'); -verify.quickInfoIs("typeof c4", "", "i4_c", "var"); - -goTo.marker('15'); -verify.quickInfoIs(undefined, "Class comment\nConstructor comment", "c4", "class"); - -goTo.marker('16'); -verify.quickInfoIs(undefined, "Class with statics", "c5", "class"); - -goTo.marker('17'); -verify.quickInfoIs("c5", "", "i5", "var"); - -goTo.marker('18'); -verify.currentSignatureHelpDocCommentIs(""); - -goTo.marker('19'); -verify.quickInfoIs("typeof c5", "", "i5_c", "var"); - -goTo.marker('20'); -verify.quickInfoIs(undefined, "Class with statics", "c5", "class"); - -goTo.marker('21'); -verify.quickInfoIs(undefined, "class with statics and constructor", "c6", "class"); - -goTo.marker('22'); -verify.quickInfoIs("c6", "", "i6", "var"); - -goTo.marker('23'); -verify.currentSignatureHelpDocCommentIs("constructor comment"); - -goTo.marker('24'); -verify.quickInfoIs("typeof c6", "", "i6_c", "var"); - -goTo.marker('25'); -verify.quickInfoIs(undefined, "class with statics and constructor\nconstructor comment", "c6", "class"); - -goTo.marker('26'); -verify.completionListContains("c2", undefined, "This is class c2 without constuctor", "c2", "class"); -verify.completionListContains("i2", "c2", "", "i2", "var"); -verify.completionListContains("i2_c", "typeof c2", "", "i2_c", "var"); -verify.completionListContains("c3", undefined, "", "c3", "class"); -verify.completionListContains("i3", "c3", "", "i3", "var"); -verify.completionListContains("i3_c", "typeof c3", "", "i3_c", "var"); -verify.completionListContains("c4", undefined, "Class comment", "c4", "class"); -verify.completionListContains("i4", "c4", "", "i4", "var"); -verify.completionListContains("i4_c", "typeof c4", "", "i4_c", "var"); -verify.completionListContains("c5", undefined, "Class with statics", "c5", "class"); -verify.completionListContains("i5", "c5", "","i5", "var"); -verify.completionListContains("i5_c", "typeof c5", "", "i5_c", "var"); -verify.completionListContains("c6", undefined, "class with statics and constructor", "c6", "class"); -verify.completionListContains("i6", "c6", "", "i6", "var"); -verify.completionListContains("i6_c", "typeof c6", "", "i6_c", "var"); - -goTo.marker('27'); -verify.currentSignatureHelpDocCommentIs("constructor for a"); -verify.currentParameterHelpArgumentDocCommentIs("this is my a"); - -goTo.marker('28'); -verify.quickInfoIs("(): c2", "", "c2", "constructor"); - -goTo.marker('29'); -verify.quickInfoIs("(): c3", "Constructor comment", "c3", "constructor"); - -goTo.marker('30'); -verify.quickInfoIs("(): c4", "Constructor comment", "c4", "constructor"); - -goTo.marker('31'); -verify.quickInfoIs("(): c5", "", "c5", "constructor"); - -goTo.marker('32'); -verify.quickInfoIs("(): c6", "constructor comment", "c6", "constructor"); - -goTo.marker('33'); -verify.quickInfoIs("(): m.m2.c1", "constructor comment", "m.m2.c1", "constructor"); \ No newline at end of file diff --git a/tests/cases/fourslash_old/commentsClassMembers.ts b/tests/cases/fourslash_old/commentsClassMembers.ts deleted file mode 100644 index d3bd041abf0..00000000000 --- a/tests/cases/fourslash_old/commentsClassMembers.ts +++ /dev/null @@ -1,706 +0,0 @@ -/// - -/////** This is comment for c1*/ -////class c/*1*/1 { -//// /** p1 is property of c1*/ -//// public p/*2*/1: number; -//// /** sum with property*/ -//// public p/*3*/2(/** number to add*/b: number) { -//// return this./*4*/p1 + /*5*/b; -//// } -//// /** getter property*/ -//// public get p/*6*/3() { -//// return this./*7*/p/*8q*/2(/*8*/this./*9*/p1); -//// } -//// /** setter property*/ -//// public set p/*10*/3(/** this is value*/value: number) { -//// this./*11*/p1 = this./*12*/p/*13q*/2(/*13*/value); -//// } -//// /** pp1 is property of c1*/ -//// private p/*14*/p1: number; -//// /** sum with property*/ -//// private p/*15*/p2(/** number to add*/b: number) { -//// return this./*16*/p1 + /*17*/b; -//// } -//// /** getter property*/ -//// private get p/*18*/p3() { -//// return this./*19*/p/*20q*/p2(/*20*/this./*21*/pp1); -//// } -//// /** setter property*/ -//// private set p/*22*/p3( /** this is value*/value: number) { -//// this./*23*/pp1 = this./*24*/p/*25q*/p2(/*25*/value); -//// } -//// /** Constructor method*/ -//// constru/*26*/ctor() { -//// } -//// /** s1 is static property of c1*/ -//// static s/*27*/1: number; -//// /** static sum with property*/ -//// static s/*28*/2(/** number to add*/b: number) { -//// return /*29*/c1./*30*/s1 + /*31*/b; -//// } -//// /** static getter property*/ -//// static get s/*32*/3() { -//// return /*33*/c1./*34*/s/*35q*/2(/*35*/c1./*36*/s1); -//// } -//// /** setter property*/ -//// static set s/*37*/3( /** this is value*/value: number) { -//// /*38*/c1./*39*/s1 = /*40*/c1./*41*/s/*42q*/2(/*42*/value); -//// } -//// public nc_/*43*/p1: number; -//// public nc_/*44*/p2(b: number) { -//// return this.nc_p1 + /*45*/b; -//// } -//// public get nc_/*46*/p3() { -//// return this.nc/*47q*/_p2(/*47*/this.nc_p1); -//// } -//// public set nc/*48*/_p3(value: number) { -//// this.nc_p1 = this.nc/*49q*/_p2(/*49*/value); -//// } -//// private nc/*50*/_pp1: number; -//// private nc_/*51*/pp2(b: number) { -//// return this.nc_pp1 + /*52*/b; -//// } -//// private get nc/*53*/_pp3() { -//// return this.nc_/*54q*/pp2(/*54*/this.nc_pp1); -//// } -//// private set nc_p/*55*/p3(value: number) { -//// this.nc_pp1 = this./*56q*/nc_pp2(/*56*/value); -//// } -//// static nc/*57*/_s1: number; -//// static nc/*58*/_s2(b: number) { -//// return c1.nc_s1 + /*59*/b; -//// } -//// static get nc/*60*/_s3() { -//// return c1.nc/*61q*/_s2(/*61*/c1.nc_s1); -//// } -//// static set nc/*62*/_s3(value: number) { -//// c1.nc_s1 = c1.nc_/*63q*/s2(/*63*/value); -//// } -////} -////var i/*64*/1 = new c/*65q*/1(/*65*/); -////var i1/*66*/_p = i1./*67*/p1; -////var i1/*68*/_f = i1.p/*69*/2; -////var i1/*70*/_r = i1.p/*71q*/2(/*71*/20); -////var i1_p/*72*/rop = i1./*73*/p3; -////i1./*74*/p3 = i1_/*75*/prop; -////var i1_/*76*/nc_p = i1.n/*77*/c_p1; -////var i1/*78*/_ncf = i1.nc_/*79*/p2; -////var i1_/*80*/ncr = i1.nc/*81q*/_p2(/*81*/20); -////var i1_n/*82*/cprop = i1.n/*83*/c_p3; -////i1.nc/*84*/_p3 = i1_/*85*/ncprop; -////var i1_/*86*/s_p = /*87*/c1./*88*/s1; -////var i1_s/*89*/_f = c1./*90*/s2; -////var i1_/*91*/s_r = c1.s/*92q*/2(/*92*/20); -////var i1_s/*93*/_prop = c1.s/*94*/3; -////c1.s/*95*/3 = i1_s/*96*/_prop; -////var i1_s/*97*/_nc_p = c1.n/*98*/c_s1; -////var i1_s_/*99*/ncf = c1.nc/*100*/_s2; -////var i1_s_/*101*/ncr = c1.n/*102q*/c_s2(/*102*/20); -////var i1_s_n/*103*/cprop = c1.nc/*104*/_s3; -////c1.nc/*105*/_s3 = i1_s_nc/*106*/prop; -////var i1/*107*/_c = c/*108*/1; -/////*109*/ -////class cProperties { -//// private val: number; -//// /** getter only property*/ -//// public get p1() { -//// return this.val; -//// } -//// public get nc_p1() { -//// return this.val; -//// } -//// /**setter only property*/ -//// public set p2(value: number) { -//// this.val = value; -//// } -//// public set nc_p2(value: number) { -//// this.val = value; -//// } -////} -////var cProperties_i = new cProperties(); -////cProperties_i./*110*/p2 = cProperties_i.p/*111*/1; -////cProperties_i.nc/*112*/_p2 = cProperties_i.nc/*113*/_p1; -////class cWithConstructorProperty { -//// /** -//// * this is class cWithConstructorProperty's constructor -//// * @param a this is first parameter a -//// */ -//// /*119*/constructor(/**more info about a*/public a: number) { -//// var b/*118*/bbb = 10; -//// th/*116*/is./*114*/a = /*115*/a + 2 + bb/*117*/bb; -//// } -////} - -goTo.marker('1'); -verify.quickInfoIs(undefined, "This is comment for c1", "c1", "class"); - -goTo.marker('2'); -verify.quickInfoIs("number", "p1 is property of c1", "c1.p1", "property"); - -goTo.marker('3'); -verify.quickInfoIs("(b: number): number", "sum with property", "c1.p2", "method"); - -goTo.marker('4'); -verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method"); -verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property"); -verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property"); -verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method"); -verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property"); -verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property"); -verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method"); -verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property"); -verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property"); -verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method"); -verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property"); - -goTo.marker('5'); -verify.completionListContains("b", "number", "number to add", "b", "parameter"); - -goTo.marker('6'); -verify.quickInfoIs("number", "getter property\nsetter property", "c1.p3", "property"); - -goTo.marker('7'); -verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method"); -verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property"); -verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property"); -verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method"); -verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property"); -verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property"); -verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method"); -verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property"); -verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property"); -verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method"); -verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property"); - -goTo.marker('8'); -verify.currentSignatureHelpDocCommentIs("sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); -goTo.marker('8q'); -verify.quickInfoIs("(b: number): number", "sum with property", "c1.p2", "method"); - -goTo.marker('9'); -verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method"); -verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property"); -verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property"); -verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method"); -verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property"); -verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property"); -verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method"); -verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property"); -verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property"); -verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method"); -verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property"); - -goTo.marker('10'); -verify.quickInfoIs("number", "getter property\nsetter property", "c1.p3", "property"); - -goTo.marker('11'); -verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method"); -verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property"); -verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property"); -verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method"); -verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property"); -verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property"); -verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method"); -verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property"); -verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property"); -verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method"); -verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property"); - -goTo.marker('12'); -verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method"); -verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property"); -verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property"); -verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method"); -verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property"); -verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property"); -verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method"); -verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property"); -verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property"); -verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method"); -verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property"); - -goTo.marker('13'); -verify.currentSignatureHelpDocCommentIs("sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); -verify.completionListContains("value", "number", "this is value", "value", "parameter"); -goTo.marker('13q'); -verify.quickInfoIs("(b: number): number", "sum with property", "c1.p2", "method"); - -goTo.marker('14'); -verify.quickInfoIs("number", "pp1 is property of c1", "c1.pp1", "property"); - -goTo.marker('15'); -verify.quickInfoIs("(b: number): number", "sum with property", "c1.pp2", "method"); - -goTo.marker('16'); -verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method"); -verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property"); -verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property"); -verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method"); -verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property"); -verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property"); -verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method"); -verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property"); -verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property"); -verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method"); -verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property"); - -goTo.marker('17'); -verify.completionListContains("b", "number", "number to add", "b", "parameter"); - -goTo.marker('18'); -verify.quickInfoIs("number", "getter property\nsetter property", "c1.pp3", "property"); - -goTo.marker('19'); -verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method"); -verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property"); -verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property"); -verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method"); -verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property"); -verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property"); -verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method"); -verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property"); -verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property"); -verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method"); -verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property"); - -goTo.marker('20'); -verify.currentSignatureHelpDocCommentIs("sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); -goTo.marker('20q'); -verify.quickInfoIs("(b: number): number", "sum with property", "c1.pp2", "method"); - -goTo.marker('21'); -verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method"); -verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property"); -verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property"); -verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method"); -verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property"); -verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property"); -verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method"); -verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property"); -verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property"); -verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method"); -verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property"); - -goTo.marker('22'); -verify.quickInfoIs("number", "getter property\nsetter property", "c1.pp3", "property"); - -goTo.marker('23'); -verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method"); -verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property"); -verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property"); -verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method"); -verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property"); -verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property"); -verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method"); -verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property"); -verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property"); -verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method"); -verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property"); - -goTo.marker('24'); -verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method"); -verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property"); -verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property"); -verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method"); -verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property"); -verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property"); -verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method"); -verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property"); -verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property"); -verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method"); -verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property"); - -goTo.marker('25'); -verify.currentSignatureHelpDocCommentIs("sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); -verify.completionListContains("value", "number", "this is value", "value", "parameter"); -goTo.marker('25q'); -verify.quickInfoIs("(b: number): number", "sum with property", "c1.pp2", "method"); - -goTo.marker('26'); -verify.quickInfoIs("(): c1", "Constructor method", "c1", "constructor"); - -goTo.marker('27'); -verify.quickInfoIs("number", "s1 is static property of c1", "c1.s1", "property"); - -goTo.marker('28'); -verify.quickInfoIs("(b: number): number", "static sum with property", "c1.s2", "method"); - -goTo.marker('29'); -verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class"); - -goTo.marker('30'); -verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property"); -verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method"); -verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property"); -verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property"); -verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method"); -verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property"); - -goTo.marker('31'); -verify.completionListContains("b", "number", "number to add", "b", "parameter"); - -goTo.marker('32'); -verify.quickInfoIs("number", "static getter property\nsetter property", "c1.s3", "property"); - -goTo.marker('33'); -verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class"); - -goTo.marker('34'); -verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property"); -verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method"); -verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property"); -verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property"); -verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method"); -verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property"); - -goTo.marker('35'); -verify.currentSignatureHelpDocCommentIs("static sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); -verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class"); -goTo.marker('35q'); -verify.quickInfoIs("(b: number): number", "static sum with property", "c1.s2", "method"); - -goTo.marker('36'); -verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property"); -verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method"); -verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property"); -verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property"); -verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method"); -verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property"); - -goTo.marker('37'); -verify.quickInfoIs("number", "static getter property\nsetter property", "c1.s3", "property"); - -goTo.marker('38'); -verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class"); - -goTo.marker('39'); -verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property"); -verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method"); -verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property"); -verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property"); -verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method"); -verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property"); - -goTo.marker('40'); -verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class"); - -goTo.marker('41'); -verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property"); -verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method"); -verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property"); -verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property"); -verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method"); -verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property"); - -goTo.marker('42'); -verify.currentSignatureHelpDocCommentIs("static sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); -verify.completionListContains("value", "number", "this is value", "value", "parameter"); -goTo.marker('42q'); -verify.quickInfoIs("(b: number): number", "static sum with property", "c1.s2", "method"); - -goTo.marker('43'); -verify.quickInfoIs("number", "", "c1.nc_p1", "property"); - -goTo.marker('44'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_p2", "method"); - -goTo.marker('45'); -verify.completionListContains("b", "number", "", "b", "parameter"); - -goTo.marker('46'); -verify.quickInfoIs("number", "", "c1.nc_p3", "property"); - -goTo.marker('47'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -goTo.marker('47q'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_p2", "method"); - -goTo.marker('48'); -verify.quickInfoIs("number", "", "c1.nc_p3", "property"); - -goTo.marker('49'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -verify.completionListContains("value", "number", "", "value", "parameter"); -goTo.marker('49q'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_p2", "method"); - -goTo.marker('50'); -verify.quickInfoIs("number", "", "c1.nc_pp1", "property"); - -goTo.marker('51'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_pp2", "method"); - -goTo.marker('52'); -verify.completionListContains("b", "number", "", "b", "parameter"); - -goTo.marker('53'); -verify.quickInfoIs("number", "", "c1.nc_pp3", "property"); - -goTo.marker('54'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -goTo.marker('54q'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_pp2", "method"); - -goTo.marker('55'); -verify.quickInfoIs("number", "", "c1.nc_pp3", "property"); - -goTo.marker('56'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -verify.completionListContains("value", "number", "", "value", "parameter"); -goTo.marker('56q'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_pp2", "method"); - -goTo.marker('57'); -verify.quickInfoIs("number", "", "c1.nc_s1", "property"); - -goTo.marker('58'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_s2", "method"); - -goTo.marker('59'); -verify.completionListContains("b", "number", "", "b", "parameter"); - -goTo.marker('60'); -verify.quickInfoIs("number", "", "c1.nc_s3", "property"); - -goTo.marker('61'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -goTo.marker('61q'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_s2", "method"); - -goTo.marker('62'); -verify.quickInfoIs("number", "", "c1.nc_s3", "property"); - -goTo.marker('63'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -verify.completionListContains("value", "number", "", "value", "parameter"); -goTo.marker('63q'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_s2", "method"); - -goTo.marker('64'); -verify.quickInfoIs("c1", "", "i1", "var"); - -goTo.marker('65'); -verify.currentSignatureHelpDocCommentIs("Constructor method"); -goTo.marker('65q'); -verify.quickInfoIs("(): c1", "Constructor method", "c1", "constructor"); - -goTo.marker('66'); -verify.quickInfoIs("number", "", "i1_p", "var"); - -goTo.marker('67'); -verify.quickInfoIs("number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property"); -verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method"); -verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property"); -verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property"); -verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method"); -verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property"); - -goTo.marker('68'); -verify.quickInfoIs("(b: number) => number", "", "i1_f", "var"); - -goTo.marker('69'); -verify.quickInfoIs("(b: number): number", "sum with property", "c1.p2", "method"); - -goTo.marker('70'); -verify.quickInfoIs("number", "", "i1_r", "var"); - -goTo.marker('71'); -verify.currentSignatureHelpDocCommentIs("sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); -goTo.marker('71q'); -verify.quickInfoIs("(b: number): number", "sum with property", "c1.p2", "method"); - -goTo.marker('72'); -verify.quickInfoIs("number", "", "i1_prop", "var"); -goTo.marker('73'); -verify.quickInfoIs("number", "getter property\nsetter property", "c1.p3", "property"); -goTo.marker('74'); -verify.quickInfoIs("number", "getter property\nsetter property", "c1.p3", "property"); -goTo.marker('75'); -verify.quickInfoIs("number", "", "i1_prop", "var"); - -goTo.marker('76'); -verify.quickInfoIs("number", "", "i1_nc_p", "var"); - -goTo.marker('77'); -verify.quickInfoIs("number", "", "c1.nc_p1", "property"); - -goTo.marker('78'); -verify.quickInfoIs("(b: number) => number", "", "i1_ncf", "var"); - -goTo.marker('79'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_p2", "method"); - -goTo.marker('80'); -verify.quickInfoIs("number", "", "i1_ncr", "var"); - -goTo.marker('81'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -goTo.marker('81q'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_p2", "method"); - -goTo.marker('82'); -verify.quickInfoIs("number", "", "i1_ncprop", "var"); -goTo.marker('83'); -verify.quickInfoIs("number", "", "c1.nc_p3", "property"); -goTo.marker('84'); -verify.quickInfoIs("number", "", "c1.nc_p3", "property"); -goTo.marker('85'); -verify.quickInfoIs("number", "", "i1_ncprop", "var"); - -goTo.marker('86'); -verify.quickInfoIs("number", "", "i1_s_p", "var"); - -goTo.marker('87'); -verify.quickInfoIs(undefined, "This is comment for c1\nConstructor method", "c1", "class"); -verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class"); - -goTo.marker('88'); -verify.quickInfoIs("number", "s1 is static property of c1", "c1.s1", "property"); -verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property"); -verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method"); -verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property"); -verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property"); -verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method"); -verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property"); - -goTo.marker('89'); -verify.quickInfoIs("(b: number) => number", "", "i1_s_f", "var"); - -goTo.marker('90'); -verify.quickInfoIs("(b: number): number", "static sum with property", "c1.s2", "method"); - -goTo.marker('91'); -verify.quickInfoIs("number", "", "i1_s_r", "var"); - -goTo.marker('92'); -verify.currentSignatureHelpDocCommentIs("static sum with property"); -verify.currentParameterHelpArgumentDocCommentIs("number to add"); -goTo.marker('92q'); -verify.quickInfoIs("(b: number): number", "static sum with property", "c1.s2", "method"); - -goTo.marker('93'); -verify.quickInfoIs("number", "", "i1_s_prop", "var"); -goTo.marker('94'); -verify.quickInfoIs("number", "static getter property\nsetter property", "c1.s3", "property"); -goTo.marker('95'); -verify.quickInfoIs("number", "static getter property\nsetter property", "c1.s3", "property"); -goTo.marker('96'); -verify.quickInfoIs("number", "", "i1_s_prop", "var"); - -goTo.marker('97'); -verify.quickInfoIs("number", "", "i1_s_nc_p", "var"); - -goTo.marker('98'); -verify.quickInfoIs("number", "", "c1.nc_s1", "property"); - -goTo.marker('99'); -verify.quickInfoIs("(b: number) => number", "", "i1_s_ncf", "var"); - -goTo.marker('100'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_s2", "method"); - -goTo.marker('101'); -verify.quickInfoIs("number", "", "i1_s_ncr", "var"); - -goTo.marker('102'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -goTo.marker('102q'); -verify.quickInfoIs("(b: number): number", "", "c1.nc_s2", "method"); - -goTo.marker('103'); -verify.quickInfoIs("number", "", "i1_s_ncprop", "var"); -goTo.marker('104'); -verify.quickInfoIs("number", "", "c1.nc_s3", "property"); -goTo.marker('105'); -verify.quickInfoIs("number", "", "c1.nc_s3", "property"); -goTo.marker('106'); -verify.quickInfoIs("number", "", "i1_s_ncprop", "var"); - -goTo.marker('107'); -verify.quickInfoIs("typeof c1", "", "i1_c", "var"); - -goTo.marker('108'); -verify.quickInfoIs(undefined, "This is comment for c1\nConstructor method", "c1", "class"); - -goTo.marker('109'); -verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class"); -verify.completionListContains("i1", "c1", "", "i1", "var"); -verify.completionListContains("i1_p", "number", "", "i1_p", "var"); -verify.completionListContains("i1_f", "(b: number) => number", "", "i1_f", "var"); -verify.completionListContains("i1_r", "number", "", "i1_r", "var"); -verify.completionListContains("i1_prop", "number", "", "i1_prop", "var"); -verify.completionListContains("i1_nc_p", "number", "", "i1_nc_p", "var"); -verify.completionListContains("i1_ncf", "(b: number) => number", "", "i1_ncf", "var"); -verify.completionListContains("i1_ncr", "number", "", "i1_ncr", "var"); -verify.completionListContains("i1_ncprop", "number", "", "i1_ncprop", "var"); -verify.completionListContains("i1_s_p", "number", "", "i1_s_p", "var"); -verify.completionListContains("i1_s_f", "(b: number) => number", "", "i1_s_f", "var"); -verify.completionListContains("i1_s_r", "number", "", "i1_s_r", "var"); -verify.completionListContains("i1_s_prop", "number", "", "i1_s_prop", "var"); -verify.completionListContains("i1_s_nc_p", "number", "", "i1_s_nc_p", "var"); -verify.completionListContains("i1_s_ncf", "(b: number) => number", "", "i1_s_ncf", "var"); -verify.completionListContains("i1_s_ncr", "number", "", "i1_s_ncr", "var"); -verify.completionListContains("i1_s_ncprop", "number", "", "i1_s_ncprop", "var"); - -verify.completionListContains("i1_c", "typeof c1", "", "i1_c", "var"); - -goTo.marker('110'); -verify.quickInfoIs("number", "setter only property", "cProperties.p2", "property"); -verify.memberListContains("p1", "number", "getter only property", "cProperties.p1", "property"); -verify.memberListContains("p2", "number", "setter only property", "cProperties.p2", "property"); -verify.memberListContains("nc_p1", "number", "", "cProperties.nc_p1", "property"); -verify.memberListContains("nc_p2", "number", "", "cProperties.nc_p2", "property"); - -goTo.marker('111'); -verify.quickInfoIs("number", "getter only property", "cProperties.p1", "property"); -goTo.marker('112'); -verify.quickInfoIs("number", "", "cProperties.nc_p2", "property"); -goTo.marker('113'); -verify.quickInfoIs("number", "", "cProperties.nc_p1", "property"); - -goTo.marker('114'); -verify.memberListContains("a", "number", "more info about a", "cWithConstructorProperty.a", "property"); -verify.quickInfoIs("number", "more info about a", "cWithConstructorProperty.a", "property"); - -goTo.marker('115'); -verify.completionListContains("a", "number", "this is first parameter a\nmore info about a", "a", "parameter"); -verify.quickInfoIs("number", "this is first parameter a\nmore info about a", "a", "parameter"); - -goTo.marker('116'); -verify.quickInfoIs("cWithConstructorProperty", "", "cWithConstructorProperty", "class"); - -goTo.marker('117'); -verify.quickInfoIs("number", "", "bbbb", "local var"); - -goTo.marker('118'); -verify.quickInfoIs("number", "", "bbbb", "local var"); - -goTo.marker('119'); -verify.quickInfoIs("(a: number): cWithConstructorProperty", "this is class cWithConstructorProperty's constructor", "cWithConstructorProperty", "constructor"); \ No newline at end of file diff --git a/tests/cases/fourslash_old/commentsEnums.ts b/tests/cases/fourslash_old/commentsEnums.ts deleted file mode 100644 index ed99eda23f9..00000000000 --- a/tests/cases/fourslash_old/commentsEnums.ts +++ /dev/null @@ -1,37 +0,0 @@ -/// - -/////** Enum of colors*/ -////enum /*1*/Colors { -//// /** Fancy name for 'blue'*/ -//// /*2*/Cornflower, -//// /** Fancy name for 'pink'*/ -//// /*3*/FancyPink -////} -////var /*4*/x = /*5*/Colors./*6*/Cornflower; -////x = Colors./*7*/FancyPink; - -goTo.marker('1'); -verify.quickInfoIs("Colors", "Enum of colors", "Colors", "enum"); - -goTo.marker('2'); -verify.quickInfoIs("Colors", "Fancy name for 'blue'", "Colors.Cornflower", "property"); - -goTo.marker('3'); -verify.quickInfoIs("Colors", "Fancy name for 'pink'", "Colors.FancyPink", "property"); - -goTo.marker('4'); -verify.quickInfoIs("Colors", "", "x", "var"); - -goTo.marker('5'); -verify.completionListContains("Colors", "Colors", "Enum of colors", "Colors", "enum"); -verify.quickInfoIs("typeof Colors", "Enum of colors", "Colors", "enum"); - -goTo.marker('6'); -verify.memberListContains("Cornflower", "Colors", "Fancy name for 'blue'", "Colors.Cornflower", "property"); -verify.memberListContains("FancyPink", "Colors", "Fancy name for 'pink'", "Colors.FancyPink", "property"); -verify.quickInfoIs("Colors", "Fancy name for 'blue'", "Colors.Cornflower", "property"); - -goTo.marker('7'); -verify.memberListContains("Cornflower", "Colors", "Fancy name for 'blue'", "Colors.Cornflower", "property"); -verify.memberListContains("FancyPink", "Colors", "Fancy name for 'pink'", "Colors.FancyPink", "property"); -verify.quickInfoIs("Colors", "Fancy name for 'pink'", "Colors.FancyPink", "property"); \ No newline at end of file diff --git a/tests/cases/fourslash_old/commentsInheritance.ts b/tests/cases/fourslash_old/commentsInheritance.ts deleted file mode 100644 index cb87ef0d6ab..00000000000 --- a/tests/cases/fourslash_old/commentsInheritance.ts +++ /dev/null @@ -1,672 +0,0 @@ -/// - -/////** i1 is interface with properties*/ -////interface i1 { -//// /** i1_p1*/ -//// i1_p1: number; -//// /** i1_f1*/ -//// i1_f1(): void; -//// /** i1_l1*/ -//// i1_l1: () => void; -//// i1_nc_p1: number; -//// i1_nc_f1(): void; -//// i1_nc_l1: () => void; -//// p1: number; -//// f1(): void; -//// l1: () => void; -//// nc_p1: number; -//// nc_f1(): void; -//// nc_l1: () => void; -////} -////class c1 implements i1 { -//// public i1_p1: number; -//// public i1_f1() { -//// } -//// public i1_l1: () => void; -//// public i1_nc_p1: number; -//// public i1_nc_f1() { -//// } -//// public i1_nc_l1: () => void; -//// /** c1_p1*/ -//// public p1: number; -//// /** c1_f1*/ -//// public f1() { -//// } -//// /** c1_l1*/ -//// public l1: () => void; -//// /** c1_nc_p1*/ -//// public nc_p1: number; -//// /** c1_nc_f1*/ -//// public nc_f1() { -//// } -//// /** c1_nc_l1*/ -//// public nc_l1: () => void; -////} -////var i1/*1iq*/_i: i1; -////i1_i./*1*/i/*2q*/1_f1(/*2*/); -////i1_i.i1_n/*3q*/c_f1(/*3*/); -////i1_i.f/*4q*/1(/*4*/); -////i1_i.nc/*5q*/_f1(/*5*/); -////i1_i.i1/*l2q*/_l1(/*l2*/); -////i1_i.i1_/*l3q*/nc_l1(/*l3*/); -////i1_i.l/*l4q*/1(/*l4*/); -////i1_i.nc/*l5q*/_l1(/*l5*/); -////var c1/*6iq*/_i = new c1(); -////c1_i./*6*/i1/*7q*/_f1(/*7*/); -////c1_i.i1_nc/*8q*/_f1(/*8*/); -////c1_i.f/*9q*/1(/*9*/); -////c1_i.nc/*10q*/_f1(/*10*/); -////c1_i.i1/*l7q*/_l1(/*l7*/); -////c1_i.i1_n/*l8q*/c_l1(/*l8*/); -////c1_i.l/*l9q*/1(/*l9*/); -////c1_i.nc/*l10q*/_l1(/*l10*/); -////// assign to interface -////i1_i = c1_i; -////i1_i./*11*/i1/*12q*/_f1(/*12*/); -////i1_i.i1_nc/*13q*/_f1(/*13*/); -////i1_i.f/*14q*/1(/*14*/); -////i1_i.nc/*15q*/_f1(/*15*/); -////i1_i.i1/*l12q*/_l1(/*l12*/); -////i1_i.i1/*l13q*/_nc_l1(/*l13*/); -////i1_i.l/*l14q*/1(/*l14*/); -////i1_i.nc/*l15q*/_l1(/*l15*/); -/////*16*/ -////class c2 { -//// /** c2 c2_p1*/ -//// public c2_p1: number; -//// /** c2 c2_f1*/ -//// public c2_f1() { -//// } -//// /** c2 c2_prop*/ -//// public get c2_prop() { -//// return 10; -//// } -//// public c2_nc_p1: number; -//// public c2_nc_f1() { -//// } -//// public get c2_nc_prop() { -//// return 10; -//// } -//// /** c2 p1*/ -//// public p1: number; -//// /** c2 f1*/ -//// public f1() { -//// } -//// /** c2 prop*/ -//// public get prop() { -//// return 10; -//// } -//// public nc_p1: number; -//// public nc_f1() { -//// } -//// public get nc_prop() { -//// return 10; -//// } -//// /** c2 constructor*/ -//// constr/*55*/uctor(a: number) { -//// this.c2_p1 = a; -//// } -////} -////class c3 extends c2 { -//// cons/*56*/tructor() { -//// su/*18sq*/per(10); -//// this.p1 = s/*18spropq*/uper./*18spropProp*/c2_p1; -//// } -//// /** c3 p1*/ -//// public p1: number; -//// /** c3 f1*/ -//// public f1() { -//// } -//// /** c3 prop*/ -//// public get prop() { -//// return 10; -//// } -//// public nc_p1: number; -//// public nc_f1() { -//// } -//// public get nc_prop() { -//// return 10; -//// } -////} -////var c/*17iq*/2_i = new c/*17q*/2(/*17*/10); -////var c/*18iq*/3_i = new c/*18q*/3(/*18*/); -////c2_i./*19*/c2/*20q*/_f1(/*20*/); -////c2_i.c2_nc/*21q*/_f1(/*21*/); -////c2_i.f/*22q*/1(/*22*/); -////c2_i.nc/*23q*/_f1(/*23*/); -////c3_i./*24*/c2/*25q*/_f1(/*25*/); -////c3_i.c2_nc/*26q*/_f1(/*26*/); -////c3_i.f/*27q*/1(/*27*/); -////c3_i.nc/*28q*/_f1(/*28*/); -////// assign -////c2_i = c3_i; -////c2_i./*29*/c2/*30q*/_f1(/*30*/); -////c2_i.c2_nc_/*31q*/f1(/*31*/); -////c2_i.f/*32q*/1(/*32*/); -////c2_i.nc/*33q*/_f1(/*33*/); -////class c4 extends c2 { -////} -////var c4/*34iq*/_i = new c/*34q*/4(/*34*/10); -/////*35*/ -////interface i2 { -//// /** i2_p1*/ -//// i2_p1: number; -//// /** i2_f1*/ -//// i2_f1(): void; -//// /** i2_l1*/ -//// i2_l1: () => void; -//// i2_nc_p1: number; -//// i2_nc_f1(): void; -//// i2_nc_l1: () => void; -//// /** i2 p1*/ -//// p1: number; -//// /** i2 f1*/ -//// f1(): void; -//// /** i2 l1*/ -//// l1: () => void; -//// nc_p1: number; -//// nc_f1(): void; -//// nc_l1: () => void; -////} -////interface i3 extends i2 { -//// /** i3 p1*/ -//// p1: number; -//// /** i3 f1*/ -//// f1(): void; -//// /** i3 l1*/ -//// l1: () => void; -//// nc_p1: number; -//// nc_f1(): void; -//// nc_l1: () => void; -////} -////var i2/*36iq*/_i: i2; -////var i3/*37iq*/_i: i3; -////i2_i./*36*/i2/*37q*/_f1(/*37*/); -////i2_i.i2_n/*38q*/c_f1(/*38*/); -////i2_i.f/*39q*/1(/*39*/); -////i2_i.nc/*40q*/_f1(/*40*/); -////i2_i.i2_/*l37q*/l1(/*l37*/); -////i2_i.i2_nc/*l38q*/_l1(/*l38*/); -////i2_i.l/*l39q*/1(/*l39*/); -////i2_i.nc_/*l40q*/l1(/*l40*/); -////i3_i./*41*/i2_/*42q*/f1(/*42*/); -////i3_i.i2_nc/*43q*/_f1(/*43*/); -////i3_i.f/*44q*/1(/*44*/); -////i3_i.nc_/*45q*/f1(/*45*/); -////i3_i.i2_/*l42q*/l1(/*l42*/); -////i3_i.i2_nc/*l43q*/_l1(/*l43*/); -////i3_i.l/*l44q*/1(/*l44*/); -////i3_i.nc_/*l45q*/l1(/*l45*/); -////// assign to interface -////i2_i = i3_i; -////i2_i./*46*/i2/*47q*/_f1(/*47*/); -////i2_i.i2_nc_/*48q*/f1(/*48*/); -////i2_i.f/*49q*/1(/*49*/); -////i2_i.nc/*50q*/_f1(/*50*/); -////i2_i.i2_/*l47q*/l1(/*l47*/); -////i2_i.i2_nc/*l48q*/_l1(/*l48*/); -////i2_i.l/*l49q*/1(/*l49*/); -////i2_i.nc_/*l50q*/l1(/*l50*/); -/////*51*/ -/////**c5 class*/ -////class c5 { -//// public b: number; -////} -////class c6 extends c5 { -//// public d; -//// const/*57*/ructor() { -//// /*52*/super(); -//// this.d = /*53*/super./*54*/b; -//// } -////} - -goTo.marker('1'); -verify.memberListContains("i1_p1", "number", "i1_p1", "i1.i1_p1", "property"); -verify.memberListContains("i1_f1", "(): void", "i1_f1", "i1.i1_f1", "method"); -verify.memberListContains("i1_l1", "() => void", "i1_l1", "i1.i1_l1", "property"); -verify.memberListContains("i1_nc_p1", "number", "", "i1.i1_nc_p1", "property"); -verify.memberListContains("i1_nc_f1", "(): void", "", "i1.i1_nc_f1", "method"); -verify.memberListContains("i1_nc_l1", "() => void", "", "i1.i1_nc_l1", "property"); -verify.memberListContains("p1", "number", "", "i1.p1", "property"); -verify.memberListContains("f1", "(): void", "", "i1.f1", "method"); -verify.memberListContains("l1", "() => void", "", "i1.l1", "property"); -verify.memberListContains("nc_p1", "number", "", "i1.nc_p1", "property"); -verify.memberListContains("nc_f1", "(): void", "", "i1.nc_f1", "method"); -verify.memberListContains("nc_l1", "() => void", "", "i1.nc_l1", "property"); -goTo.marker('2'); -verify.currentSignatureHelpDocCommentIs("i1_f1"); -goTo.marker('3'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('4'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('5'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l2'); -verify.currentSignatureHelpDocCommentIs("i1_l1"); -goTo.marker('l3'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l4'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l5'); -verify.currentSignatureHelpDocCommentIs(""); - -goTo.marker('1iq'); -verify.quickInfoIs("i1", "", "i1_i", "var"); -goTo.marker('2q'); -verify.quickInfoIs("(): void", "i1_f1", "i1.i1_f1", "method"); -goTo.marker('3q'); -verify.quickInfoIs("(): void", "", "i1.i1_nc_f1", "method"); -goTo.marker('4q'); -verify.quickInfoIs("(): void", "", "i1.f1", "method"); -goTo.marker('5q'); -verify.quickInfoIs("(): void", "", "i1.nc_f1", "method"); -goTo.marker('l2q'); -verify.quickInfoIs("() => void", "i1_l1", "i1.i1_l1", "property"); -goTo.marker('l3q'); -verify.quickInfoIs("() => void", "", "i1.i1_nc_l1", "property"); -goTo.marker('l4q'); -verify.quickInfoIs("() => void", "", "i1.l1", "property"); -goTo.marker('l5q'); -verify.quickInfoIs("() => void", "", "i1.nc_l1", "property"); - -goTo.marker('6'); -verify.memberListContains("i1_p1", "number", "", "c1.i1_p1", "property"); -verify.memberListContains("i1_f1", "(): void", "", "c1.i1_f1", "method"); -verify.memberListContains("i1_l1", "() => void", "", "c1.i1_l1", "property"); -verify.memberListContains("i1_nc_p1", "number", "", "c1.i1_nc_p1", "property"); -verify.memberListContains("i1_nc_f1", "(): void", "", "c1.i1_nc_f1", "method"); -verify.memberListContains("i1_nc_l1", "() => void", "", "c1.i1_nc_l1", "property"); -verify.memberListContains("p1", "number", "c1_p1", "c1.p1", "property"); -verify.memberListContains("f1", "(): void", "c1_f1", "c1.f1", "method"); -verify.memberListContains("l1", "() => void", "c1_l1", "c1.l1", "property"); -verify.memberListContains("nc_p1", "number", "c1_nc_p1", "c1.nc_p1", "property"); -verify.memberListContains("nc_f1", "(): void", "c1_nc_f1", "c1.nc_f1", "method"); -verify.memberListContains("nc_l1", "() => void", "c1_nc_l1", "c1.nc_l1", "property"); -goTo.marker('7'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('8'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('9'); -verify.currentSignatureHelpDocCommentIs("c1_f1"); -goTo.marker('10'); -verify.currentSignatureHelpDocCommentIs("c1_nc_f1"); -goTo.marker('l7'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l8'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l9'); -verify.currentSignatureHelpDocCommentIs("c1_l1"); -goTo.marker('l10'); -verify.currentSignatureHelpDocCommentIs("c1_nc_l1"); - -goTo.marker('6iq'); -verify.quickInfoIs("c1", "", "c1_i", "var"); -goTo.marker('7q'); -verify.quickInfoIs("(): void", "", "c1.i1_f1", "method"); -goTo.marker('8q'); -verify.quickInfoIs("(): void", "", "c1.i1_nc_f1", "method"); -goTo.marker('9q'); -verify.quickInfoIs("(): void", "c1_f1", "c1.f1", "method"); -goTo.marker('10q'); -verify.quickInfoIs("(): void", "c1_nc_f1", "c1.nc_f1", "method"); -goTo.marker('l7q'); -verify.quickInfoIs("() => void", "", "c1.i1_l1", "property"); -goTo.marker('l8q'); -verify.quickInfoIs("() => void", "", "c1.i1_nc_l1", "property"); -goTo.marker('l9q'); -verify.quickInfoIs("() => void", "c1_l1", "c1.l1", "property"); -goTo.marker('l10q'); -verify.quickInfoIs("() => void", "c1_nc_l1", "c1.nc_l1", "property"); - -goTo.marker('11'); -verify.memberListContains("i1_p1", "number", "i1_p1", "i1.i1_p1", "property"); -verify.memberListContains("i1_f1", "(): void", "i1_f1", "i1.i1_f1", "method"); -verify.memberListContains("i1_l1", "() => void", "i1_l1", "i1.i1_l1", "property"); -verify.memberListContains("i1_nc_p1", "number", "", "i1.i1_nc_p1", "property"); -verify.memberListContains("i1_nc_f1", "(): void", "", "i1.i1_nc_f1", "method"); -verify.memberListContains("i1_nc_l1", "() => void", "", "i1.i1_nc_l1", "property"); -verify.memberListContains("p1", "number", "", "i1.p1", "property"); -verify.memberListContains("f1", "(): void", "", "i1.f1", "method"); -verify.memberListContains("l1", "() => void", "", "i1.l1", "property"); -verify.memberListContains("nc_p1", "number", "", "i1.nc_p1", "property"); -verify.memberListContains("nc_f1", "(): void", "", "i1.nc_f1", "method"); -verify.memberListContains("nc_l1", "() => void", "", "i1.nc_l1", "property"); -goTo.marker('12'); -verify.currentSignatureHelpDocCommentIs("i1_f1"); -goTo.marker('13'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('14'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('15'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l12'); -verify.currentSignatureHelpDocCommentIs("i1_l1"); -goTo.marker('l13'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l14'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l15'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('12q'); -verify.quickInfoIs("(): void", "i1_f1", "i1.i1_f1", "method"); -goTo.marker('13q'); -verify.quickInfoIs("(): void", "", "i1.i1_nc_f1", "method"); -goTo.marker('14q'); -verify.quickInfoIs("(): void", "", "i1.f1", "method"); -goTo.marker('15q'); -verify.quickInfoIs("(): void", "", "i1.nc_f1", "method"); -goTo.marker('l12q'); -verify.quickInfoIs("() => void", "i1_l1", "i1.i1_l1", "property"); -goTo.marker('l13q'); -verify.quickInfoIs("() => void", "", "i1.i1_nc_l1", "property"); -goTo.marker('l14q'); -verify.quickInfoIs("() => void", "", "i1.l1", "property"); -goTo.marker('l15q'); -verify.quickInfoIs("() => void", "", "i1.nc_l1", "property"); - -goTo.marker('16'); -verify.completionListContains("i1", "i1", "i1 is interface with properties", "i1", "interface"); -verify.completionListContains("i1_i", "i1", "", "i1_i", "var"); -verify.completionListContains("c1", undefined, "", "c1", "class"); -verify.completionListContains("c1_i", "c1", "", "c1_i", "var"); - -goTo.marker('17iq'); -verify.quickInfoIs("c2", "", "c2_i", "var"); -goTo.marker('18iq'); -verify.quickInfoIs("c3", "", "c3_i", "var"); - -goTo.marker('17'); -verify.currentSignatureHelpDocCommentIs("c2 constructor"); - -goTo.marker('18'); -verify.currentSignatureHelpDocCommentIs(""); - -goTo.marker('18sq'); -verify.quickInfoIs("(a: number): c2", "c2 constructor", "c2", "constructor"); - -goTo.marker('18spropq'); -verify.quickInfoIs("c2", "", "c2", "class"); -goTo.marker('18spropProp'); -verify.quickInfoIs("number", "c2 c2_p1", "c2.c2_p1", "property"); - -goTo.marker('17q'); -verify.quickInfoIs("(a: number): c2", "c2 constructor", "c2", "constructor"); -goTo.marker('18q'); -verify.quickInfoIs("(): c3", "", "c3", "constructor"); - -goTo.marker('19'); -verify.memberListContains("c2_p1", "number", "c2 c2_p1", "c2.c2_p1", "property"); -verify.memberListContains("c2_f1", "(): void", "c2 c2_f1", "c2.c2_f1", "method"); -verify.memberListContains("c2_prop", "number", "c2 c2_prop", "c2.c2_prop", "property"); -verify.memberListContains("c2_nc_p1", "number", "", "c2.c2_nc_p1", "property"); -verify.memberListContains("c2_nc_f1", "(): void", "", "c2.c2_nc_f1", "method"); -verify.memberListContains("c2_nc_prop", "number", "", "c2.c2_nc_prop", "property"); -verify.memberListContains("p1", "number", "c2 p1", "c2.p1", "property"); -verify.memberListContains("f1", "(): void", "c2 f1", "c2.f1", "method"); -verify.memberListContains("prop", "number", "c2 prop", "c2.prop", "property"); -verify.memberListContains("nc_p1", "number", "", "c2.nc_p1", "property"); -verify.memberListContains("nc_f1", "(): void", "", "c2.nc_f1", "method"); -verify.memberListContains("nc_prop", "number", "", "c2.nc_prop", "property"); -goTo.marker('20'); -verify.currentSignatureHelpDocCommentIs("c2 c2_f1"); -goTo.marker('21'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('22'); -verify.currentSignatureHelpDocCommentIs("c2 f1"); -goTo.marker('23'); -verify.currentSignatureHelpDocCommentIs(""); - -goTo.marker('20q'); -verify.quickInfoIs("(): void", "c2 c2_f1", "c2.c2_f1", "method"); -goTo.marker('21q'); -verify.quickInfoIs("(): void", "", "c2.c2_nc_f1", "method"); -goTo.marker('22q'); -verify.quickInfoIs("(): void", "c2 f1", "c2.f1", "method"); -goTo.marker('23q'); -verify.quickInfoIs("(): void", "", "c2.nc_f1", "method"); - -goTo.marker('24'); -verify.memberListContains("c2_p1", "number", "c2 c2_p1", "c2.c2_p1", "property"); -verify.memberListContains("c2_f1", "(): void", "c2 c2_f1", "c2.c2_f1", "method"); -verify.memberListContains("c2_prop", "number", "c2 c2_prop", "c2.c2_prop", "property"); -verify.memberListContains("c2_nc_p1", "number", "", "c2.c2_nc_p1", "property"); -verify.memberListContains("c2_nc_f1", "(): void", "", "c2.c2_nc_f1", "method"); -verify.memberListContains("c2_nc_prop", "number", "", "c2.c2_nc_prop", "property"); -verify.memberListContains("p1", "number", "c3 p1", "c3.p1", "property"); -verify.memberListContains("f1", "(): void", "c3 f1", "c3.f1", "method"); -verify.memberListContains("prop", "number", "c3 prop", "c3.prop", "property"); -verify.memberListContains("nc_p1", "number", "", "c3.nc_p1", "property"); -verify.memberListContains("nc_f1", "(): void", "", "c3.nc_f1", "method"); -verify.memberListContains("nc_prop", "number", "", "c3.nc_prop", "property"); -goTo.marker('25'); -verify.currentSignatureHelpDocCommentIs("c2 c2_f1"); -goTo.marker('26'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('27'); -verify.currentSignatureHelpDocCommentIs("c3 f1"); -goTo.marker('28'); -verify.currentSignatureHelpDocCommentIs(""); - -goTo.marker('25q'); -verify.quickInfoIs("(): void", "c2 c2_f1", "c2.c2_f1", "method"); -goTo.marker('26q'); -verify.quickInfoIs("(): void", "", "c2.c2_nc_f1", "method"); -goTo.marker('27q'); -verify.quickInfoIs("(): void", "c3 f1", "c3.f1", "method"); -goTo.marker('28q'); -verify.quickInfoIs("(): void", "", "c3.nc_f1", "method"); - -goTo.marker('29'); -verify.memberListContains("c2_p1", "number", "c2 c2_p1", "c2.c2_p1", "property"); -verify.memberListContains("c2_f1", "(): void", "c2 c2_f1", "c2.c2_f1", "method"); -verify.memberListContains("c2_prop", "number", "c2 c2_prop", "c2.c2_prop", "property"); -verify.memberListContains("c2_nc_p1", "number", "", "c2.c2_nc_p1", "property"); -verify.memberListContains("c2_nc_f1", "(): void", "", "c2.c2_nc_f1", "method"); -verify.memberListContains("c2_nc_prop", "number", "", "c2.c2_nc_prop", "property"); -verify.memberListContains("p1", "number", "c2 p1", "c2.p1", "property"); -verify.memberListContains("f1", "(): void", "c2 f1", "c2.f1", "method"); -verify.memberListContains("prop", "number", "c2 prop", "c2.prop", "property"); -verify.memberListContains("nc_p1", "number", "", "c2.nc_p1", "property"); -verify.memberListContains("nc_f1", "(): void", "", "c2.nc_f1", "method"); -verify.memberListContains("nc_prop", "number", "", "c2.nc_prop", "property"); -goTo.marker('30'); -verify.currentSignatureHelpDocCommentIs("c2 c2_f1"); -goTo.marker('31'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('32'); -verify.currentSignatureHelpDocCommentIs("c2 f1"); -goTo.marker('33'); -verify.currentSignatureHelpDocCommentIs(""); - -goTo.marker('30q'); -verify.quickInfoIs("(): void", "c2 c2_f1", "c2.c2_f1", "method"); -goTo.marker('31q'); -verify.quickInfoIs("(): void", "", "c2.c2_nc_f1", "method"); -goTo.marker('32q'); -verify.quickInfoIs("(): void", "c2 f1", "c2.f1", "method"); -goTo.marker('33q'); -verify.quickInfoIs("(): void", "", "c2.nc_f1", "method"); - -goTo.marker('34'); -verify.currentSignatureHelpDocCommentIs("c2 constructor"); -goTo.marker('34iq'); -verify.quickInfoIs("c4", "", "c4_i", "var"); -goTo.marker('34q'); -verify.quickInfoIs("(a: number): c4", "c2 constructor", "c4", "constructor"); - -goTo.marker('35'); -verify.completionListContains("c2", undefined, "", "c2", "class"); -verify.completionListContains("c2_i", "c2", "", "c2_i", "var"); -verify.completionListContains("c3", undefined, "", "c3", "class"); -verify.completionListContains("c3_i", "c3", "", "c3_i", "var"); -verify.completionListContains("c4", undefined, "", "c4", "class"); -verify.completionListContains("c4_i", "c4", "", "c4_i", "var"); - -goTo.marker('36'); -verify.memberListContains("i2_p1", "number", "i2_p1", "i2.i2_p1", "property"); -verify.memberListContains("i2_f1", "(): void", "i2_f1", "i2.i2_f1", "method"); -verify.memberListContains("i2_l1", "() => void", "i2_l1", "i2.i2_l1", "property"); -verify.memberListContains("i2_nc_p1", "number", "", "i2.i2_nc_p1", "property"); -verify.memberListContains("i2_nc_f1", "(): void", "", "i2.i2_nc_f1", "method"); -verify.memberListContains("i2_nc_l1", "() => void", "", "i2.i2_nc_l1", "property"); -verify.memberListContains("p1", "number", "i2 p1", "i2.p1", "property"); -verify.memberListContains("f1", "(): void", "i2 f1", "i2.f1", "method"); -verify.memberListContains("l1", "() => void", "i2 l1", "i2.l1", "property"); -verify.memberListContains("nc_p1", "number", "", "i2.nc_p1", "property"); -verify.memberListContains("nc_f1", "(): void", "", "i2.nc_f1", "method"); -verify.memberListContains("nc_l1", "() => void", "", "i2.nc_l1", "property"); -goTo.marker('37'); -verify.currentSignatureHelpDocCommentIs("i2_f1"); -goTo.marker('38'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('39'); -verify.currentSignatureHelpDocCommentIs("i2 f1"); -goTo.marker('40'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l37'); -verify.currentSignatureHelpDocCommentIs("i2_l1"); -goTo.marker('l38'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l39'); -verify.currentSignatureHelpDocCommentIs("i2 l1"); -goTo.marker('l40'); -verify.currentSignatureHelpDocCommentIs(""); - -goTo.marker('36iq'); -verify.quickInfoIs("i2", "", "i2_i", "var"); -goTo.marker('37iq'); -verify.quickInfoIs("i3", "", "i3_i", "var"); -goTo.marker('37q'); -verify.quickInfoIs("(): void", "i2_f1", "i2.i2_f1", "method"); -goTo.marker('38q'); -verify.quickInfoIs("(): void", "", "i2.i2_nc_f1", "method"); -goTo.marker('39q'); -verify.quickInfoIs("(): void", "i2 f1", "i2.f1", "method"); -goTo.marker('40q'); -verify.quickInfoIs("(): void", "", "i2.nc_f1", "method"); -goTo.marker('l37q'); -verify.quickInfoIs("() => void", "i2_l1", "i2.i2_l1", "property"); -goTo.marker('l38q'); -verify.quickInfoIs("() => void", "", "i2.i2_nc_l1", "property"); -goTo.marker('l39q'); -verify.quickInfoIs("() => void", "i2 l1", "i2.l1", "property"); -goTo.marker('l40q'); -verify.quickInfoIs("() => void", "", "i2.nc_l1", "property"); - -goTo.marker('41'); -verify.memberListContains("i2_p1", "number", "i2_p1", "i2.i2_p1", "property"); -verify.memberListContains("i2_f1", "(): void", "i2_f1", "i2.i2_f1", "method"); -verify.memberListContains("i2_l1", "() => void", "i2_l1", "i2.i2_l1", "property"); -verify.memberListContains("i2_nc_p1", "number", "", "i2.i2_nc_p1", "property"); -verify.memberListContains("i2_nc_f1", "(): void", "", "i2.i2_nc_f1", "method"); -verify.memberListContains("i2_nc_l1", "() => void", "", "i2.i2_nc_l1", "property"); -verify.memberListContains("p1", "number", "i3 p1", "i3.p1", "property"); -verify.memberListContains("f1", "(): void", "i3 f1", "i3.f1", "method"); -verify.memberListContains("l1", "() => void", "i3 l1", "i3.l1", "property"); -verify.memberListContains("nc_p1", "number", "", "i3.nc_p1", "property"); -verify.memberListContains("nc_f1", "(): void", "", "i3.nc_f1", "method"); -verify.memberListContains("nc_l1", "() => void", "", "i3.nc_l1", "property"); -goTo.marker('42'); -verify.currentSignatureHelpDocCommentIs("i2_f1"); -goTo.marker('43'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('44'); -verify.currentSignatureHelpDocCommentIs("i3 f1"); -goTo.marker('45'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l42'); -verify.currentSignatureHelpDocCommentIs("i2_l1"); -goTo.marker('l43'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l44'); -verify.currentSignatureHelpDocCommentIs("i3 l1"); -goTo.marker('l45'); -verify.currentSignatureHelpDocCommentIs(""); - -goTo.marker('42q'); -verify.quickInfoIs("(): void", "i2_f1", "i2.i2_f1", "method"); -goTo.marker('43q'); -verify.quickInfoIs("(): void", "", "i2.i2_nc_f1", "method"); -goTo.marker('44q'); -verify.quickInfoIs("(): void", "i3 f1", "i3.f1", "method"); -goTo.marker('45q'); -verify.quickInfoIs("(): void", "", "i3.nc_f1", "method"); -goTo.marker('l42q'); -verify.quickInfoIs("() => void", "i2_l1", "i2.i2_l1", "property"); -goTo.marker('l43q'); -verify.quickInfoIs("() => void", "", "i2.i2_nc_l1", "property"); -goTo.marker('l44q'); -verify.quickInfoIs("() => void", "i3 l1", "i3.l1", "property"); -goTo.marker('l45q'); -verify.quickInfoIs("() => void", "", "i3.nc_l1", "property"); - -goTo.marker('46'); -verify.memberListContains("i2_p1", "number", "i2_p1", "i2.i2_p1", "property"); -verify.memberListContains("i2_f1", "(): void", "i2_f1", "i2.i2_f1", "method"); -verify.memberListContains("i2_l1", "() => void", "i2_l1", "i2.i2_l1", "property"); -verify.memberListContains("i2_nc_p1", "number", "", "i2.i2_nc_p1", "property"); -verify.memberListContains("i2_nc_f1", "(): void", "", "i2.i2_nc_f1", "method"); -verify.memberListContains("i2_nc_l1", "() => void", "", "i2.i2_nc_l1", "property"); -verify.memberListContains("p1", "number", "i2 p1", "i2.p1", "property"); -verify.memberListContains("f1", "(): void", "i2 f1", "i2.f1", "method"); -verify.memberListContains("l1", "() => void", "i2 l1", "i2.l1", "property"); -verify.memberListContains("nc_p1", "number", "", "i2.nc_p1", "property"); -verify.memberListContains("nc_f1", "(): void", "", "i2.nc_f1", "method"); -verify.memberListContains("nc_l1", "() => void", "", "i2.nc_l1", "property"); -goTo.marker('47'); -verify.currentSignatureHelpDocCommentIs("i2_f1"); -goTo.marker('48'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('49'); -verify.currentSignatureHelpDocCommentIs("i2 f1"); -goTo.marker('50'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l47'); -verify.currentSignatureHelpDocCommentIs("i2_l1"); -goTo.marker('l48'); -verify.currentSignatureHelpDocCommentIs(""); -goTo.marker('l49'); -verify.currentSignatureHelpDocCommentIs("i2 l1"); -goTo.marker('l50'); -verify.currentSignatureHelpDocCommentIs(""); - -goTo.marker('47q'); -verify.quickInfoIs("(): void", "i2_f1", "i2.i2_f1", "method"); -goTo.marker('48q'); -verify.quickInfoIs("(): void", "", "i2.i2_nc_f1", "method"); -goTo.marker('49q'); -verify.quickInfoIs("(): void", "i2 f1", "i2.f1", "method"); -goTo.marker('50q'); -verify.quickInfoIs("(): void", "", "i2.nc_f1", "method"); -goTo.marker('l47q'); -verify.quickInfoIs("() => void", "i2_l1", "i2.i2_l1", "property"); -goTo.marker('l48q'); -verify.quickInfoIs("() => void", "", "i2.i2_nc_l1", "property"); -goTo.marker('l49q'); -verify.quickInfoIs("() => void", "i2 l1", "i2.l1", "property"); -goTo.marker('l50q'); -verify.quickInfoIs("() => void", "", "i2.nc_l1", "property"); - -goTo.marker('51'); -verify.completionListContains("i2", "i2", "", "i2", "interface"); -verify.completionListContains("i2_i", "i2", "", "i2_i", "var"); -verify.completionListContains("i3", "i3", "", "i3", "interface"); -verify.completionListContains("i3_i", "i3", "", "i3_i", "var"); - -goTo.marker('52'); -verify.quickInfoIs("(): c5", "", "c5", "constructor"); - -goTo.marker('53'); -verify.quickInfoIs(undefined, "c5 class", "c5", "class"); - -goTo.marker('54'); -verify.quickInfoIs("number", "", "c5.b", "property"); - -goTo.marker('55'); -verify.quickInfoIs("(a: number): c2", "c2 constructor", "c2", "constructor"); - -goTo.marker('56'); -verify.quickInfoIs("(): c3", "", "c3", "constructor"); - -goTo.marker('57'); -verify.quickInfoIs("(): c6", "", "c6", "constructor"); \ No newline at end of file diff --git a/tests/cases/fourslash_old/commentsInterface.ts b/tests/cases/fourslash_old/commentsInterface.ts deleted file mode 100644 index c9a6bab7911..00000000000 --- a/tests/cases/fourslash_old/commentsInterface.ts +++ /dev/null @@ -1,259 +0,0 @@ -/// - -/////** this is interface 1*/ -////interface i/*1*/1 { -////} -////var i1/*2*/_i: i1; -////interface nc_/*3*/i1 { -////} -////var nc_/*4*/i1_i: nc_i1; -/////** this is interface 2 with memebers*/ -////interface i/*5*/2 { -//// /** this is x*/ -//// x: number; -//// /** this is foo*/ -//// foo: (/**param help*/b: number) => string; -//// /** this is indexer*/ -//// [/**string param*/i: string]: number; -//// /**new method*/ -//// new (/** param*/i: i1); -//// nc_x: number; -//// nc_foo: (b: number) => string; -//// [i: number]: number; -//// /** this is call signature*/ -//// (/**paramhelp a*/a: number,/**paramhelp b*/ b: number) : number; -//// /** this is fnfoo*/ -//// fnfoo(/**param help*/b: number): string; -//// nc_fnfoo(b: number): string; -////} -////var i2/*6*/_i: i2; -////var i2_i/*7*/_x = i2_i./*8*/x; -////var i2_i/*9*/_foo = i2_i.f/*10*/oo; -////var i2_i_f/*11*/oo_r = i2_i.f/*12q*/oo(/*12*/30); -////var i2_i_i2_/*13*/si = i2/*13q*/_i["hello"]; -////var i2_i_i2/*14*/_ii = i2/*14q*/_i[30]; -////var i2_/*15*/i_n = new i2/*16q*/_i(/*16*/i1_i); -////var i2_i/*17*/_nc_x = i2_i.n/*18*/c_x; -////var i2_i_/*19*/nc_foo = i2_i.n/*20*/c_foo; -////var i2_i_nc_f/*21*/oo_r = i2_i.nc/*22q*/_foo(/*22*/30); -////var i2/*23*/_i_r = i2/*24q*/_i(/*24*/10, /*25*/20); -////var i2_i/*26*/_fnfoo = i2_i.fn/*27*/foo; -////var i2_i_/*28*/fnfoo_r = i2_i.fn/*29q*/foo(/*29*/10); -////var i2_i/*30*/_nc_fnfoo = i2_i.nc_fn/*31*/foo; -////var i2_i_nc_/*32*/fnfoo_r = i2_i.nc/*33q*/_fnfoo(/*33*/10); -/////*34*/ -////interface i3 { -//// /** Comment i3 x*/ -//// x: number; -//// /** Function i3 f*/ -//// f(/**number parameter*/a: number): string; -//// /** i3 l*/ -//// l: (/**comment i3 l b*/b: number) => string; -//// nc_x: number; -//// nc_f(a: number): string; -//// nc_l: (b: number) => string; -////} -////var i3_i: i3; -////i3_i = { -//// /*35*/f: /**own f*/ (/**i3_i a*/a: number) => "Hello" + /*36*/a, -//// l: this./*37*/f, -//// /** own x*/ -//// x: this.f(/*38*/10), -//// nc_x: this.l(/*39*/this.x), -//// nc_f: this.f, -//// nc_l: this.l -////}; -/////*40*/i/*40q*/3_i./*41*/f(/*42*/10); -////i3_i./*43q*/l(/*43*/10); -////i3_i.nc_/*44q*/f(/*44*/10); -////i3_i.nc/*45q*/_l(/*45*/10); - -goTo.marker('1'); -verify.quickInfoIs("i1", "this is interface 1", "i1", "interface"); - -goTo.marker('2'); -verify.quickInfoIs("i1", "", "i1_i", "var"); - -goTo.marker('3'); -verify.quickInfoIs("nc_i1", "", "nc_i1", "interface"); - -goTo.marker('4'); -verify.quickInfoIs("nc_i1", "", "nc_i1_i", "var"); - -goTo.marker('5'); -verify.quickInfoIs("i2", "this is interface 2 with memebers", "i2", "interface"); - -goTo.marker('6'); -verify.quickInfoIs("i2", "", "i2_i", "var"); - -goTo.marker('7'); -verify.quickInfoIs("number", "", "i2_i_x", "var"); - -goTo.marker('8'); -verify.quickInfoIs("number", "this is x", "i2.x", "property"); -verify.memberListContains("x", "number", "this is x", "i2.x", "property"); -verify.memberListContains("foo", "(b: number) => string", "this is foo", "i2.foo", "property"); -verify.memberListContains("nc_x", "number", "", "i2.nc_x", "property"); -verify.memberListContains("nc_foo", "(b: number) => string", "", "i2.nc_foo", "property"); -verify.memberListContains("fnfoo", "(b: number): string", "this is fnfoo", "i2.fnfoo", "method"); -verify.memberListContains("nc_fnfoo", "(b: number): string", "", "i2.nc_fnfoo", "method"); - -goTo.marker('9'); -verify.quickInfoIs("(b: number) => string", "", "i2_i_foo", "var"); - -goTo.marker('10'); -verify.quickInfoIs("(b: number) => string", "this is foo", "i2.foo", "property"); - -goTo.marker('11'); -verify.quickInfoIs("string", "", "i2_i_foo_r", "var"); - -goTo.marker('12'); -verify.currentSignatureHelpDocCommentIs("this is foo"); -verify.currentParameterHelpArgumentDocCommentIs("param help"); -goTo.marker('12q'); -verify.quickInfoIs("(b: number) => string", "this is foo", "i2.foo", "property"); - -goTo.marker('13'); -verify.quickInfoIs("number", "", "i2_i_i2_si", "var"); -goTo.marker('13q'); -verify.quickInfoIs("i2", "", "i2_i", "var"); - -goTo.marker('14'); -verify.quickInfoIs("number", "", "i2_i_i2_ii", "var"); -goTo.marker('14q'); -verify.quickInfoIs("i2", "", "i2_i", "var"); - -goTo.marker('15'); -verify.quickInfoIs("any", "", "i2_i_n", "var"); - -goTo.marker('16'); -verify.currentSignatureHelpDocCommentIs("new method"); -verify.currentParameterHelpArgumentDocCommentIs("param"); -goTo.marker('16q'); -verify.quickInfoIs("(i: i1): any", "new method", "i2", "constructor"); - -goTo.marker('17'); -verify.quickInfoIs("number", "", "i2_i_nc_x", "var"); - -goTo.marker('18'); -verify.quickInfoIs("number", "", "i2.nc_x", "property"); - -goTo.marker('19'); -verify.quickInfoIs("(b: number) => string", "", "i2_i_nc_foo", "var"); - -goTo.marker('20'); -verify.quickInfoIs("(b: number) => string", "", "i2.nc_foo", "property"); - -goTo.marker('21'); -verify.quickInfoIs("string", "", "i2_i_nc_foo_r", "var"); - -goTo.marker('22'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -goTo.marker('22q'); -verify.quickInfoIs("(b: number) => string", "", "i2.nc_foo", "property"); - -goTo.marker('23'); -verify.quickInfoIs("number", "", "i2_i_r", "var"); - -goTo.marker('24'); -verify.currentSignatureHelpDocCommentIs("this is call signature"); -verify.currentParameterHelpArgumentDocCommentIs("paramhelp a"); -goTo.marker('24q'); -verify.quickInfoIs("(a: number, b: number): number", "this is call signature", "i2", "function"); - -goTo.marker('25'); -verify.currentSignatureHelpDocCommentIs("this is call signature"); -verify.currentParameterHelpArgumentDocCommentIs("paramhelp b"); - -goTo.marker('26'); -verify.quickInfoIs("(b: number) => string", "", "i2_i_fnfoo", "var"); - -goTo.marker('27'); -verify.quickInfoIs("(b: number): string", "this is fnfoo", "i2.fnfoo", "method"); - -goTo.marker('28'); -verify.quickInfoIs("string", "", "i2_i_fnfoo_r", "var"); - -goTo.marker('29'); -verify.currentSignatureHelpDocCommentIs("this is fnfoo"); -verify.currentParameterHelpArgumentDocCommentIs("param help"); -goTo.marker('29q'); -verify.quickInfoIs("(b: number): string", "this is fnfoo", "i2.fnfoo", "method"); - -goTo.marker('30'); -verify.quickInfoIs("(b: number) => string", "", "i2_i_nc_fnfoo", "var"); - -goTo.marker('31'); -verify.quickInfoIs("(b: number): string", "", "i2.nc_fnfoo", "method"); - -goTo.marker('32'); -verify.quickInfoIs("string", "", "i2_i_nc_fnfoo_r", "var"); - -goTo.marker('33'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -goTo.marker('33q'); -verify.quickInfoIs("(b: number): string", "", "i2.nc_fnfoo", "method"); - -goTo.marker('34'); -verify.completionListContains("i1", "i1", "this is interface 1", "i1", "interface"); -verify.completionListContains("i1_i", "i1", "", "i1_i", "var"); -verify.completionListContains("nc_i1", "nc_i1", "", "nc_i1", "interface"); -verify.completionListContains("nc_i1_i", "nc_i1", "", "nc_i1_i", "var"); -verify.completionListContains("i2", "i2", "this is interface 2 with memebers", "i2", "interface"); -verify.completionListContains("i2_i", "i2", "", "i2_i", "var"); -verify.completionListContains("i2_i_x", "number", "", "i2_i_x", "var"); -verify.completionListContains("i2_i_foo", "(b: number) => string", "", "i2_i_foo", "var"); -verify.completionListContains("i2_i_foo_r", "string", "", "i2_i_foo_r", "var"); -verify.completionListContains("i2_i_i2_si", "number", "", "i2_i_i2_si", "var"); -verify.completionListContains("i2_i_i2_ii", "number", "", "i2_i_i2_ii", "var"); -verify.completionListContains("i2_i_n", "any", "", "i2_i_n", "var"); -verify.completionListContains("i2_i_nc_x", "number", "", "i2_i_nc_x", "var"); -verify.completionListContains("i2_i_nc_foo", "(b: number) => string", "", "i2_i_nc_foo", "var"); -verify.completionListContains("i2_i_nc_foo_r", "string", "", "i2_i_nc_foo_r", "var"); -verify.completionListContains("i2_i_r", "number", "", "i2_i_r", "var"); -verify.completionListContains("i2_i_fnfoo", "(b: number) => string", "", "i2_i_fnfoo", "var"); -verify.completionListContains("i2_i_fnfoo_r", "string", "", "i2_i_fnfoo_r", "var"); -verify.completionListContains("i2_i_nc_fnfoo", "(b: number) => string", "", "i2_i_nc_fnfoo", "var"); -verify.completionListContains("i2_i_nc_fnfoo_r", "string", "", "i2_i_nc_fnfoo_r", "var"); - -goTo.marker('36'); -verify.completionListContains("a", "number", "i3_i a", "a", "parameter"); - -goTo.marker('40q'); -verify.quickInfoIs("i3", "", "i3_i", "var"); -goTo.marker('40'); -verify.completionListContains("i3", "i3", "", "i3", "interface"); -verify.completionListContains("i3_i", "i3", "", "i3_i", "var"); - -goTo.marker('41'); -verify.quickInfoIs("(a: number): string", "Function i3 f", "i3.f", "method"); -verify.memberListContains("f", "(a: number): string", "Function i3 f", "i3.f", "method"); -verify.memberListContains("l", "(b: number) => string", "i3 l", "i3.l", "property"); -verify.memberListContains("x", "number", "Comment i3 x", "i3.x", "property"); -verify.memberListContains("nc_f", "(a: number): string", "", "i3.nc_f", "method"); -verify.memberListContains("nc_l", "(b: number) => string", "", "i3.nc_l", "property"); -verify.memberListContains("nc_x", "number", "", "i3.nc_x", "property"); - -goTo.marker('42'); -verify.currentSignatureHelpDocCommentIs("Function i3 f"); -verify.currentParameterHelpArgumentDocCommentIs("number parameter"); - -goTo.marker('43'); -verify.currentSignatureHelpDocCommentIs("i3 l"); -verify.currentParameterHelpArgumentDocCommentIs("comment i3 l b"); -goTo.marker('43q'); -verify.quickInfoIs("(b: number) => string", "i3 l", "i3.l", "property"); - -goTo.marker('44'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -goTo.marker('44q'); -verify.quickInfoIs("(a: number): string", "", "i3.nc_f", "method"); - -goTo.marker('45'); -verify.currentSignatureHelpDocCommentIs(""); -verify.currentParameterHelpArgumentDocCommentIs(""); -goTo.marker('45q'); -verify.quickInfoIs("(b: number) => string", "", "i3.nc_l", "property"); diff --git a/tests/cases/fourslash_old/commentsMultiModuleMultiFile.ts b/tests/cases/fourslash_old/commentsMultiModuleMultiFile.ts deleted file mode 100644 index e515e914a60..00000000000 --- a/tests/cases/fourslash_old/commentsMultiModuleMultiFile.ts +++ /dev/null @@ -1,54 +0,0 @@ -/// - -// @Filename: commentsMultiModuleMultiFile_0.ts -/////** this is multi declare module*/ -////module mult/*3*/iM { -//// /** class b*/ -//// export class b { -//// } -////} -/////** thi is multi module 2*/ -////module mu/*2*/ltiM { -//// /** class c comment*/ -//// export class c { -//// } -////} -//// -////new /*1*/mu/*4*/ltiM.b(); -////new mu/*5*/ltiM.c(); - -// @Filename: commentsMultiModuleMultiFile_1.ts -/////** this is multi module 3 comment*/ -////module mu/*6*/ltiM { -//// /** class d comment*/ -//// export class d { -//// } -////} -////new /*7*/mu/*8*/ltiM.d(); - -// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed -edit.insert(''); - -goTo.marker('1'); -verify.completionListContains("multiM", "multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module"); - -goTo.marker('2'); -verify.quickInfoIs("multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module"); - -goTo.marker('3'); -verify.quickInfoIs("multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module"); - -goTo.marker('4'); -verify.quickInfoIs("typeof multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module"); - -goTo.marker('5'); -verify.quickInfoIs("typeof multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module"); - -goTo.marker('6'); -verify.quickInfoIs("multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module"); - -goTo.marker('7'); -verify.completionListContains("multiM"); - -goTo.marker('8'); -verify.quickInfoIs("typeof multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module"); \ No newline at end of file diff --git a/tests/cases/fourslash_old/commentsMultiModuleSingleFile.ts b/tests/cases/fourslash_old/commentsMultiModuleSingleFile.ts deleted file mode 100644 index a4174dfe750..00000000000 --- a/tests/cases/fourslash_old/commentsMultiModuleSingleFile.ts +++ /dev/null @@ -1,35 +0,0 @@ -/// - -/////** this is multi declare module*/ -////module mult/*3*/iM { -//// /** class b*/ -//// export class b { -//// } -////} -/////** thi is multi module 2*/ -////module mu/*2*/ltiM { -//// /** class c comment*/ -//// export class c { -//// } -////} -//// -////new /*1*/mu/*4*/ltiM.b(); -////new mu/*5*/ltiM.c(); - -// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed -edit.insert(''); - -goTo.marker('1'); -verify.completionListContains("multiM", "multiM", "this is multi declare module\nthi is multi module 2", "multiM", "module"); - -goTo.marker('2'); -verify.quickInfoIs("multiM", "this is multi declare module\nthi is multi module 2", "multiM", "module"); - -goTo.marker('3'); -verify.quickInfoIs("multiM", "this is multi declare module\nthi is multi module 2", "multiM", "module"); - -goTo.marker('4'); -verify.quickInfoIs("typeof multiM", "this is multi declare module\nthi is multi module 2", "multiM", "module"); - -goTo.marker('5'); -verify.quickInfoIs("typeof multiM", "this is multi declare module\nthi is multi module 2", "multiM", "module"); \ No newline at end of file diff --git a/tests/cases/fourslash_old/commentsVariables.ts b/tests/cases/fourslash_old/commentsVariables.ts deleted file mode 100644 index 0a269214d75..00000000000 --- a/tests/cases/fourslash_old/commentsVariables.ts +++ /dev/null @@ -1,97 +0,0 @@ -/// - -/////** This is my variable*/ -////var myV/*1*/ariable = 10; -/////*2*/ -/////** d variable*/ -////var d = 10; -////myVariable = d; -/////*3*/ -/////** foos comment*/ -////function foo() { -////} -/////** fooVar comment*/ -////var foo/*12*/Var: () => void; -/////*4*/ -////f/*5q*/oo(/*5*/); -////fo/*6q*/oVar(/*6*/); -////fo/*13*/oVar = f/*14*/oo; -/////*7*/ -////f/*8q*/oo(/*8*/); -////foo/*9q*/Var(/*9*/); -/////**class comment*/ -////class c { -//// /** constructor comment*/ -//// constructor() { -//// } -////} -/////**instance comment*/ -////var i = new c(); -/////*10*/ -/////** interface comments*/ -////interface i1 { -////} -/////**interface instance comments*/ -////var i1_i: i1; -/////*11*/ -////function foo2(a: number): void; -////function foo2(b: string): void; -////function foo2(aOrb) { -////} -////var x = fo/*15*/o2; - -goTo.marker('1'); -verify.quickInfoIs("number", "This is my variable", "myVariable", "var"); - -goTo.marker('2'); -verify.completionListContains("myVariable", "number", "This is my variable", "myVariable", "var"); - -goTo.marker('3'); -verify.completionListContains("myVariable", "number", "This is my variable", "myVariable", "var"); -verify.completionListContains("d", "number", "d variable", "d", "var"); - -goTo.marker('4'); -verify.completionListContains("foo", "(): void", "foos comment", "foo", "function"); -verify.completionListContains("fooVar", "() => void", "fooVar comment", "fooVar", "var"); - -goTo.marker('5'); -verify.currentSignatureHelpDocCommentIs("foos comment"); -goTo.marker('5q'); -verify.quickInfoIs("(): void", "foos comment", "foo", "function"); - -goTo.marker('6'); -verify.currentSignatureHelpDocCommentIs("fooVar comment"); -goTo.marker('6q'); -verify.quickInfoIs("() => void", "fooVar comment", "fooVar", "var"); - -goTo.marker('7'); -verify.completionListContains("foo", "(): void", "foos comment", "foo", "function"); -verify.completionListContains("fooVar", "() => void", "fooVar comment", "fooVar", "var"); - -goTo.marker('8'); -verify.currentSignatureHelpDocCommentIs("foos comment"); -goTo.marker('8q'); -verify.quickInfoIs("(): void", "foos comment", "foo", "function"); - -goTo.marker('9'); -verify.currentSignatureHelpDocCommentIs("fooVar comment"); -goTo.marker('9q'); -verify.quickInfoIs("() => void", "fooVar comment", "fooVar", "var"); - -goTo.marker('10'); -verify.completionListContains("i", "c", "instance comment", "i", "var"); - -goTo.marker('11'); -verify.completionListContains("i1_i", "i1", "interface instance comments", "i1_i", "var"); - -goTo.marker('12'); -verify.quickInfoIs("() => void", "fooVar comment", "fooVar", "var"); - -goTo.marker('13'); -verify.quickInfoIs("() => void", "fooVar comment", "fooVar", "var"); - -goTo.marker('14'); -verify.quickInfoIs("(): void", "foos comment", "foo", "function"); - -goTo.marker('15'); -verify.quickInfoIs("(a: number): void (+ 1 overload(s))", "", "foo2", "function"); \ No newline at end of file