Enabling more quickInfo tests

This commit is contained in:
Sheetal Nandi
2014-09-30 17:10:27 -07:00
parent 417cd9471f
commit 010b9b663e
33 changed files with 152 additions and 206 deletions
@@ -11,7 +11,7 @@
////var x = Alpha.[|{| "name" : "mem" |}x|]
goTo.marker('import');
verify.completionListContains('x', 'number');
verify.completionListContains('x', '(var) Alpha.x: number');
var def: FourSlashInterface.Range = test.ranges().filter(range => range.marker.data.name === "def")[0];
var imp: FourSlashInterface.Range = test.ranges().filter(range => range.marker.data.name === "import")[0];
@@ -13,4 +13,4 @@
goTo.file("quickInfoExportAssignmentOfGenericInterface_1.ts");
goTo.marker('1');
verify.quickInfoIs("a<a<string>>", undefined, "x", "var");
verify.quickInfoIs("(var) x: a<a<string>>", undefined);
@@ -7,11 +7,11 @@
//// }
////}
////import d = M.N;
////var aa/*1*/: d.C<number>;
////var bb/*2*/: d.D;
////var /*1*/aa: d.C<number>;
////var /*2*/bb: d.D;
goTo.marker('1');
verify.quickInfoIs('M.N.C<number>');
verify.quickInfoIs('(var) aa: d.C<number>');
goTo.marker('2');
verify.quickInfoIs('M.N.D');
verify.quickInfoIs('(var) bb: d.D');
@@ -17,4 +17,4 @@
goTo.marker();
verify.quickInfoIs("number");
verify.quickInfoIs("(parameter) value: number");
@@ -10,12 +10,11 @@
////class B2<T> extends A<T> {
//// bar() { }
////}
////var b/*1*/: B<number>;
////var b2/*2*/: B<number>;
////var /*1*/b: B<number>;
////var /*2*/b2: B<number>;
goTo.marker('1');
verify.quickInfoIs('B<number>');
verify.quickInfoIs('(var) b: B<number>');
goTo.marker('2');
verify.quickInfoIs('B<number>');
verify.quickInfoIs('(var) b2: B<number>');
@@ -4,17 +4,15 @@
////
////function ma/*makeA*/keA<T>(t: T): A<T> { return null; }
////
////function f/*f*/<T>(t: T) {
////function /*f*/f<T>(t: T) {
//// return makeA(t);
////}
////
////var x = f(0);
////var y = makeA(0);
goTo.marker("makeA");
verify.quickInfoIs("<T>(t: T): A<T>", undefined, "makeA", "function");
verify.quickInfoIs("(function) makeA<T>(t: T): A<T>", undefined);
goTo.marker("f");
verify.quickInfoIs("<T>(t: T): A<T>", undefined, "f", "function");
verify.quickInfoIs("(function) f<T>(t: T): A<T>", undefined);
@@ -4,4 +4,6 @@
////function foo4<T extends Date>(test: any): any { return null; }
goTo.marker();
verify.quickInfoIs('T extends Date');
// TODO: formatting type parameter with extends info
//verify.quickInfoIs('parameter) test: T extends Date');
verify.quickInfoIs('(parameter) test: T');
@@ -6,8 +6,8 @@
////function other2<T extends Date>(arg: T) {
//// var b: { [x: string]: T };
//// var r2/*1*/ = foo(b); // just shows T
//// var /*1*/r2 = foo(b); // just shows T
////}
goTo.marker('1');
verify.quickInfoIs('{ [x: string]: T; }');
verify.quickInfoIs('(local var) r2: {\n [x: string]: T;\n}');
@@ -20,22 +20,22 @@
////c.x1(1, (x/*10*/x) => { return 1; } );
goTo.marker('1');
verify.quickInfoIs("(a: number, callback: (x: 'hi') => number): any");
verify.quickInfoIs("(method) I.x1(a: number, callback: (x: 'hi') => number): any");
goTo.marker('2');
verify.quickInfoIs("(a: number, callback: (x: 'hi') => number): any (+ 0 overload(s))");
verify.quickInfoIs("(method) C.x1(a: number, callback: (x: 'hi') => number): any");
goTo.marker('3');
verify.quickInfoIs("(x: 'hi') => number");
verify.quickInfoIs("(parameter) callback: (x: 'hi') => number");
goTo.marker('4');
verify.quickInfoIs("(a: number, callback: (x: 'hi') => number): any (+ 0 overload(s))");
verify.quickInfoIs("(method) C.x1(a: number, callback: (x: 'hi') => number): any");
goTo.marker('5');
verify.quickInfoIs('(x: string) => number');
verify.quickInfoIs('(parameter) callback: (x: string) => number');
goTo.marker('6');
verify.quickInfoIs('(x: string): number');
verify.quickInfoIs('(local function) callback(x: string): number');
goTo.marker('7');
verify.quickInfoIs("(a: number, callback: (x: 'hi') => number): any (+ 0 overload(s))");
verify.quickInfoIs("(method) C.x1(a: number, callback: (x: 'hi') => number): any");
goTo.marker('8');
verify.quickInfoIs("'hi'");
verify.quickInfoIs("(parameter) xx: 'hi'");
goTo.marker('9');
verify.quickInfoIs("'bye'");
verify.quickInfoIs("(parameter) xx: 'bye'");
goTo.marker('10');
verify.quickInfoIs("'hi'");
verify.quickInfoIs("(parameter) xx: 'hi'");
@@ -6,10 +6,10 @@
////}
goTo.marker('ref2');
verify.quickInfoIs("string", undefined, "y1", "local var");
verify.quickInfoIs("(local var) y1: string", undefined);
goTo.marker('ref1');
verify.quickInfoIs("string", undefined, "y1", "local var");
verify.quickInfoIs("(local var) y1: string", undefined);
goTo.marker('ref2');
verify.quickInfoIs("string", undefined, "y1", "local var");
verify.quickInfoIs("(local var) y1: string", undefined);
@@ -8,7 +8,7 @@
edit.insert('');
goTo.marker("1");
verify.quickInfoIs("string", undefined, "variable1", "parameter");
verify.quickInfoIs("(parameter) variable1: string", undefined);
goTo.marker("2");
verify.quickInfoIs("string", undefined, "variable2", "parameter");
verify.quickInfoIs("(parameter) variable2: string", undefined);
@@ -1,18 +1,18 @@
/// <reference path='fourslash.ts'/>
////class C<T> {
//// map(fn: (k/*1*/: string, value/*2*/: T, context: any) => void, context: any) {
//// map(fn: (/*1*/k: string, /*2*/value: T, context: any) => void, context: any) {
//// }
////}
////var c: C<number>;
////c.map(/*3*/
//goTo.marker('1');
//verify.quickInfoIs('string');
goTo.marker('1');
verify.quickInfoIs('(parameter) k: string');
//goTo.marker('2');
//verify.quickInfoIs('T');
goTo.marker('2');
verify.quickInfoIs('(parameter) value: T');
goTo.marker('3');
verify.currentSignatureHelpIs('map(fn: (k: string, value: number, context: any) => void, context: any): void');
@@ -0,0 +1,6 @@
/// <reference path="fourslash.ts" />
//// function method() { var /**/dictionary = <{ [index]: string; }>{}; }
goTo.marker();
verify.quickInfoIs('(local var) dictionary: {}');
@@ -19,7 +19,7 @@
////}
goTo.marker("1");
verify.quickInfoIs("() => string", undefined, "y1", "property");
verify.quickInfoIs("(property) y1: () => string", undefined);
goTo.marker("2");
verify.quickInfoIs("number");
verify.quickInfoIs("(var) value: number");
@@ -0,0 +1,17 @@
/// <reference path='fourslash.ts'/>
////function f<T>(x: T): T { return null; }
////var /*1*/r = <T>(x: T) => x;
////var /*2*/r2 = < <T>(x: T) => T>f;
////var a;
////var /*3*/r3 = < <T>(x: <A>(y: A) => A) => T>a;
goTo.marker('1');
verify.quickInfoIs('(var) r: <T>(x: T) => T');
goTo.marker('2');
verify.quickInfoIs('(var) r2: <T>(x: T) => T');
goTo.marker('3');
verify.quickInfoIs('(var) r3: <T>(x: <A>(y: A) => A) => T');
@@ -5,7 +5,7 @@
////}
////var f: foo;
////var r/*1*/ = f['foo bar'];
////var /*1*/r = f['foo bar'];
////class bar {
//// 'hello world': number;
@@ -16,18 +16,18 @@
////}
////var b: bar;
////var r2/*2*/ = b["hello world"];
////var r4/*3*/ = b['1'];
////var r5/*4*/ = b[1];
////var /*2*/r2 = b["hello world"];
////var /*3*/r4 = b['1'];
////var /*4*/r5 = b[1];
goTo.marker('1');
verify.quickInfoIs('string');
verify.quickInfoIs('(var) r: string');
goTo.marker('2');
verify.quickInfoIs('number');
verify.quickInfoIs('(var) r2: number');
goTo.marker('3');
verify.quickInfoIs('string');
verify.quickInfoIs('(var) r4: string');
goTo.marker('4');
verify.quickInfoIs('string');
verify.quickInfoIs('(var) r5: string');
@@ -6,3 +6,4 @@
goTo.marker();
verify.quickInfoExists();
verify.quickInfoIs("(var) e: any");
@@ -14,4 +14,4 @@
////}
goTo.marker();
verify.quickInfoIs("string", undefined, "myProp", "property");
verify.quickInfoIs("(property) myProp: string", undefined);
@@ -25,5 +25,5 @@ edit.insert("null,");
verify.currentSignatureHelpIs("B(a: Foo<I>, b: number): B");
edit.insert("10);");
//goTo.marker("2");
//verify.quickInfoIs("(a: Foo<I>, b: number): B", undefined, "B", "constructor");
goTo.marker("2");
verify.quickInfoIs("(constructor) B(a: Foo<I>, b: number): B", undefined);
@@ -18,5 +18,5 @@
diagnostics.setEditValidation(IncrementalEditValidation.None);
goTo.marker('1');
verify.quickInfoIs("string", undefined, "M2.A.foo", "property");
verify.quickInfoIs("(property) M2.A.foo: string", undefined);
verify.numberOfErrorsInCurrentFile(0);
@@ -0,0 +1,26 @@
/// <reference path='fourslash.ts' />
////function /*1*/makePoint(x: number) {
//// return {
//// b: 10,
//// get x() { return x; },
//// set x(a: number) { this.b = a; }
//// };
////};
////var /*4*/point = makePoint(2);
////var /*2*/x = point.x;
////point./*3*/x = 30;
goTo.marker('1');
verify.quickInfoIs("(function) makePoint(x: number): {\n b: number;\n x: number;\n}", undefined);
goTo.marker('2');
verify.quickInfoIs("(var) x: number", undefined);
goTo.marker('3');
verify.memberListContains("x", "(property) x: number", undefined);
verify.memberListContains("b", "(property) b: number", undefined);
verify.quickInfoIs("(property) x: number", undefined);
goTo.marker('4');
verify.quickInfoIs("(var) point: {\n b: number;\n x: number;\n}", undefined);
@@ -0,0 +1,21 @@
/// <reference path='fourslash.ts' />
////function /*1*/makePoint(x: number) {
//// return {
//// get x() { return x; },
//// };
////};
////var /*4*/point = makePoint(2);
////var /*2*/x = point./*3*/x;
goTo.marker('1');
verify.quickInfoIs("(function) makePoint(x: number): {\n x: number;\n}", undefined);
goTo.marker('2');
verify.quickInfoIs("(var) x: number", undefined);
goTo.marker('3');
verify.memberListContains("x", "(property) x: number", undefined);
goTo.marker('4');
verify.quickInfoIs("(var) point: {\n x: number;\n}", undefined);
@@ -0,0 +1,21 @@
/// <reference path='fourslash.ts' />
////function /*1*/makePoint(x: number) {
//// return {
//// b: 10,
//// set x(a: number) { this.b = a; }
//// };
////};
////var /*3*/point = makePoint(2);
////point./*2*/x = 30;
goTo.marker('1');
verify.quickInfoIs("(function) makePoint(x: number): {\n b: number;\n x: number;\n}", undefined);
goTo.marker('2');
verify.memberListContains("x", "(property) x: number", undefined);
verify.memberListContains("b", "(property) b: number", undefined);
verify.quickInfoIs("(property) x: number", undefined);
goTo.marker('3');
verify.quickInfoIs("(var) point: {\n b: number;\n x: number;\n}", undefined);
@@ -0,0 +1,7 @@
/// <reference path='fourslash.ts'/>
////class A<T> { }
////var /**/foo = new A<number>();
goTo.marker();
verify.quickInfoIs('(var) foo: A<number>');
@@ -1,8 +0,0 @@
/// <reference path='fourslash.ts' />
////module m { export class c { } };
////function x(arg: m.c) { return arg; }
////x(/**/
goTo.marker();
verify.currentSignatureHelpIs('x(arg: m.c): m.c');
@@ -1,18 +0,0 @@
/// <reference path='fourslash.ts'/>
////class C<T> {
//// map(fn: (k/*1*/: string, value/*2*/: T, context: any) => void, context: any) {
//// }
////}
////var c: C<number>;
////c.map(/*3*/
goTo.marker('1');
verify.quickInfoIs('string');
goTo.marker('2');
verify.quickInfoIs('T');
goTo.marker('3');
verify.currentSignatureHelpIs('map(fn: (k: string, value: number, context: any) => void, context: any): void');
@@ -1,6 +0,0 @@
/// <reference path="fourslash.ts" />
//// function method() { var dictionary/**/ = <{ [index]: string; }>{}; }
goTo.marker();
verify.quickInfoIs('{ [index: any]: string; }');
@@ -1,17 +0,0 @@
/// <reference path='fourslash.ts'/>
////function f<T>(x: T): T { return null; }
////var r/*1*/ = <T>(x: T) => x;
////var r2/*2*/ = < <T>(x: T) => T>f;
////var a;
////var r3/*3*/ = < <T>(x: <A>(y: A) => A) => T>a;
goTo.marker('1');
verify.quickInfoIs('<T>(x: T) => T');
goTo.marker('2');
verify.quickInfoIs('<T>(x: T) => T');
goTo.marker('3');
verify.quickInfoIs('<T>(x: <A>(y: A) => A) => T');
@@ -1,29 +0,0 @@
/// <reference path='fourslash.ts' />
////interface I {
//// x: number;
////}
////class Foo<T> {
//// y: T;
////}
////class A {
//// foo() { }
////}
////class B extends A {
//// constructor(a: Foo<I>, b: number) {
//// super();
//// }
////}
////var x = new /*2*/B(/*1*/
// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed
edit.insert('');
goTo.marker("1");
verify.currentSignatureHelpIs("B(a: Foo<I>, b: number): B");
edit.insert("null,");
verify.currentSignatureHelpIs("B(a: Foo<I>, b: number): B");
edit.insert("10);");
goTo.marker("2");
verify.quickInfoIs("(a: Foo<I>, b: number): B", undefined, "B", "constructor");
@@ -1,26 +0,0 @@
/// <reference path='fourslash.ts' />
////function /*1*/makePoint(x: number) {
//// return {
//// b: 10,
//// get x() { return x; },
//// set x(a: number) { this.b = a; }
//// };
////};
////var /*4*/point = makePoint(2);
////var /*2*/x = point.x;
////point./*3*/x = 30;
goTo.marker('1');
verify.quickInfoIs("(x: number): { b: number; x: number; }", undefined, "makePoint", "function");
goTo.marker('2');
verify.quickInfoIs("number", undefined, "x", "var");
goTo.marker('3');
verify.memberListContains("x", "number", undefined, "x", "property");
verify.memberListContains("b", "number", undefined, "b", "property");
verify.quickInfoIs("number", undefined, "x", "property");
goTo.marker('4');
verify.quickInfoIs("{ b: number; x: number; }", undefined, "point", "var");
@@ -1,21 +0,0 @@
/// <reference path='fourslash.ts' />
////function /*1*/makePoint(x: number) {
//// return {
//// get x() { return x; },
//// };
////};
////var /*4*/point = makePoint(2);
////var /*2*/x = point./*3*/x;
goTo.marker('1');
verify.quickInfoIs("(x: number): { x: number; }", undefined, "makePoint", "function");
goTo.marker('2');
verify.quickInfoIs("number", undefined, "x", "var");
goTo.marker('3');
verify.memberListContains("x", "number", undefined, "x", "property");
goTo.marker('4');
verify.quickInfoIs("{ x: number; }", undefined, "point", "var");
@@ -1,20 +0,0 @@
/// <reference path='fourslash.ts' />
////function /*1*/makePoint(x: number) {
//// return {
//// b: 10,
//// set x(a: number) { this.b = a; }
//// };
////};
////var /*3*/point = makePoint(2);
////point./*2*/x = 30;
goTo.marker('1');
verify.quickInfoIs("(x: number): { b: number; x: number; }", undefined, "makePoint", "function");
goTo.marker('2');
verify.memberListContains("x", "number", undefined, "x", "property");
verify.memberListContains("b", "number", undefined, "b", "property");
goTo.marker('3');
verify.quickInfoIs("{ b: number; x: number; }", undefined, "point", "var");
@@ -1,7 +0,0 @@
/// <reference path='fourslash.ts'/>
////class A<T> { }
////var foo/**/ = new A<number>();
goTo.marker();
verify.quickInfoIs('A<number>');