diff --git a/tests/cases/fourslash/findAllRefsForDefaultExport01.ts b/tests/cases/fourslash/findAllRefsForDefaultExport01.ts
new file mode 100644
index 00000000000..87c439bd9ef
--- /dev/null
+++ b/tests/cases/fourslash/findAllRefsForDefaultExport01.ts
@@ -0,0 +1,21 @@
+///
+
+////export default class [|DefaultExportedClass|] {
+////}
+////
+////var x: [|DefaultExportedClass|];
+////
+////var y = new [|DefaultExportedClass|];
+////
+////namespace [|DefaultExportedClass|] {
+//// var local = 100;
+////}
+
+let ranges = test.ranges()
+for (let range of ranges) {
+ goTo.position(range.start);
+
+ for (let expectedReference of ranges) {
+ verify.referencesAtPositionContains(expectedReference);
+ }
+}
\ No newline at end of file
diff --git a/tests/cases/fourslash/findAllRefsForDefaultExport02.ts b/tests/cases/fourslash/findAllRefsForDefaultExport02.ts
new file mode 100644
index 00000000000..3000b7de92d
--- /dev/null
+++ b/tests/cases/fourslash/findAllRefsForDefaultExport02.ts
@@ -0,0 +1,22 @@
+///
+
+////export default function [|DefaultExportedFunction|]() {
+//// return [|DefaultExportedFunction|]
+////}
+////
+////var x: typeof [|DefaultExportedFunction|];
+////
+////var y = [|DefaultExportedFunction|]();
+////
+////namespace [|DefaultExportedFunction|] {
+//// var local = 100;
+////}
+
+let ranges = test.ranges()
+for (let range of ranges) {
+ goTo.position(range.start);
+
+ for (let expectedReference of ranges) {
+ verify.referencesAtPositionContains(expectedReference);
+ }
+}
\ No newline at end of file
diff --git a/tests/cases/fourslash/findAllRefsForDefaultExport03.ts b/tests/cases/fourslash/findAllRefsForDefaultExport03.ts
new file mode 100644
index 00000000000..89027879ff1
--- /dev/null
+++ b/tests/cases/fourslash/findAllRefsForDefaultExport03.ts
@@ -0,0 +1,24 @@
+///
+
+////function [|f|]() {
+//// return 100;
+////}
+////
+////export default [|f|];
+////
+////var x: typeof [|f|];
+////
+////var y = [|f|]();
+////
+////namespace [|f|] {
+//// var local = 100;
+////}
+
+let ranges = test.ranges()
+for (let range of ranges) {
+ goTo.position(range.start);
+
+ for (let expectedReference of ranges) {
+ verify.referencesAtPositionContains(expectedReference);
+ }
+}
\ No newline at end of file
diff --git a/tests/cases/fourslash/findAllRefsForDefaultExportNegative01.ts b/tests/cases/fourslash/findAllRefsForDefaultExportNegative01.ts
new file mode 100644
index 00000000000..b44ab76b292
--- /dev/null
+++ b/tests/cases/fourslash/findAllRefsForDefaultExportNegative01.ts
@@ -0,0 +1,14 @@
+///
+
+////export default class DefaultExportedClass {
+////}
+////
+////var x: DefaultExportedClass;
+////
+////var y = new DefaultExportedClass;
+////
+////namespace /**/DefaultExportedClass {
+////}
+
+goTo.marker();
+verify.referencesCountIs(1);
diff --git a/tests/cases/fourslash/findAllRefsForDefaultExportNegative02.ts b/tests/cases/fourslash/findAllRefsForDefaultExportNegative02.ts
new file mode 100644
index 00000000000..901cc3ffe0f
--- /dev/null
+++ b/tests/cases/fourslash/findAllRefsForDefaultExportNegative02.ts
@@ -0,0 +1,15 @@
+///
+
+////export default function DefaultExportedFunction() {
+//// return DefaultExportedFunction
+////}
+////
+////var x: typeof DefaultExportedFunction;
+////
+////var y = DefaultExportedFunction();
+////
+////namespace /**/DefaultExportedFunction {
+////}
+
+goTo.marker();
+verify.referencesCountIs(1);
diff --git a/tests/cases/fourslash/findAllRefsForDefaultExportNegative03.ts b/tests/cases/fourslash/findAllRefsForDefaultExportNegative03.ts
new file mode 100644
index 00000000000..d9364b2193e
--- /dev/null
+++ b/tests/cases/fourslash/findAllRefsForDefaultExportNegative03.ts
@@ -0,0 +1,17 @@
+///
+
+////function f() {
+//// return 100;
+////}
+////
+////export default f;
+////
+////var x: typeof f;
+////
+////var y = f();
+////
+////namespace /**/f {
+////}
+
+goTo.marker();
+verify.referencesCountIs(1);