tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit ec8675519a915aab8986a6ce276953f7aa719e64
parent 84fdb85a44eb8fdf40606cbcd33cda674e96879d
Author: Atila Butkovits <abutkovits@mozilla.com>
Date:   Thu,  8 Jan 2026 03:58:29 +0200

Revert "Bug 2006477 - fix webcompat interventions automated tests; r=ksenia" for causing failures at browser_interventions.js

This reverts commit 8403eccdc0e46ab9f5152e0763b90b463e4aaf54.

Revert "Bug 1987351 - remove our webcompat intervention for mirage.decart.ai; r=ksenia,webcompat-reviewers"

This reverts commit e6fec86e66e1a8b8f78a104c1856c8bee967ed19.

Revert "Bug 1974686 - remove our webcompat intervention for www.hermes.admin.ch; r=ksenia,webcompat-reviewers"

This reverts commit 8dc1e66f6c1f41ccfa978bbd6545693e44c6ae6f.

Revert "Bug 1992923 - remove our webcompat intervention for godotfest.com; r=ksenia,webcompat-reviewers"

This reverts commit bfe029cc7387fd3f44365d4f34fed57b859ca2b0.

Revert "Bug 1902378 - remove our UA override for acesso.processo.rio; r=ksenia,webcompat-reviewers"

This reverts commit 193ab775afd49cbd0f2b1a0049188f44f2498a86.

Revert "Bug 1913720 - update our webcompat intervention for CitrusLabs; r=ksenia,webcompat-reviewers"

This reverts commit 18391cf2f8a91ac6ee8ff410199cec834e74f51c.

Revert "Bug 1902520 - update our webcompat UA spoofs to use Windows 11 for Chrome and version 26.1 for Safari; r=ksenia,webcompat-reviewers"

This reverts commit 80e6caf3565db055e68a3e0fb5610c5c6f1ea3a7.

Revert "Bug 1898994 - remove our UA override for eportal.uestc.edu.cn; r=ksenia,webcompat-reviewers"

This reverts commit 93f7dd1c8c55bfbd0567b3c13797a28a1b394207.

Revert "Bug 1898928 - remove our UA override for cleanfeed.net; r=ksenia,webcompat-reviewers"

This reverts commit ba38bd47fcbfaab3e36d256cc4f12ae0bc33bdf0.

Diffstat:
Mbrowser/extensions/webcompat/data/interventions.json | 101++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
Abrowser/extensions/webcompat/injections/css/1992923-godotfest.com-fix-blur-effects.css | 30++++++++++++++++++++++++++++++
Abrowser/extensions/webcompat/injections/css/bug1974686-hermes_admin_ch.css | 17+++++++++++++++++
Abrowser/extensions/webcompat/injections/js/bug1928941-oasis.decart.ai-window-chrome-shim.js | 21+++++++++++++++++++++
Mbrowser/extensions/webcompat/lib/ua_helpers.js | 4++--
Mbrowser/extensions/webcompat/manifest.json | 2+-
Mtesting/webcompat/interventions/tests/test_1848713_cleanrider_com.py | 35++++++++++-------------------------
Mtesting/webcompat/interventions/tests/test_1897941_biodiscover_com.py | 4++--
Mtesting/webcompat/interventions/tests/test_1898928_cleanfeed_net.py | 14++++++++++----
Atesting/webcompat/interventions/tests/test_1898994_eportal_uestc_edu_cn.py | 22++++++++++++++++++++++
Atesting/webcompat/interventions/tests/test_1902378_acesso_processo_rio.py | 22++++++++++++++++++++++
Mtesting/webcompat/interventions/tests/test_1913720_cotota_app.py | 21++++++++++++++++++++-
Dtesting/webcompat/interventions/tests/test_1913720_h2breeze_com.py | 33---------------------------------
Mtesting/webcompat/interventions/tests/test_1974686_hermes_admin_ch.py | 28++++++++++++++++++++++++++--
Atesting/webcompat/interventions/tests/test_1987351_mirage_decart_ai.py | 21+++++++++++++++++++++
Mtesting/webcompat/interventions/tests/test_1992923_godotfest_com.py | 23+++++++++++++++--------
Mtesting/webcompat/interventions/tests/test_2003826_tjoy_jp.py | 12++++--------
17 files changed, 323 insertions(+), 87 deletions(-)

diff --git a/browser/extensions/webcompat/data/interventions.json b/browser/extensions/webcompat/data/interventions.json @@ -2146,6 +2146,21 @@ } ] }, + "1898928": { + "label": "cleanfeed.net", + "bugs": { + "1898928": { + "issue": "firefox-blocked-completely", + "matches": ["*://cleanfeed.net/*"] + } + }, + "interventions": [ + { + "platforms": ["all"], + "ua_string": ["add_Chrome"] + } + ] + }, "1898929": { "label": "app.sessionlinkpro.com", "bugs": { @@ -2431,6 +2446,21 @@ } ] }, + "1898994": { + "label": "eportal.uestc.edu.cn", + "bugs": { + "1898994": { + "issue": "firefox-blocked-completely", + "matches": ["*://eportal.uestc.edu.cn/*"] + } + }, + "interventions": [ + { + "platforms": ["all"], + "ua_string": ["add_Chrome"] + } + ] + }, "1898996": { "label": "oculus.com and meta.com", "bugs": { @@ -2689,6 +2719,21 @@ } ] }, + "1902378": { + "label": "acesso.processo.rio", + "bugs": { + "1902378": { + "issue": "unsupported-warning", + "matches": ["*://acesso.processo.rio/*"] + } + }, + "interventions": [ + { + "platforms": ["all"], + "ua_string": ["add_Chrome"] + } + ] + }, "1902379": { "label": "adl.edu.tw", "bugs": { @@ -3513,7 +3558,7 @@ "bugs": { "1913720": { "issue": "firefox-blocked-completely", - "matches": ["https://h2breeze.com/*", "https://is-sets.com/*"] + "matches": ["*://cotota.app/*", "https://is-sets.com/*"] } }, "interventions": [ @@ -5458,6 +5503,25 @@ } ] }, + "1974686": { + "label": "hermes.admin.ch", + "bugs": { + "1974686": { + "issue": "broken-layout", + "matches": [ + "*://www.hermes.admin.ch/de/projektmanagement/szenarien/it-entwicklung/szenariouebersicht.html*" + ] + } + }, + "interventions": [ + { + "platforms": ["all"], + "content_scripts": { + "css": ["bug1974686-hermes_admin_ch.css"] + } + } + ] + }, "1980129": { "label": "app.simplenote.com", "bugs": { @@ -5635,6 +5699,24 @@ } ] }, + "1987351": { + "label": "mirage.decart.ai", + "bugs": { + "1987351": { + "issue": "firefox-blocked-completely", + "matches": ["*://mirage.decart.ai/*"] + } + }, + "interventions": [ + { + "platforms": ["all"], + "content_scripts": { + "js": ["bug1928941-oasis.decart.ai-window-chrome-shim.js"] + }, + "ua_string": ["Chrome", "add_Firefox_as_Gecko"] + } + ] + }, "1989241": { "label": "useinsider.com", "bugs": { @@ -5695,6 +5777,23 @@ } ] }, + "1992923": { + "label": "godotfest.com", + "bugs": { + "1992923": { + "issue": "broken-images", + "matches": ["*://godotfest.com/*"] + } + }, + "interventions": [ + { + "platforms": ["android"], + "content_scripts": { + "css": ["1992923-godotfest.com-fix-blur-effects.css"] + } + } + ] + }, "1993201": { "label": "portal.pilot.ly", "bugs": { diff --git a/browser/extensions/webcompat/injections/css/1992923-godotfest.com-fix-blur-effects.css b/browser/extensions/webcompat/injections/css/1992923-godotfest.com-fix-blur-effects.css @@ -0,0 +1,30 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/** + * godotfest.com - Blur effects are disabled on Android + * Bug #1992923 - https://bugzilla.mozilla.org/show_bug.cgi?id=1992923 + * WebCompat issue #41822 - https://webcompat.com/issues/41822 + * + * The site appears to be intentionally disabling blur effects on Firefox for + * an unknown reason, with broken-looking fallbacks. Let's enable blur again. + */ +@supports (-moz-appearance: none) { + @media (hover: none) and (pointer: coarse) { + #background-blur, + #menu-blur { + display: revert !important; + } + .backdrop-blur, + .backdrop-blur-sm, + .backdrop-blur-2xl { + --tw-backdrop-blur: blur(var(--blur-2xl)); + backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) + var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,) !important; + } + } + .talk-card__bg { + filter: var(--talk-bg-filter) !important; + } +} diff --git a/browser/extensions/webcompat/injections/css/bug1974686-hermes_admin_ch.css b/browser/extensions/webcompat/injections/css/bug1974686-hermes_admin_ch.css @@ -0,0 +1,17 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/** + * hermes.admin.ch - table cells overlap + * Bug #1974686 - https://bugzilla.mozilla.org/show_bug.cgi?id=1974686 + * + * The page sets a 1px height on its table cells, which has interop issues. + * We can unset that and adjust their other CSS to improve the situation. + */ +.hermespjm-projektuebersicht-row { + height: unset; +} +.hermespjm-projektuebersicht-cell-verantwortlicher { + position: static; +} diff --git a/browser/extensions/webcompat/injections/js/bug1928941-oasis.decart.ai-window-chrome-shim.js b/browser/extensions/webcompat/injections/js/bug1928941-oasis.decart.ai-window-chrome-shim.js @@ -0,0 +1,21 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +/** + * Bug 1928941 - UA spoof for oasis.decart.ai + * Bug 1987351 - UA spoof for mirage.decart.ai + * + * These sites are checking for window.chrome, so let's spoof that. + */ + +/* globals exportFunction */ + +const bug = location.origin.includes("mirage.decart.ai") ? 1987351 : 1928941; +console.info( + `window.chrome has been shimmed for compatibility reasons. https://bugzilla.mozilla.org/show_bug.cgi?id=${bug} for details.` +); + +window.wrappedJSObject.chrome = new window.wrappedJSObject.Object(); diff --git a/browser/extensions/webcompat/lib/ua_helpers.js b/browser/extensions/webcompat/lib/ua_helpers.js @@ -47,7 +47,7 @@ var UAHelpers = { `Mozilla/5.0 (Linux; ${AndroidVersion}; ${tablet}) ${fxQuantum}AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${version} Safari/537.36`; } } else { - const WIN_SEGMENT = "Windows NT 11.0; Win64; x64"; + const WIN_SEGMENT = "Windows NT 10.0; Win64; x64"; let osSegment; if (OS === "macOS" || (noOSGiven && userAgent.includes("Macintosh"))) { osSegment = "Macintosh; Intel Mac OS X 10_15_7"; @@ -83,7 +83,7 @@ var UAHelpers = { return `${ua} AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${version} ${isMobile ? "Mobile " : ""}Safari/537.36`; }, safari(config = {}) { - const version = config.version || "26.1"; + const version = config.version || "18.1"; const webkitVersion = config.webkitVersion || "605.1.15"; const osVersion = config.osVersion?.replace(".", "_") || "10_15_7"; const arch = config.arch || "Intel"; diff --git a/browser/extensions/webcompat/manifest.json b/browser/extensions/webcompat/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "Web Compatibility Interventions", "description": "Urgent post-release fixes for web compatibility.", - "version": "148.5.0", + "version": "148.4.0", "browser_specific_settings": { "gecko": { "id": "webcompat@mozilla.org", diff --git a/testing/webcompat/interventions/tests/test_1848713_cleanrider_com.py b/testing/webcompat/interventions/tests/test_1848713_cleanrider_com.py @@ -9,11 +9,9 @@ PRICE_SECTION_CSS = "#block-prix" MIN_THUMB_CSS = "#block-prix .range-min-bullet" -async def can_interact_with_slider(client, platform): +async def can_interact_with_slider(client): await client.navigate(URL, wait="none") - client.hide_elements("#opd_bottomstickyad") - try: client.await_css(COOKIES_CSS, is_displayed=True, timeout=5).click() except NoSuchElementException: @@ -25,16 +23,11 @@ async def can_interact_with_slider(client, platform): if not client.is_displayed(price): client.execute_script("arguments[0].remove()", price) - min_thumb = client.await_css(MIN_THUMB_CSS, is_displayed=True) - if platform == "android": - for x in range(5): - client.await_css( - '[\\@click="openMobile = true"]', is_displayed=True - ).click() - await client.stall(0.5) - if client.await_css('[\\@click="openMobile = false"]', is_displayed=True): - break - + min_thumb = client.await_css(MIN_THUMB_CSS) + mobile_filter = client.find_css('[\\@click="openMobile = true"]') + if mobile_filter and client.is_displayed(mobile_filter): + client.scroll_into_view(mobile_filter) + mobile_filter.click() # wait for the button to slide onscreen client.execute_async_script( """ @@ -49,14 +42,6 @@ async def can_interact_with_slider(client, platform): min_thumb, ) - coords = client.get_element_screen_position(min_thumb) - coords = [coords[0] + 4, coords[1] + 4] - await client.apz_down(coords=coords) - for i in range(25): - await client.stall(0.01) - coords[0] += 5 - await client.apz_move(coords=coords) - # we can detect the broken case as the element will not receive mouse events. client.execute_script( """ @@ -83,11 +68,11 @@ async def can_interact_with_slider(client, platform): @pytest.mark.asyncio @pytest.mark.with_interventions -async def test_enabled(client, platform): - assert await can_interact_with_slider(client, platform) +async def test_enabled(client): + assert await can_interact_with_slider(client) @pytest.mark.asyncio @pytest.mark.without_interventions -async def test_disabled(client, platform): - assert not await can_interact_with_slider(client, platform) +async def test_disabled(client): + assert not await can_interact_with_slider(client) diff --git a/testing/webcompat/interventions/tests/test_1897941_biodiscover_com.py b/testing/webcompat/interventions/tests/test_1897941_biodiscover_com.py @@ -10,7 +10,7 @@ MOBILE_CSS = ".title > .more" @pytest.mark.with_interventions async def test_enabled(client): await client.navigate(URL, wait="none") - assert client.await_css(MOBILE_CSS, is_displayed=True, timeout=60) + assert client.await_css(MOBILE_CSS, is_displayed=True, timeout=30) assert not client.find_css(DESKTOP_CSS, is_displayed=True) @@ -19,5 +19,5 @@ async def test_enabled(client): @pytest.mark.without_interventions async def test_disabled(client): await client.navigate(URL, wait="none") - assert client.await_css(DESKTOP_CSS, is_displayed=True, timeout=60) + assert client.await_css(DESKTOP_CSS, is_displayed=True, timeout=30) assert not client.find_css(MOBILE_CSS, is_displayed=True) diff --git a/testing/webcompat/interventions/tests/test_1898928_cleanfeed_net.py b/testing/webcompat/interventions/tests/test_1898928_cleanfeed_net.py @@ -2,12 +2,18 @@ import pytest URL = "https://cleanfeed.net/sign-up" -UNSUPPORTED_TEXT = "compatible" +UNSUPPORTED_CSS = "#unsupported-browser" + + +@pytest.mark.asyncio +@pytest.mark.with_interventions +async def test_enabled(client): + await client.navigate(URL) + assert not client.find_css(UNSUPPORTED_CSS, is_displayed=True) @pytest.mark.asyncio @pytest.mark.without_interventions -async def test_regression(client): +async def test_disabled(client): await client.navigate(URL) - await client.stall(3) - assert not client.find_text(UNSUPPORTED_TEXT, is_displayed=True) + assert client.await_css(UNSUPPORTED_CSS, is_displayed=True) diff --git a/testing/webcompat/interventions/tests/test_1898994_eportal_uestc_edu_cn.py b/testing/webcompat/interventions/tests/test_1898994_eportal_uestc_edu_cn.py @@ -0,0 +1,22 @@ +import pytest + +URL = "https://eportal.uestc.edu.cn/new/portal/browerTips.html" + +SUPPORTED_CSS = "input[id=username], #ampLoginArticle" +UNSUPPORTED_CSS = "#norSupportBrowser" + + +@pytest.mark.asyncio +@pytest.mark.with_interventions +async def test_enabled(client): + await client.navigate(URL) + client.await_css(SUPPORTED_CSS, is_displayed=True) + assert not client.find_css(UNSUPPORTED_CSS, is_displayed=True) + + +@pytest.mark.asyncio +@pytest.mark.without_interventions +async def test_disabled(client): + await client.navigate(URL) + client.await_css(UNSUPPORTED_CSS, is_displayed=True) + assert not client.find_css(SUPPORTED_CSS, is_displayed=True) diff --git a/testing/webcompat/interventions/tests/test_1902378_acesso_processo_rio.py b/testing/webcompat/interventions/tests/test_1902378_acesso_processo_rio.py @@ -0,0 +1,22 @@ +import asyncio + +import pytest + +URL = "https://acesso.processo.rio/" + +FAILURE_TEXT = "Google Chrome" + + +@pytest.mark.asyncio +@pytest.mark.with_interventions +async def test_enabled(client): + await client.navigate(URL) + await asyncio.sleep(3) + assert not client.find_text(FAILURE_TEXT, is_displayed=True) + + +@pytest.mark.asyncio +@pytest.mark.without_interventions +async def test_disabled(client): + await client.navigate(URL) + assert client.await_text(FAILURE_TEXT, is_displayed=True) diff --git a/testing/webcompat/interventions/tests/test_1913720_cotota_app.py b/testing/webcompat/interventions/tests/test_1913720_cotota_app.py @@ -2,13 +2,32 @@ import pytest URL = "https://cotota.app/" -SUCCESS_CSS = "#email" +SUCCESS_CSS = "#content" BLOCKED_TEXT = "403 Forbidden" +@pytest.mark.skip_platforms("android") @pytest.mark.asyncio @pytest.mark.with_interventions async def test_enabled(client): await client.navigate(URL, wait="none") assert client.await_css(SUCCESS_CSS, is_displayed=True, timeout=20) assert not client.find_text(BLOCKED_TEXT, is_displayed=True) + + +@pytest.mark.skip_platforms("android") +@pytest.mark.asyncio +@pytest.mark.without_interventions +async def test_disabled(client): + await client.navigate(URL, wait="none") + assert client.await_text(BLOCKED_TEXT, is_displayed=True, timeout=20) + assert not client.find_css(SUCCESS_CSS, is_displayed=True) + + +@pytest.mark.only_platforms("android") +@pytest.mark.asyncio +@pytest.mark.without_interventions +async def test_disabled_mobile(client): + await client.navigate(URL, wait="none") + assert client.await_css(SUCCESS_CSS, is_displayed=True, timeout=20) + assert not client.find_text(BLOCKED_TEXT, is_displayed=True) diff --git a/testing/webcompat/interventions/tests/test_1913720_h2breeze_com.py b/testing/webcompat/interventions/tests/test_1913720_h2breeze_com.py @@ -1,33 +0,0 @@ -import pytest - -URL = "https://h2breeze.com/" - -SUCCESS_CSS = "#email" -BLOCKED_TEXT = "403 Forbidden" - - -@pytest.mark.skip_platforms("android") -@pytest.mark.asyncio -@pytest.mark.with_interventions -async def test_enabled(client): - await client.navigate(URL, wait="none") - assert client.await_css(SUCCESS_CSS, is_displayed=True, timeout=20) - assert not client.find_text(BLOCKED_TEXT, is_displayed=True) - - -@pytest.mark.skip_platforms("android") -@pytest.mark.asyncio -@pytest.mark.without_interventions -async def test_disabled(client): - await client.navigate(URL, wait="none") - assert client.await_text(BLOCKED_TEXT, is_displayed=True, timeout=20) - assert not client.find_css(SUCCESS_CSS, is_displayed=True) - - -@pytest.mark.only_platforms("android") -@pytest.mark.asyncio -@pytest.mark.without_interventions -async def test_disabled_mobile(client): - await client.navigate(URL, wait="none") - assert client.await_css(SUCCESS_CSS, is_displayed=True, timeout=20) - assert not client.find_text(BLOCKED_TEXT, is_displayed=True) diff --git a/testing/webcompat/interventions/tests/test_1974686_hermes_admin_ch.py b/testing/webcompat/interventions/tests/test_1974686_hermes_admin_ch.py @@ -2,9 +2,33 @@ import pytest URL = "https://www.hermes.admin.ch/de/projektmanagement/szenarien/it-entwicklung/szenariouebersicht.html" +CELLS_CSS = ".hermespjm-projektuebersicht-cell" + + +async def are_table_cells_collapsed(client): + await client.navigate(URL, wait="none") + client.await_css(CELLS_CSS, is_displayed=True) + return client.execute_script( + """ + const cells = document.querySelectorAll(arguments[0]); + for (const cell of cells) { + if (cell.clientHeight < cell.scrollHeight) { + return true; + } + } + return false; + """, + CELLS_CSS, + ) + + +@pytest.mark.asyncio +@pytest.mark.with_interventions +async def test_enabled(client): + assert not await are_table_cells_collapsed(client) + @pytest.mark.asyncio @pytest.mark.without_interventions async def test_disabled(client): - await client.navigate(URL, wait="none") - client.await_text("404", is_displayed=True) + assert await are_table_cells_collapsed(client) diff --git a/testing/webcompat/interventions/tests/test_1987351_mirage_decart_ai.py b/testing/webcompat/interventions/tests/test_1987351_mirage_decart_ai.py @@ -0,0 +1,21 @@ +import pytest + +URL = "https://mirage.decart.ai/terms-of-service" + +SUPPORTED_TEXT = "Terms of Service" +UNSUPPORTED_TEXT = "work properly in Firefox" + + +@pytest.mark.asyncio +@pytest.mark.with_interventions +async def test_enabled(client): + await client.navigate(URL) + assert client.await_text(SUPPORTED_TEXT, is_displayed=True) + assert not client.find_text(UNSUPPORTED_TEXT, is_displayed=True) + + +@pytest.mark.asyncio +@pytest.mark.without_interventions +async def test_disabled(client): + await client.navigate(URL) + assert client.await_text(UNSUPPORTED_TEXT, is_displayed=True) diff --git a/testing/webcompat/interventions/tests/test_1992923_godotfest_com.py b/testing/webcompat/interventions/tests/test_1992923_godotfest_com.py @@ -3,6 +3,7 @@ import pytest URL = "https://godotfest.com/talks" TOP_BAR_BLUR_CSS = "#menu-blur" +HERO_CSS = ".talk-card__body" async def are_blurs_working(client): @@ -15,20 +16,19 @@ async def are_blurs_working(client): client.add_stylesheet( """ * { color: transparent !important; } - #test { position: fixed; color: white !important; } svg { display: none; } """ ) top_bar_blur = client.await_css(TOP_BAR_BLUR_CSS) + hero = client.await_css(HERO_CSS, is_displayed=True) + # scroll down to a point where the site enables the blur and something obvious is behind. client.execute_script( """ - const test = document.createElement("div"); - test.innerText = test.id = "test"; - document.body.insertBefore(test, document.body.firstElementChild); - window.scrollTo({ top: 200, behavior: 'instant' }); - """ + arguments[0].scrollIntoView({behavior: "instant", block: "start"}); + """, + hero, ) # now take a screenshot, remove the blur element, and compare. @@ -42,6 +42,13 @@ async def are_blurs_working(client): @pytest.mark.only_platforms("android") @pytest.mark.asyncio -@pytest.mark.without_interventions -async def test_regression(client): +@pytest.mark.with_interventions +async def test_enabled(client): assert await are_blurs_working(client) + + +@pytest.mark.only_platforms("android") +@pytest.mark.asyncio +@pytest.mark.without_interventions +async def test_disabled(client): + assert not await are_blurs_working(client) diff --git a/testing/webcompat/interventions/tests/test_2003826_tjoy_jp.py b/testing/webcompat/interventions/tests/test_2003826_tjoy_jp.py @@ -5,8 +5,8 @@ import pytest URL = "https://tjoy.jp/shinjuku_wald9#schedule-content" DATES_CSS = ".calendar-item" -CARD_CSS = ".card-header.js-card-click" -RESERVE_CSS = ".schedule-box-body[onclick*=reservation]" +CARD_CSS = ".card-header" +RESERVE_CSS = ".schedule-box-body" ZOOM_WRAPPER_CSS = ".js-zoom-in" MAP_CSS = ".js-map" @@ -21,12 +21,8 @@ async def does_correct_zoom(client): # Note that today's movies can be already closed for sale. dates = client.await_css(DATES_CSS, all=True) dates[1].click() - tomorrows_movie_cards = client.await_css(CARD_CSS, is_displayed=True, all=True) - - # some movies don't always have any available seats, so open the first five. - for elem in tomorrows_movie_cards[:5]: - elem.click() - + tomorrows_movie_card = client.await_css(CARD_CSS, is_displayed=True) + tomorrows_movie_card.click() reserve = client.await_css(RESERVE_CSS, is_displayed=True) # The element is overlapped by another one, so we have to use javascript to click it. client.execute_script("arguments[0].click()", reserve)