abc
def
ghi
{"ScriptPreparationCode":"var context = document.getElementById(\u0027provider\u0027);\r\nvar element = document.getElementById(\u0027foo\u0027);","TestCases":[{"Name":"while loop \u002B tagName check","Code":"var i = 5000;\r\nwhile (i--) {\r\n let ctx = element;\r\n while (ctx \u0026\u0026 ctx.nodeName !== \u0027CONTEXTPROVIDER\u0027) {\r\n ctx = ctx.assignedSlot || ctx.parentNode || ctx.host;\r\n }\r\n if (ctx !== context) {\r\n throw new Error(\u0027mismatch\u0027);\r\n }\r\n}","IsDeferred":false},{"Name":"while loop \u002B instanceof check","Code":"var i = 5000;\r\nwhile (i--) {\r\n let ctx = element;\r\n while (ctx \u0026\u0026 !(ctx instanceof HTMLUnknownElement)) {\r\n ctx = ctx.assignedSlot || ctx.parentNode || ctx.host;\r\n }\r\n if (ctx !== context) {\r\n throw new Error(\u0027mismatch\u0027);\r\n }\r\n}","IsDeferred":false},{"Name":"while loop \u002B consturctor check","Code":"var i = 5000;\r\nwhile (i--) {\r\n let ctx = element;\r\n while (ctx \u0026\u0026 ctx.constructor !== HTMLUnknownElement) {\r\n ctx = ctx.assignedSlot || ctx.parentNode || ctx.host;\r\n }\r\n if (ctx !== context) {\r\n throw new Error(\u0027mismatch\u0027);\r\n }\r\n}","IsDeferred":false}]}