diff --git a/tests/cases/fourslash/breakpointValidationDestructuringAssignmentForObjectBindingPattern.ts b/tests/cases/fourslash/breakpointValidationDestructuringAssignmentForObjectBindingPattern.ts
new file mode 100644
index 00000000000..298fb2f9580
--- /dev/null
+++ b/tests/cases/fourslash/breakpointValidationDestructuringAssignmentForObjectBindingPattern.ts
@@ -0,0 +1,107 @@
+///
+
+////declare var console: {
+//// log(msg: any): void;
+////}
+////interface Robot {
+//// name: string;
+//// skill: string;
+////}
+////interface MultiRobot {
+//// name: string;
+//// skills: {
+//// primary: string;
+//// secondary: string;
+//// };
+////}
+////let robot: Robot = { name: "mower", skill: "mowing" };
+////let multiRobot: MultiRobot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
+////function getRobot() {
+//// return robot;
+////}
+////function getMultiRobot() {
+//// return multiRobot;
+////}
+////let nameA: string, primaryA: string, secondaryA: string, i: number, skillA: string;
+////let name: string, primary: string, secondary: string, skill: string;
+////for ({ name: nameA } = robot, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name: nameA } = getRobot(), i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name: nameA } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ skills: { primary: primaryA, secondary: secondaryA } } =
+//// { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
+//// i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ name } = robot, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name } = getRobot(), i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ skills: { primary, secondary } } =
+//// { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
+//// i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ name: nameA, skill: skillA } = robot, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name: nameA, skill: skillA } = getRobot(), i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } =
+//// { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
+//// i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ name, skill } = robot, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name, skill } = getRobot(), i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name, skill } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name, skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ name, skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ name, skills: { primary, secondary } } =
+//// { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
+//// i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+verify.baselineCurrentFileBreakpointLocations();
\ No newline at end of file
diff --git a/tests/cases/fourslash/breakpointValidationDestructuringAssignmentForObjectBindingPatternDefaultValues.ts b/tests/cases/fourslash/breakpointValidationDestructuringAssignmentForObjectBindingPatternDefaultValues.ts
new file mode 100644
index 00000000000..161b58c91c2
--- /dev/null
+++ b/tests/cases/fourslash/breakpointValidationDestructuringAssignmentForObjectBindingPatternDefaultValues.ts
@@ -0,0 +1,168 @@
+///
+////declare var console: {
+//// log(msg: any): void;
+////}
+////interface Robot {
+//// name: string;
+//// skill: string;
+////}
+////interface MultiRobot {
+//// name: string;
+//// skills: {
+//// primary?: string;
+//// secondary?: string;
+//// };
+////}
+////let robot: Robot = { name: "mower", skill: "mowing" };
+////let multiRobot: MultiRobot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
+////function getRobot() {
+//// return robot;
+////}
+////function getMultiRobot() {
+//// return multiRobot;
+////}
+////let nameA: string, primaryA: string, secondaryA: string, i: number, skillA: string;
+////let name: string, primary: string, secondary: string, skill: string;
+////for ({name: nameA = "noName" } = robot, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({name: nameA = "noName" } = getRobot(), i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({name: nameA = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({
+//// skills: {
+//// primary: primaryA = "primary",
+//// secondary: secondaryA = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = multiRobot, i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({
+//// skills: {
+//// primary: primaryA = "primary",
+//// secondary: secondaryA = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = getMultiRobot(), i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({
+//// skills: {
+//// primary: primaryA = "primary",
+//// secondary: secondaryA = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
+//// i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ name = "noName" } = robot, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name = "noName" } = getRobot(), i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({
+//// skills: {
+//// primary = "primary",
+//// secondary = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = multiRobot, i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({
+//// skills: {
+//// primary = "primary",
+//// secondary = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = getMultiRobot(), i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({
+//// skills: {
+//// primary = "primary",
+//// secondary = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
+//// i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({name: nameA = "noName", skill: skillA = "skill" } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({
+//// name: nameA = "noName",
+//// skills: {
+//// primary: primaryA = "primary",
+//// secondary: secondaryA = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = multiRobot, i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({
+//// name: nameA = "noName",
+//// skills: {
+//// primary: primaryA = "primary",
+//// secondary: secondaryA = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = getMultiRobot(), i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({
+//// name: nameA = "noName",
+//// skills: {
+//// primary: primaryA = "primary",
+//// secondary: secondaryA = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
+//// i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({ name = "noName", skill = "skill" } = robot, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name = "noName", skill = "skill" } = getRobot(), i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({ name = "noName", skill = "skill" } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
+//// console.log(nameA);
+////}
+////for ({
+//// name = "noName",
+//// skills: {
+//// primary = "primary",
+//// secondary = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = multiRobot, i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({
+//// name = "noName",
+//// skills: {
+//// primary = "primary",
+//// secondary = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = getMultiRobot(), i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+////for ({
+//// name = "noName",
+//// skills: {
+//// primary = "primary",
+//// secondary = "secondary"
+//// } = { primary: "none", secondary: "none" }
+////} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
+//// i = 0; i < 1; i++) {
+//// console.log(primaryA);
+////}
+verify.baselineCurrentFileBreakpointLocations();