diff --git a/tests/cases/fourslash/syntacticClassificationsForOfKeyword2.ts b/tests/cases/fourslash/syntacticClassificationsForOfKeyword2.ts
new file mode 100644
index 00000000000..30cfaea51e0
--- /dev/null
+++ b/tests/cases/fourslash/syntacticClassificationsForOfKeyword2.ts
@@ -0,0 +1,16 @@
+///
+
+//// for (var of in of) { }
+
+var c = classification;
+verify.syntacticClassificationsAre(
+ c.keyword("for"),
+ c.punctuation("("),
+ c.keyword("var"),
+ c.text("of"),
+ c.keyword("in"),
+ c.text("of"),
+ c.punctuation(")"),
+ c.punctuation("{"),
+ c.punctuation("}")
+ );
\ No newline at end of file
diff --git a/tests/cases/fourslash/syntacticClassificationsForOfKeyword3.ts b/tests/cases/fourslash/syntacticClassificationsForOfKeyword3.ts
new file mode 100644
index 00000000000..3af4733f3b2
--- /dev/null
+++ b/tests/cases/fourslash/syntacticClassificationsForOfKeyword3.ts
@@ -0,0 +1,18 @@
+///
+
+//// for (var of; of; of) { }
+
+var c = classification;
+verify.syntacticClassificationsAre(
+ c.keyword("for"),
+ c.punctuation("("),
+ c.keyword("var"),
+ c.text("of"),
+ c.punctuation(";"),
+ c.text("of"),
+ c.punctuation(";"),
+ c.text("of"),
+ c.punctuation(")"),
+ c.punctuation("{"),
+ c.punctuation("}")
+ );
\ No newline at end of file
diff --git a/tests/cases/unittests/services/colorization.ts b/tests/cases/unittests/services/colorization.ts
index 890ced3b891..6c685cdb174 100644
--- a/tests/cases/unittests/services/colorization.ts
+++ b/tests/cases/unittests/services/colorization.ts
@@ -430,5 +430,20 @@ class D { }\r\n\
comment(">>>>>>> Branch - a"),
finalEndOfLineState(ts.EndOfLineState.Start));
});
+
+ it("'of' keyword", function () {
+ testLexicalClassification("for (var of of of) { }",
+ ts.EndOfLineState.Start,
+ keyword("for"),
+ punctuation("("),
+ keyword("var"),
+ keyword("of"),
+ keyword("of"),
+ keyword("of"),
+ punctuation(")"),
+ punctuation("{"),
+ punctuation("}"),
+ finalEndOfLineState(ts.EndOfLineState.Start));
+ });
});
});
\ No newline at end of file