diff --git a/tests/cases/fourslash_old/augmentedTypesClass1.ts b/tests/cases/fourslash/augmentedTypesClass1.ts
similarity index 60%
rename from tests/cases/fourslash_old/augmentedTypesClass1.ts
rename to tests/cases/fourslash/augmentedTypesClass1.ts
index 4641813c615..54c0d75dd29 100644
--- a/tests/cases/fourslash_old/augmentedTypesClass1.ts
+++ b/tests/cases/fourslash/augmentedTypesClass1.ts
@@ -7,7 +7,7 @@
////r./*2*/
goTo.marker('1');
-verify.completionListContains('prototype', 'c5b');
+verify.completionListContains('prototype', '(property) c5b.prototype: c5b');
edit.insert('y;');
goTo.marker('2');
-verify.completionListContains('foo', '(): void');
\ No newline at end of file
+verify.completionListContains('foo', '(method) c5b.foo(): void');
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/augmentedTypesClass2.ts b/tests/cases/fourslash/augmentedTypesClass2.ts
similarity index 62%
rename from tests/cases/fourslash_old/augmentedTypesClass2.ts
rename to tests/cases/fourslash/augmentedTypesClass2.ts
index 1256ebe4b37..cb9e5f7f572 100644
--- a/tests/cases/fourslash_old/augmentedTypesClass2.ts
+++ b/tests/cases/fourslash/augmentedTypesClass2.ts
@@ -7,7 +7,7 @@
////r./*2*/
goTo.marker('1');
-verify.not.completionListContains('y', 'number');
+verify.not.completionListContains('y', '(var) y: number');
edit.backspace(4);
goTo.marker('2');
-verify.completionListContains('foo', '(): void');
\ No newline at end of file
+verify.completionListContains('foo', '(method) c5b.foo(): void');
\ No newline at end of file
diff --git a/tests/cases/fourslash/augmentedTypesClass3.ts b/tests/cases/fourslash/augmentedTypesClass3.ts
new file mode 100644
index 00000000000..e26fe744624
--- /dev/null
+++ b/tests/cases/fourslash/augmentedTypesClass3.ts
@@ -0,0 +1,14 @@
+///
+
+////class c/*1*/5b { public foo() { } }
+////module c/*2*/5b { export var y = 2; } // should be ok
+/////*3*/
+
+goTo.marker('1');
+verify.quickInfoIs("class c5b\nmodule c5b");
+
+goTo.marker('2');
+verify.quickInfoIs("class c5b\nmodule c5b");
+
+goTo.marker('3');
+verify.completionListContains("c5b", "class c5b\nmodule c5b");
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/augmentedTypesModule1.ts b/tests/cases/fourslash/augmentedTypesModule1.ts
similarity index 79%
rename from tests/cases/fourslash_old/augmentedTypesModule1.ts
rename to tests/cases/fourslash/augmentedTypesModule1.ts
index ca0e5aeb97c..0a56504b972 100644
--- a/tests/cases/fourslash_old/augmentedTypesModule1.ts
+++ b/tests/cases/fourslash/augmentedTypesModule1.ts
@@ -4,13 +4,12 @@
//// export interface I { foo(): void; }
////}
////var m1c = 1; // Should be allowed
-
////var x: m1c./*1*/;
-////var r/*2*/ = m1c;
+////var /*2*/r = m1c;
goTo.marker('1');
verify.completionListContains('I');
verify.not.completionListContains('foo');
goTo.marker('2');
-verify.quickInfoIs('number');
\ No newline at end of file
+verify.quickInfoIs('(var) r: number');
\ No newline at end of file
diff --git a/tests/cases/fourslash/augmentedTypesModule2.ts b/tests/cases/fourslash/augmentedTypesModule2.ts
index ca4d2db1423..6c2c63fff06 100644
--- a/tests/cases/fourslash/augmentedTypesModule2.ts
+++ b/tests/cases/fourslash/augmentedTypesModule2.ts
@@ -3,20 +3,20 @@
////function /*11*/m2f(x: number) { };
////module m2f { export interface I { foo(): void } }
////var x: m2f./*1*/
-////var r/*2*/ = m2f/*3*/;
+////var /*2*/r = m2f/*3*/;
-//goTo.marker('11');
-//verify.quickInfoIs('(x: number): void');
+goTo.marker('11');
+verify.quickInfoIs('(function) m2f(x: number): void\nmodule m2f');
-//goTo.marker('1');
-//verify.completionListContains('I');
+goTo.marker('1');
+verify.completionListContains('I');
-//edit.insert('I.');
-//verify.not.completionListContains('foo');
-//edit.backspace(1);
+edit.insert('I.');
+verify.not.completionListContains('foo');
+edit.backspace(1);
-//goTo.marker('2');
-//verify.quickInfoIs('typeof m2f');
+goTo.marker('2');
+verify.quickInfoIs('(var) r: (x: number) => void');
goTo.marker('3');
edit.insert('(');
diff --git a/tests/cases/fourslash/augmentedTypesModule3.ts b/tests/cases/fourslash/augmentedTypesModule3.ts
index 08d0b241ef1..b1640a41641 100644
--- a/tests/cases/fourslash/augmentedTypesModule3.ts
+++ b/tests/cases/fourslash/augmentedTypesModule3.ts
@@ -3,17 +3,17 @@
////function m2g() { };
////module m2g { export class C { foo(x: number) { } } }
////var x: m2g./*1*/;
-////var r/*2*/ = m2g/*3*/;
+////var /*2*/r = m2g/*3*/;
-//goTo.marker('1');
-//verify.completionListContains('C');
+goTo.marker('1');
+verify.completionListContains('C');
-//edit.insert('C.');
-//verify.not.completionListContains('foo');
-//edit.backspace(1);
+edit.insert('C.');
+verify.not.completionListContains('foo');
+edit.backspace(1);
-//goTo.marker('2');
-//verify.quickInfoIs("typeof m2g", undefined, "r", "var");
+goTo.marker('2');
+verify.quickInfoIs("(var) r: typeof m2g");
goTo.marker('3');
edit.insert('(');
diff --git a/tests/cases/fourslash_old/augmentedTypesModule4.ts b/tests/cases/fourslash/augmentedTypesModule4.ts
similarity index 67%
rename from tests/cases/fourslash_old/augmentedTypesModule4.ts
rename to tests/cases/fourslash/augmentedTypesModule4.ts
index 924c4920bdd..ffef24aa658 100644
--- a/tests/cases/fourslash_old/augmentedTypesModule4.ts
+++ b/tests/cases/fourslash/augmentedTypesModule4.ts
@@ -2,12 +2,12 @@
////module m3d { export var y = 2; }
////declare class m3d { foo(): void }
-////var r/*1*/ = new m3d();
+////var /*1*/r = new m3d();
////r./*2*/
-////var r2/*4*/ = m3d./*3*/
+////var /*4*/r2 = m3d./*3*/
goTo.marker('1');
-verify.quickInfoIs('m3d');
+verify.quickInfoIs('(var) r: m3d');
goTo.marker('2');
verify.completionListContains('foo');
@@ -18,4 +18,4 @@ verify.completionListContains('y');
edit.insert('y;');
goTo.marker('4');
-verify.quickInfoIs('number');
\ No newline at end of file
+verify.quickInfoIs('(var) r2: number');
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/augmentedTypesModule5.ts b/tests/cases/fourslash/augmentedTypesModule5.ts
similarity index 67%
rename from tests/cases/fourslash_old/augmentedTypesModule5.ts
rename to tests/cases/fourslash/augmentedTypesModule5.ts
index 8fca36ea3f5..043372f21d5 100644
--- a/tests/cases/fourslash_old/augmentedTypesModule5.ts
+++ b/tests/cases/fourslash/augmentedTypesModule5.ts
@@ -2,12 +2,12 @@
////declare class m3e { foo(): void }
////module m3e { export var y = 2; }
-////var r/*1*/ = new m3e();
+////var /*1*/r = new m3e();
////r./*2*/
-////var r2/*4*/ = m3e./*3*/
+////var /*4*/r2 = m3e./*3*/
goTo.marker('1');
-verify.quickInfoIs('m3e');
+verify.quickInfoIs('(var) r: m3e');
goTo.marker('2');
verify.completionListContains('foo');
@@ -19,4 +19,4 @@ verify.completionListContains('y');
edit.insert('y;');
goTo.marker('4');
-verify.quickInfoIs('number');
\ No newline at end of file
+verify.quickInfoIs('(var) r2: number');
\ No newline at end of file
diff --git a/tests/cases/fourslash/augmentedTypesModule6.ts b/tests/cases/fourslash/augmentedTypesModule6.ts
index f7e71c4a685..b5811e92468 100644
--- a/tests/cases/fourslash/augmentedTypesModule6.ts
+++ b/tests/cases/fourslash/augmentedTypesModule6.ts
@@ -3,32 +3,33 @@
////declare class m3f { foo(x: number): void }
////module m3f { export interface I { foo(): void } }
////var x: m3f./*1*/
-////var r/*4*/ = new /*2*/m3f(/*3*/);
+////var /*4*/r = new /*2*/m3f(/*3*/);
////r./*5*/
////var r2: m3f.I = r;
////r2./*6*/
-//goTo.marker('1');
-//verify.completionListContains('I');
+goTo.marker('1');
+verify.completionListContains('I');
-//verify.not.completionListContains('foo');
-//edit.insert('I;');
+// bug #837
+verify.completionListContains('foo');
+edit.insert('I;');
-//goTo.marker('2');
-//verify.completionListContains('m3f');
+goTo.marker('2');
+verify.completionListContains('m3f');
goTo.marker('3');
verify.currentSignatureHelpIs('m3f(): m3f');
-//goTo.marker('4');
-//verify.quickInfoIs('m3f');
+goTo.marker('4');
+verify.quickInfoIs('(var) r: m3f');
-//goTo.marker('5');
-//verify.completionListContains('foo');
-//edit.insert('foo(1)');
+goTo.marker('5');
+verify.completionListContains('foo');
+edit.insert('foo(1)');
goTo.marker('6');
-//verify.completionListContains('foo');
+verify.completionListContains('foo');
edit.insert('foo(');
-// verify.currentSignatureHelpIs('foo(): void');
+verify.currentSignatureHelpIs('foo(): void');
diff --git a/tests/cases/fourslash_old/augmentedTypesModule2.ts b/tests/cases/fourslash_old/augmentedTypesModule2.ts
deleted file mode 100644
index 0698e6060ca..00000000000
--- a/tests/cases/fourslash_old/augmentedTypesModule2.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-///
-
-////function /*11*/m2f(x: number) { };
-////module m2f { export interface I { foo(): void } }
-////var x: m2f./*1*/
-////var r/*2*/ = m2f/*3*/;
-
-goTo.marker('11');
-verify.quickInfoIs('(x: number): void');
-
-goTo.marker('1');
-verify.completionListContains('I');
-
-edit.insert('I.');
-verify.not.completionListContains('foo');
-edit.backspace(1);
-
-goTo.marker('2');
-verify.quickInfoIs('typeof m2f');
-
-goTo.marker('3');
-edit.insert('(');
-verify.currentSignatureHelpIs('m2f(x: number): void');
diff --git a/tests/cases/fourslash_old/augmentedTypesModule3.ts b/tests/cases/fourslash_old/augmentedTypesModule3.ts
deleted file mode 100644
index 41a22c030df..00000000000
--- a/tests/cases/fourslash_old/augmentedTypesModule3.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-///
-
-////function m2g() { };
-////module m2g { export class C { foo(x: number) { } } }
-////var x: m2g./*1*/;
-////var r/*2*/ = m2g/*3*/;
-
-goTo.marker('1');
-verify.completionListContains('C');
-
-edit.insert('C.');
-verify.not.completionListContains('foo');
-edit.backspace(1);
-
-goTo.marker('2');
-verify.quickInfoIs("typeof m2g", undefined, "r", "var");
-
-goTo.marker('3');
-edit.insert('(');
-verify.currentSignatureHelpIs('m2g(): void');
\ No newline at end of file
diff --git a/tests/cases/fourslash_old/augmentedTypesModule6.ts b/tests/cases/fourslash_old/augmentedTypesModule6.ts
deleted file mode 100644
index 86462d3a264..00000000000
--- a/tests/cases/fourslash_old/augmentedTypesModule6.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-///
-
-////declare class m3f { foo(x: number): void }
-////module m3f { export interface I { foo(): void } }
-////var x: m3f./*1*/
-////var r/*4*/ = new /*2*/m3f(/*3*/);
-////r./*5*/
-////var r2: m3f.I = r;
-////r2./*6*/
-
-goTo.marker('1');
-verify.completionListContains('I');
-
-verify.not.completionListContains('foo');
-edit.insert('I;');
-
-goTo.marker('2');
-verify.completionListContains('m3f');
-
-goTo.marker('3');
-verify.currentSignatureHelpIs('m3f(): m3f');
-
-goTo.marker('4');
-verify.quickInfoIs('m3f');
-
-goTo.marker('5');
-verify.completionListContains('foo');
-edit.insert('foo(1)');
-
-goTo.marker('6');
-verify.completionListContains('foo');
-edit.insert('foo(');
-verify.currentSignatureHelpIs('foo(): void');
-