tor-browser

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

commit f9a8739e616f3bbbb1deb9c82c11617ac1922875
parent 9372f2ecaaaefaa44777900e5efe2fb5ac974bb2
Author: Alexandra Borovova <aborovova@mozilla.com>
Date:   Wed, 22 Oct 2025 07:06:59 +0000

Bug 1988725 - [wdspec] Add tests for "emulation.setLocaleOverride" and "emulation.setTimezoneOverride" commands reset behavior. r=webdriver-reviewers,whimboo

Differential Revision: https://phabricator.services.mozilla.com/D269022

Diffstat:
Mtesting/web-platform/tests/webdriver/tests/bidi/emulation/set_locale_override/user_contexts.py | 67+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
Mtesting/web-platform/tests/webdriver/tests/bidi/emulation/set_timezone_override/user_contexts.py | 70++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
2 files changed, 131 insertions(+), 6 deletions(-)

diff --git a/testing/web-platform/tests/webdriver/tests/bidi/emulation/set_locale_override/user_contexts.py b/testing/web-platform/tests/webdriver/tests/bidi/emulation/set_locale_override/user_contexts.py @@ -100,7 +100,6 @@ async def test_set_to_multiple_user_contexts( async def test_set_to_user_context_and_then_to_context( bidi_session, create_user_context, - new_tab, get_current_locale, default_locale, some_locale, @@ -138,10 +137,74 @@ async def test_set_to_user_context_and_then_to_context( # Make sure that the locale override for the user context is applied. assert await get_current_locale(context_in_user_context_2) == some_locale + # Reset the override for context. await bidi_session.emulation.set_locale_override( contexts=[context_in_user_context_1["context"]], locale=None, ) - # Make sure that the locale override was reset. + # Make sure that the locale override is set to user context value. + assert await get_current_locale(context_in_user_context_1) == some_locale + + # Reset the override for user context. + await bidi_session.emulation.set_locale_override( + user_contexts=[user_context], + locale=None, + ) + + # Make sure that the locale override is reset. assert await get_current_locale(context_in_user_context_1) == default_locale + + +async def test_set_to_context_and_then_to_user_context( + bidi_session, + create_user_context, + get_current_locale, + default_locale, + some_locale, + another_locale +): + user_context = await create_user_context() + context_in_user_context_1 = await bidi_session.browsing_context.create( + user_context=user_context, type_hint="tab" + ) + + # Apply locale override to the context. + await bidi_session.emulation.set_locale_override( + contexts=[context_in_user_context_1["context"]], locale=some_locale + ) + + assert await get_current_locale(context_in_user_context_1) == some_locale + + # Apply locale override to the user context. + await bidi_session.emulation.set_locale_override( + user_contexts=[user_context], locale=another_locale + ) + + # Make sure that context has still the context locale override. + assert await get_current_locale(context_in_user_context_1) == some_locale + + await bidi_session.browsing_context.reload( + context=context_in_user_context_1["context"], wait="complete" + ) + + # Make sure that after reload the locale still has the context locale override. + assert await get_current_locale(context_in_user_context_1) == some_locale + + # Create a new context in the user context. + context_in_user_context_2 = await bidi_session.browsing_context.create( + user_context=user_context, type_hint="tab" + ) + # Make sure that the locale override for the user context is applied. + assert await get_current_locale(context_in_user_context_2) == another_locale + + # Reset override for user context. + await bidi_session.emulation.set_locale_override( + user_contexts=[user_context], + locale=None, + ) + + # Make sure that the locale override for the first context is still set. + assert await get_current_locale(context_in_user_context_1) == some_locale + # Make sure that the locale override for the second context is reset. + assert await get_current_locale(context_in_user_context_2) == default_locale diff --git a/testing/web-platform/tests/webdriver/tests/bidi/emulation/set_timezone_override/user_contexts.py b/testing/web-platform/tests/webdriver/tests/bidi/emulation/set_timezone_override/user_contexts.py @@ -105,7 +105,6 @@ async def test_set_to_multiple_user_contexts( async def test_set_to_user_context_and_then_to_context( bidi_session, create_user_context, - new_tab, get_current_timezone, default_timezone, some_timezone, @@ -146,11 +145,74 @@ async def test_set_to_user_context_and_then_to_context( assert await get_current_timezone( context_in_user_context_2) == some_timezone + # Reset the override for context. await bidi_session.emulation.set_timezone_override( contexts=[context_in_user_context_1["context"]], timezone=None, ) - # Make sure that the timezone override was reset. - assert await get_current_timezone( - context_in_user_context_1) == default_timezone + # Make sure that the timezone override is set to user context value. + assert await get_current_timezone(context_in_user_context_1) == some_timezone + + # Reset the override for user context. + await bidi_session.emulation.set_timezone_override( + user_contexts=[user_context], + timezone=None, + ) + + # Make sure that the timezone override is reset. + assert await get_current_timezone(context_in_user_context_1) == default_timezone + + +async def test_set_to_context_and_then_to_user_context( + bidi_session, + create_user_context, + get_current_timezone, + default_timezone, + some_timezone, + another_timezone, +): + user_context = await create_user_context() + context_in_user_context_1 = await bidi_session.browsing_context.create( + user_context=user_context, type_hint="tab" + ) + + # Apply timezone override to the context. + await bidi_session.emulation.set_timezone_override( + contexts=[context_in_user_context_1["context"]], timezone=some_timezone + ) + + assert await get_current_timezone(context_in_user_context_1) == some_timezone + + # Apply timezone override to the user context. + await bidi_session.emulation.set_timezone_override( + user_contexts=[user_context], timezone=another_timezone + ) + + # Make sure that context has still the context timezone override. + assert await get_current_timezone(context_in_user_context_1) == some_timezone + + await bidi_session.browsing_context.reload( + context=context_in_user_context_1["context"], wait="complete" + ) + + # Make sure that after reload the timezone still has the context locale override. + assert await get_current_timezone(context_in_user_context_1) == some_timezone + + # Create a new context in the user context. + context_in_user_context_2 = await bidi_session.browsing_context.create( + user_context=user_context, type_hint="tab" + ) + # Make sure that the timezone override for the user context is applied. + assert await get_current_timezone(context_in_user_context_2) == another_timezone + + # Reset override for user context. + await bidi_session.emulation.set_timezone_override( + user_contexts=[user_context], + timezone=None, + ) + + # Make sure that the timezone override for the first context is still set. + assert await get_current_timezone(context_in_user_context_1) == some_timezone + # Make sure that the timezone override for the second context is reset. + assert await get_current_timezone(context_in_user_context_2) == default_timezone