From d6ba94ccddca59d0e56faf912be23137adf4fe1a Mon Sep 17 00:00:00 2001 From: Alan Orozco Date: Tue, 23 Feb 2021 18:43:41 -0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20Ensure=20that=20amp-video-docking?= =?UTF-8?q?=20visual=20tests=20lack=20a=20scrollbar=20(#32852)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #32846 --- .../amp-video-docking/amp-video-docking.js | 15 +++++++++++++++ test/visual-diff/visual-tests | 9 ++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/examples/visual-tests/amp-video-docking/amp-video-docking.js b/examples/visual-tests/amp-video-docking/amp-video-docking.js index e451d5f0fc8d..ef2b8c4b8237 100644 --- a/examples/visual-tests/amp-video-docking/amp-video-docking.js +++ b/examples/visual-tests/amp-video-docking/amp-video-docking.js @@ -19,11 +19,26 @@ const { verifySelectorsVisible, } = require('../../../build-system/tasks/visual-diff/helpers'); +function toggleScrollable(page, toggle) { + return page.evaluate((toggle) => { + if (toggle) { + document.querySelector('html').style.removeProperty('overflow'); + } else { + document.querySelector('html').style.overflow = 'hidden'; + } + }, toggle); +} + async function scroll(page, _, target = 'bottom') { + await toggleScrollable(page, true); + await page.tap(`#scroll-${target}-button`); // Scrolling takes 500ms as defined by the runtime, and leeway. await page.waitForTimeout(700); + + // Ensures that scrollbar is hidden before capture. + await toggleScrollable(page, false); } async function dock(page, name) { diff --git a/test/visual-diff/visual-tests b/test/visual-diff/visual-tests index a213697b19af..cfd636bb53c1 100644 --- a/test/visual-diff/visual-tests +++ b/test/visual-diff/visual-tests @@ -798,21 +798,24 @@ "name": "amp-video-docking (left-to-right)", "viewport": {"width": 800, "height": 600}, "interactive_tests": "examples/visual-tests/amp-video-docking/amp-video-docking.js", - "loading_complete_selectors": [".i-amphtml-video-interface"] + "loading_complete_selectors": [".i-amphtml-video-interface"], + "no_base_test": true }, { "url": "examples/visual-tests/amp-video-docking/rtl.html", "name": "amp-video-docking (right-to-left)", "viewport": {"width": 800, "height": 600}, "interactive_tests": "examples/visual-tests/amp-video-docking/amp-video-docking.js", - "loading_complete_selectors": [".i-amphtml-video-interface"] + "loading_complete_selectors": [".i-amphtml-video-interface"], + "no_base_test": true }, { "url": "examples/visual-tests/amp-video-docking/slot.html", "name": "amp-video-docking (slot)", "viewport": {"width": 800, "height": 600}, "interactive_tests": "examples/visual-tests/amp-video-docking/amp-video-docking.js", - "loading_complete_selectors": [".i-amphtml-video-interface"] + "loading_complete_selectors": [".i-amphtml-video-interface"], + "no_base_test": true }, { "url": "examples/visual-tests/amp-story-player/back-button.html",