diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_catch.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_catch.ts
new file mode 100644
index 00000000000..bdf13c1d97f
--- /dev/null
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_catch.ts
@@ -0,0 +1,13 @@
+///
+
+////var aa = 1;
+
+//// try {} catch(/*catchVariable1*/
+
+//// try {} catch(a/*catchVariable2*/
+
+
+test.markers().forEach((m) => {
+ goTo.position(m.position, m.fileName);
+ verify.completionListIsEmpty();
+});
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_classes.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_classes.ts
new file mode 100644
index 00000000000..60a108cf1e6
--- /dev/null
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_classes.ts
@@ -0,0 +1,12 @@
+///
+
+////var aa = 1;
+
+////class /*className1*/
+
+////class a/*className2*/
+
+test.markers().forEach((m) => {
+ goTo.position(m.position, m.fileName);
+ verify.completionListIsEmpty();
+});
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers.ts
new file mode 100644
index 00000000000..6c0472be546
--- /dev/null
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers.ts
@@ -0,0 +1,11 @@
+///
+
+////var aa = 1;
+
+////enum a { /*enumValueName1*/
+
+
+test.markers().forEach((m) => {
+ goTo.position(m.position, m.fileName);
+ verify.completionListIsEmpty();
+});
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers2.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers2.ts
new file mode 100644
index 00000000000..ee2f3e71032
--- /dev/null
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers2.ts
@@ -0,0 +1,9 @@
+///
+
+////var aa = 1;
+////enum a { foo, /*enumValueName3*/
+
+test.markers().forEach((m) => {
+ goTo.position(m.position, m.fileName);
+ verify.completionListIsEmpty();
+});
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enums.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enums.ts
new file mode 100644
index 00000000000..183f8a22c63
--- /dev/null
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enums.ts
@@ -0,0 +1,14 @@
+///
+
+////var aa = 1;
+
+////enum /*enumName1*/
+
+////enum a/*enumName2*/
+
+////var x = 0; enum /*enumName4*/
+
+test.markers().forEach((m) => {
+ goTo.position(m.position, m.fileName);
+ verify.completionListIsEmpty();
+});
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_functions.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_functions.ts
new file mode 100644
index 00000000000..24231174727
--- /dev/null
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_functions.ts
@@ -0,0 +1,13 @@
+///
+
+////var aa = 1;
+
+////function /*functionName1*/
+
+////function a/*functionName2*/
+
+
+test.markers().forEach((m) => {
+ goTo.position(m.position, m.fileName);
+ verify.completionListIsEmpty();
+});
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaces.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaces.ts
new file mode 100644
index 00000000000..ec2732fe2fe
--- /dev/null
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaces.ts
@@ -0,0 +1,13 @@
+///
+
+////var aa = 1;
+
+////interface /*interfaceName1*/
+
+////interface a/*interfaceName2*/
+
+
+test.markers().forEach((m) => {
+ goTo.position(m.position, m.fileName);
+ verify.completionListIsEmpty();
+});
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_modules.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_modules.ts
new file mode 100644
index 00000000000..4ebdf029a89
--- /dev/null
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_modules.ts
@@ -0,0 +1,13 @@
+///
+
+////var aa = 1;
+
+////module /*moduleName1*/
+
+////module a/*moduleName2*/
+
+
+test.markers().forEach((m) => {
+ goTo.position(m.position, m.fileName);
+ verify.completionListIsEmpty();
+});
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_parameters.ts
similarity index 54%
rename from tests/cases/fourslash/completionListAtIdentifierDefinitionLocations.ts
rename to tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_parameters.ts
index e36d69c82f2..0fd66e9d091 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_parameters.ts
@@ -1,40 +1,33 @@
///
////var aa = 1;
-////class /*className1*/
-////class a/*className2*/
-////interface /*interfaceName1*/
-////interface a/*interfaceName2*/
-////module /*moduleName1*/
-////module a/*moduleName2*/
-////enum /*enumName1*/
-////enum a/*enumName2*/
-////// fourslash is saying completion list is not empty on this line but editor disagrees
-//////enum a { /*enumValueName1*/
-////enum a { f/*enumValueName2*/
-////enum a { foo, /*enumValueName3*/
-////var x = 0; enum /*enumName4*/
-////function /*functionName1*/
-////function a/*functionName2*/
-////var /*varName1*/
-////var a/*varName2*/
-////var a2,/*varName3*/
-////var a2, a/*varName4*/
+
////function testFunction(/*parameterName1*/
+
////function testFunction(a/*parameterName2*/
+
////function testFunction(a, /*parameterName3*/
+
////function testFunction(a, b/*parameterName4*/
+
////class bar1{ constructor(/*constructorParamter1*/
+
////class bar2{ constructor(a/*constructorParamter2*/
+
////class bar3{ constructor(a, /*constructorParamter3*/
+
////class bar4{ constructor(a, b/*constructorParamter4*/
+
////class bar5{ constructor(public /*constructorParamter5*/
+
////class bar6{ constructor(public a/*constructorParamter6*/
+
////class bar7{ constructor(private a/*constructorParamter7*/
+
////class bar8{ constructor(.../*constructorParamter8*/
+
////class bar9{ constructor(...a/*constructorParamter9*/
-//// try {} catch(/*catchVariable1*/
-//// try {} catch(a/*catchVariable2*/
+
test.markers().forEach((m) => {
goTo.position(m.position, m.fileName);
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_varDeclarations.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_varDeclarations.ts
new file mode 100644
index 00000000000..50a112f4625
--- /dev/null
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_varDeclarations.ts
@@ -0,0 +1,18 @@
+///
+
+////var aa = 1;
+
+
+////var /*varName1*/
+
+////var a/*varName2*/
+
+////var a2,/*varName3*/
+
+////var a2, a/*varName4*/
+
+
+test.markers().forEach((m) => {
+ goTo.position(m.position, m.fileName);
+ verify.completionListIsEmpty();
+});