Hello
{"ScriptPreparationCode":"isMinViewportSize = false;\r\nminViewportSize = 500\r\n\r\nfunction setIsMinViewportSize(value) {\r\n if (isMinViewportSize !== value) {\r\n isMinViewportSize = value;\r\n // simulate rendering\r\n getComputedStyle(document.body)\r\n }\r\n}\r\n\r\nfunction resize() {\r\n let direction = \u0027up\u0027;\r\n for (let i = 400; direction === \u0027up\u0027 || i \u003E 400; direction === \u0027up\u0027 ? i\u002B\u002B : i--) {\r\n window.resizeTo(i, 1000)\r\n if (i === 600) { // up 200, down 200\r\n direction = \u0027down\u0027;\r\n }\r\n }\r\n}","TestCases":[{"Name":"resize event","Code":"const handleResize = event =\u003E {\r\n setIsMinViewportSize(window.innerWidth \u003E= minViewportSize);\r\n}\r\n\r\nwindow.addEventListener(\u0022resize\u0022, handleResize);\r\n\r\nresize();","IsDeferred":false},{"Name":"matchMedia","Code":"const handleMatchChange = ({ matches }) =\u003E {\r\n\tsetIsMinViewportSize(matches);\r\n}\r\nconst match1 = window.matchMedia(\u0060screen and (min-width: ${minViewportSize}px)\u0060)\r\nmatch1.addEventListener(\u0027change\u0027, handleMatchChange);\r\n\r\nresize();","IsDeferred":false},{"Name":"ResizeObserver","Code":"const observer = new ResizeObserver(entries =\u003E {\r\n\tsetIsMinViewportSize(entries[0].contentRect.width \u003E= minViewportSize)\r\n})\r\n\r\nobserver.observe(document.body)\r\n\r\nresize();","IsDeferred":false}]}