diff --git a/tests/cases/fourslash_old/qualifiedName_import-declaration-with-variable-entity-names.ts b/tests/cases/fourslash/qualifiedName_import-declaration-with-variable-entity-names.ts
similarity index 91%
rename from tests/cases/fourslash_old/qualifiedName_import-declaration-with-variable-entity-names.ts
rename to tests/cases/fourslash/qualifiedName_import-declaration-with-variable-entity-names.ts
index 7148cd10619..fa57a17f98a 100644
--- a/tests/cases/fourslash_old/qualifiedName_import-declaration-with-variable-entity-names.ts
+++ b/tests/cases/fourslash/qualifiedName_import-declaration-with-variable-entity-names.ts
@@ -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];
diff --git a/tests/cases/fourslash_old/quickInfoExportAssignmentOfGenericInterface.ts b/tests/cases/fourslash/quickInfoExportAssignmentOfGenericInterface.ts
similarity index 85%
rename from tests/cases/fourslash_old/quickInfoExportAssignmentOfGenericInterface.ts
rename to tests/cases/fourslash/quickInfoExportAssignmentOfGenericInterface.ts
index 1dce46ce0c7..7a3b3b9d603 100644
--- a/tests/cases/fourslash_old/quickInfoExportAssignmentOfGenericInterface.ts
+++ b/tests/cases/fourslash/quickInfoExportAssignmentOfGenericInterface.ts
@@ -13,4 +13,4 @@
goTo.file("quickInfoExportAssignmentOfGenericInterface_1.ts");
goTo.marker('1');
-verify.quickInfoIs("a>", undefined, "x", "var");
\ No newline at end of file
+verify.quickInfoIs("(var) x: a>", undefined);
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoForAliasedGeneric.ts b/tests/cases/fourslash/quickInfoForAliasedGeneric.ts
similarity index 59%
rename from tests/cases/fourslash_old/quickInfoForAliasedGeneric.ts
rename to tests/cases/fourslash/quickInfoForAliasedGeneric.ts
index 4e4849b978d..30b8a16ba89 100644
--- a/tests/cases/fourslash_old/quickInfoForAliasedGeneric.ts
+++ b/tests/cases/fourslash/quickInfoForAliasedGeneric.ts
@@ -7,11 +7,11 @@
//// }
////}
////import d = M.N;
-////var aa/*1*/: d.C;
-////var bb/*2*/: d.D;
+////var /*1*/aa: d.C;
+////var /*2*/bb: d.D;
goTo.marker('1');
-verify.quickInfoIs('M.N.C');
+verify.quickInfoIs('(var) aa: d.C');
goTo.marker('2');
-verify.quickInfoIs('M.N.D');
\ No newline at end of file
+verify.quickInfoIs('(var) bb: d.D');
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoForContextuallyTypedFunctionInReturnStatement.ts b/tests/cases/fourslash/quickInfoForContextuallyTypedFunctionInReturnStatement.ts
similarity index 86%
rename from tests/cases/fourslash_old/quickInfoForContextuallyTypedFunctionInReturnStatement.ts
rename to tests/cases/fourslash/quickInfoForContextuallyTypedFunctionInReturnStatement.ts
index e4f5003ad04..5075829f7a1 100644
--- a/tests/cases/fourslash_old/quickInfoForContextuallyTypedFunctionInReturnStatement.ts
+++ b/tests/cases/fourslash/quickInfoForContextuallyTypedFunctionInReturnStatement.ts
@@ -17,4 +17,4 @@
goTo.marker();
-verify.quickInfoIs("number");
+verify.quickInfoIs("(parameter) value: number");
diff --git a/tests/cases/fourslash_old/quickInfoForDerivedGenericTypeWithConstructor.ts b/tests/cases/fourslash/quickInfoForDerivedGenericTypeWithConstructor.ts
similarity index 62%
rename from tests/cases/fourslash_old/quickInfoForDerivedGenericTypeWithConstructor.ts
rename to tests/cases/fourslash/quickInfoForDerivedGenericTypeWithConstructor.ts
index 61f55eba772..34274a9c643 100644
--- a/tests/cases/fourslash_old/quickInfoForDerivedGenericTypeWithConstructor.ts
+++ b/tests/cases/fourslash/quickInfoForDerivedGenericTypeWithConstructor.ts
@@ -10,12 +10,11 @@
////class B2 extends A {
//// bar() { }
////}
-
-////var b/*1*/: B;
-////var b2/*2*/: B;
+////var /*1*/b: B;
+////var /*2*/b2: B;
goTo.marker('1');
-verify.quickInfoIs('B');
+verify.quickInfoIs('(var) b: B');
goTo.marker('2');
-verify.quickInfoIs('B');
\ No newline at end of file
+verify.quickInfoIs('(var) b2: B');
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoForFunctionDeclaration.ts b/tests/cases/fourslash/quickInfoForFunctionDeclaration.ts
similarity index 56%
rename from tests/cases/fourslash_old/quickInfoForFunctionDeclaration.ts
rename to tests/cases/fourslash/quickInfoForFunctionDeclaration.ts
index 3e0d7a6c460..525959adc9a 100644
--- a/tests/cases/fourslash_old/quickInfoForFunctionDeclaration.ts
+++ b/tests/cases/fourslash/quickInfoForFunctionDeclaration.ts
@@ -4,17 +4,15 @@
////
////function ma/*makeA*/keA(t: T): A { return null; }
////
-////function f/*f*/(t: T) {
+////function /*f*/f(t: T) {
//// return makeA(t);
////}
////
////var x = f(0);
////var y = makeA(0);
-
-
goTo.marker("makeA");
-verify.quickInfoIs("(t: T): A", undefined, "makeA", "function");
+verify.quickInfoIs("(function) makeA(t: T): A", undefined);
goTo.marker("f");
-verify.quickInfoIs("(t: T): A", undefined, "f", "function");
+verify.quickInfoIs("(function) f(t: T): A", undefined);
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoForGenericConstraints1.ts b/tests/cases/fourslash/quickInfoForGenericConstraints1.ts
similarity index 51%
rename from tests/cases/fourslash_old/quickInfoForGenericConstraints1.ts
rename to tests/cases/fourslash/quickInfoForGenericConstraints1.ts
index 589b56033e9..93449cd7dc2 100644
--- a/tests/cases/fourslash_old/quickInfoForGenericConstraints1.ts
+++ b/tests/cases/fourslash/quickInfoForGenericConstraints1.ts
@@ -4,4 +4,6 @@
////function foo4(test: any): any { return null; }
goTo.marker();
-verify.quickInfoIs('T extends Date');
\ No newline at end of file
+// TODO: formatting type parameter with extends info
+//verify.quickInfoIs('parameter) test: T extends Date');
+verify.quickInfoIs('(parameter) test: T');
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoForIndexerResultWithConstraint.ts b/tests/cases/fourslash/quickInfoForIndexerResultWithConstraint.ts
similarity index 62%
rename from tests/cases/fourslash_old/quickInfoForIndexerResultWithConstraint.ts
rename to tests/cases/fourslash/quickInfoForIndexerResultWithConstraint.ts
index e0f6c8ca89a..31e58f51152 100644
--- a/tests/cases/fourslash_old/quickInfoForIndexerResultWithConstraint.ts
+++ b/tests/cases/fourslash/quickInfoForIndexerResultWithConstraint.ts
@@ -6,8 +6,8 @@
////function other2(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; }');
\ No newline at end of file
+verify.quickInfoIs('(local var) r2: {\n [x: string]: T;\n}');
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoForOverloadOnConst1.ts b/tests/cases/fourslash/quickInfoForOverloadOnConst1.ts
similarity index 51%
rename from tests/cases/fourslash_old/quickInfoForOverloadOnConst1.ts
rename to tests/cases/fourslash/quickInfoForOverloadOnConst1.ts
index 9d91eee2184..147c030c22a 100644
--- a/tests/cases/fourslash_old/quickInfoForOverloadOnConst1.ts
+++ b/tests/cases/fourslash/quickInfoForOverloadOnConst1.ts
@@ -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'");
\ No newline at end of file
+verify.quickInfoIs("(parameter) xx: 'hi'");
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoForTypeofParameter.ts b/tests/cases/fourslash/quickInfoForTypeofParameter.ts
similarity index 50%
rename from tests/cases/fourslash_old/quickInfoForTypeofParameter.ts
rename to tests/cases/fourslash/quickInfoForTypeofParameter.ts
index 794fdbe8144..1d96ae9ee96 100644
--- a/tests/cases/fourslash_old/quickInfoForTypeofParameter.ts
+++ b/tests/cases/fourslash/quickInfoForTypeofParameter.ts
@@ -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);
diff --git a/tests/cases/fourslash_old/quickInfoInFunctionTypeReference.ts b/tests/cases/fourslash/quickInfoInFunctionTypeReference.ts
similarity index 69%
rename from tests/cases/fourslash_old/quickInfoInFunctionTypeReference.ts
rename to tests/cases/fourslash/quickInfoInFunctionTypeReference.ts
index c5804fc076d..e8430d3fabe 100644
--- a/tests/cases/fourslash_old/quickInfoInFunctionTypeReference.ts
+++ b/tests/cases/fourslash/quickInfoInFunctionTypeReference.ts
@@ -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);
diff --git a/tests/cases/fourslash/quickInfoInFunctionTypeReference2.ts b/tests/cases/fourslash/quickInfoInFunctionTypeReference2.ts
index 608dbba56c3..fe67c341d46 100644
--- a/tests/cases/fourslash/quickInfoInFunctionTypeReference2.ts
+++ b/tests/cases/fourslash/quickInfoInFunctionTypeReference2.ts
@@ -1,18 +1,18 @@
///
////class C {
-//// 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;
////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');
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoInInvalidIndexSignature.ts b/tests/cases/fourslash/quickInfoInInvalidIndexSignature.ts
new file mode 100644
index 00000000000..b08fb92b8b6
--- /dev/null
+++ b/tests/cases/fourslash/quickInfoInInvalidIndexSignature.ts
@@ -0,0 +1,6 @@
+///
+
+//// function method() { var /**/dictionary = <{ [index]: string; }>{}; }
+
+goTo.marker();
+verify.quickInfoIs('(local var) dictionary: {}');
diff --git a/tests/cases/fourslash_old/quickInfoInObjectLiteral.ts b/tests/cases/fourslash/quickInfoInObjectLiteral.ts
similarity index 78%
rename from tests/cases/fourslash_old/quickInfoInObjectLiteral.ts
rename to tests/cases/fourslash/quickInfoInObjectLiteral.ts
index 7d0c21930fa..94afb172be9 100644
--- a/tests/cases/fourslash_old/quickInfoInObjectLiteral.ts
+++ b/tests/cases/fourslash/quickInfoInObjectLiteral.ts
@@ -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");
diff --git a/tests/cases/fourslash/quickInfoOfGenericTypeAssertions1.ts b/tests/cases/fourslash/quickInfoOfGenericTypeAssertions1.ts
new file mode 100644
index 00000000000..b08026970b9
--- /dev/null
+++ b/tests/cases/fourslash/quickInfoOfGenericTypeAssertions1.ts
@@ -0,0 +1,17 @@
+///
+
+////function f(x: T): T { return null; }
+////var /*1*/r = (x: T) => x;
+////var /*2*/r2 = < (x: T) => T>f;
+
+////var a;
+////var /*3*/r3 = < (x: (y: A) => A) => T>a;
+
+goTo.marker('1');
+verify.quickInfoIs('(var) r: (x: T) => T');
+
+goTo.marker('2');
+verify.quickInfoIs('(var) r2: (x: T) => T');
+
+goTo.marker('3');
+verify.quickInfoIs('(var) r3: (x: (y: A) => A) => T');
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoOfStringPropertyNames1.ts b/tests/cases/fourslash/quickInfoOfStringPropertyNames1.ts
similarity index 52%
rename from tests/cases/fourslash_old/quickInfoOfStringPropertyNames1.ts
rename to tests/cases/fourslash/quickInfoOfStringPropertyNames1.ts
index 8e671246bb1..e44e5eb213b 100644
--- a/tests/cases/fourslash_old/quickInfoOfStringPropertyNames1.ts
+++ b/tests/cases/fourslash/quickInfoOfStringPropertyNames1.ts
@@ -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');
diff --git a/tests/cases/fourslash_old/quickInfoOnCatchVariable.ts b/tests/cases/fourslash/quickInfoOnCatchVariable.ts
similarity index 79%
rename from tests/cases/fourslash_old/quickInfoOnCatchVariable.ts
rename to tests/cases/fourslash/quickInfoOnCatchVariable.ts
index 459919c5686..d03b5d7b8b6 100644
--- a/tests/cases/fourslash_old/quickInfoOnCatchVariable.ts
+++ b/tests/cases/fourslash/quickInfoOnCatchVariable.ts
@@ -6,3 +6,4 @@
goTo.marker();
verify.quickInfoExists();
+verify.quickInfoIs("(var) e: any");
diff --git a/tests/cases/fourslash_old/quickInfoOnClassMergedWithFunction.ts b/tests/cases/fourslash/quickInfoOnClassMergedWithFunction.ts
similarity index 80%
rename from tests/cases/fourslash_old/quickInfoOnClassMergedWithFunction.ts
rename to tests/cases/fourslash/quickInfoOnClassMergedWithFunction.ts
index 7a8c66a206e..65b84a6541f 100644
--- a/tests/cases/fourslash_old/quickInfoOnClassMergedWithFunction.ts
+++ b/tests/cases/fourslash/quickInfoOnClassMergedWithFunction.ts
@@ -14,4 +14,4 @@
////}
goTo.marker();
-verify.quickInfoIs("string", undefined, "myProp", "property");
\ No newline at end of file
+verify.quickInfoIs("(property) myProp: string", undefined);
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts b/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts
index 056ba5300c7..83cbd2bddb0 100644
--- a/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts
+++ b/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts
@@ -25,5 +25,5 @@ edit.insert("null,");
verify.currentSignatureHelpIs("B(a: Foo, b: number): B");
edit.insert("10);");
-//goTo.marker("2");
-//verify.quickInfoIs("(a: Foo, b: number): B", undefined, "B", "constructor");
\ No newline at end of file
+goTo.marker("2");
+verify.quickInfoIs("(constructor) B(a: Foo, b: number): B", undefined);
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoOnMergedModule.ts b/tests/cases/fourslash/quickInfoOnMergedModule.ts
similarity index 83%
rename from tests/cases/fourslash_old/quickInfoOnMergedModule.ts
rename to tests/cases/fourslash/quickInfoOnMergedModule.ts
index aac91509174..abf12a65dbf 100644
--- a/tests/cases/fourslash_old/quickInfoOnMergedModule.ts
+++ b/tests/cases/fourslash/quickInfoOnMergedModule.ts
@@ -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);
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoOnObjectLiteralWithAccessors.ts b/tests/cases/fourslash/quickInfoOnObjectLiteralWithAccessors.ts
new file mode 100644
index 00000000000..0803bc69109
--- /dev/null
+++ b/tests/cases/fourslash/quickInfoOnObjectLiteralWithAccessors.ts
@@ -0,0 +1,26 @@
+///
+
+////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);
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlyGetter.ts b/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlyGetter.ts
new file mode 100644
index 00000000000..b85a82c63d5
--- /dev/null
+++ b/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlyGetter.ts
@@ -0,0 +1,21 @@
+///
+
+////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);
diff --git a/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlySetter.ts b/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlySetter.ts
new file mode 100644
index 00000000000..0cc7b6d0ed3
--- /dev/null
+++ b/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlySetter.ts
@@ -0,0 +1,21 @@
+///
+
+////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);
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoShowsGenericSpecialization.ts b/tests/cases/fourslash/quickInfoShowsGenericSpecialization.ts
new file mode 100644
index 00000000000..ab8454a3a27
--- /dev/null
+++ b/tests/cases/fourslash/quickInfoShowsGenericSpecialization.ts
@@ -0,0 +1,7 @@
+///
+
+////class A { }
+////var /**/foo = new A();
+
+goTo.marker();
+verify.quickInfoIs('(var) foo: A');
diff --git a/tests/cases/fourslash_old/qualifyModuleTypeNames.ts b/tests/cases/fourslash_old/qualifyModuleTypeNames.ts
deleted file mode 100644
index 50a9f6c85f0..00000000000
--- a/tests/cases/fourslash_old/qualifyModuleTypeNames.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-///
-
-////module m { export class c { } };
-////function x(arg: m.c) { return arg; }
-////x(/**/
-
-goTo.marker();
-verify.currentSignatureHelpIs('x(arg: m.c): m.c');
diff --git a/tests/cases/fourslash_old/quickInfoInFunctionTypeReference2.ts b/tests/cases/fourslash_old/quickInfoInFunctionTypeReference2.ts
deleted file mode 100644
index 3a34388355c..00000000000
--- a/tests/cases/fourslash_old/quickInfoInFunctionTypeReference2.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-///
-
-////class C {
-//// map(fn: (k/*1*/: string, value/*2*/: T, context: any) => void, context: any) {
-//// }
-////}
-
-////var c: C;
-////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');
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoInInvalidIndexSignature.ts b/tests/cases/fourslash_old/quickInfoInInvalidIndexSignature.ts
deleted file mode 100644
index 34b8987556e..00000000000
--- a/tests/cases/fourslash_old/quickInfoInInvalidIndexSignature.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-///
-
-//// function method() { var dictionary/**/ = <{ [index]: string; }>{}; }
-
-goTo.marker();
-verify.quickInfoIs('{ [index: any]: string; }');
diff --git a/tests/cases/fourslash_old/quickInfoOfGenericTypeAssertions1.ts b/tests/cases/fourslash_old/quickInfoOfGenericTypeAssertions1.ts
deleted file mode 100644
index cb96acb6854..00000000000
--- a/tests/cases/fourslash_old/quickInfoOfGenericTypeAssertions1.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-///
-
-////function f(x: T): T { return null; }
-////var r/*1*/ = (x: T) => x;
-////var r2/*2*/ = < (x: T) => T>f;
-
-////var a;
-////var r3/*3*/ = < (x: (y: A) => A) => T>a;
-
-goTo.marker('1');
-verify.quickInfoIs('(x: T) => T');
-
-goTo.marker('2');
-verify.quickInfoIs('(x: T) => T');
-
-goTo.marker('3');
-verify.quickInfoIs('(x: (y: A) => A) => T');
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoOnConstructorWithGenericParameter.ts b/tests/cases/fourslash_old/quickInfoOnConstructorWithGenericParameter.ts
deleted file mode 100644
index e77c2607a8e..00000000000
--- a/tests/cases/fourslash_old/quickInfoOnConstructorWithGenericParameter.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-///
-
-////interface I {
-//// x: number;
-////}
-////class Foo {
-//// y: T;
-////}
-////class A {
-//// foo() { }
-////}
-////class B extends A {
-//// constructor(a: Foo, 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, b: number): B");
-edit.insert("null,");
-verify.currentSignatureHelpIs("B(a: Foo, b: number): B");
-edit.insert("10);");
-
-goTo.marker("2");
-verify.quickInfoIs("(a: Foo, b: number): B", undefined, "B", "constructor");
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoOnObjectLiteralWithAccessors.ts b/tests/cases/fourslash_old/quickInfoOnObjectLiteralWithAccessors.ts
deleted file mode 100644
index 55bf4e1dd4b..00000000000
--- a/tests/cases/fourslash_old/quickInfoOnObjectLiteralWithAccessors.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-///
-
-////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");
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoOnObjectLiteralWithOnlyGetter.ts b/tests/cases/fourslash_old/quickInfoOnObjectLiteralWithOnlyGetter.ts
deleted file mode 100644
index ef08f0841db..00000000000
--- a/tests/cases/fourslash_old/quickInfoOnObjectLiteralWithOnlyGetter.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-///
-
-////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");
diff --git a/tests/cases/fourslash_old/quickInfoOnObjectLiteralWithOnlySetter.ts b/tests/cases/fourslash_old/quickInfoOnObjectLiteralWithOnlySetter.ts
deleted file mode 100644
index 8361426793f..00000000000
--- a/tests/cases/fourslash_old/quickInfoOnObjectLiteralWithOnlySetter.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-///
-
-////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");
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/quickInfoShowsGenericSpecialization.ts b/tests/cases/fourslash_old/quickInfoShowsGenericSpecialization.ts
deleted file mode 100644
index 70719417699..00000000000
--- a/tests/cases/fourslash_old/quickInfoShowsGenericSpecialization.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-///
-
-////class A { }
-////var foo/**/ = new A();
-
-goTo.marker();
-verify.quickInfoIs('A');