Skip to content

Commit f9a8739

Browse files
committed
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
1 parent 9372f2e commit f9a8739

File tree

2 files changed

+131
-6
lines changed

2 files changed

+131
-6
lines changed

testing/web-platform/tests/webdriver/tests/bidi/emulation/set_locale_override/user_contexts.py

Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ async def test_set_to_multiple_user_contexts(
100100
async def test_set_to_user_context_and_then_to_context(
101101
bidi_session,
102102
create_user_context,
103-
new_tab,
104103
get_current_locale,
105104
default_locale,
106105
some_locale,
@@ -138,10 +137,74 @@ async def test_set_to_user_context_and_then_to_context(
138137
# Make sure that the locale override for the user context is applied.
139138
assert await get_current_locale(context_in_user_context_2) == some_locale
140139

140+
# Reset the override for context.
141141
await bidi_session.emulation.set_locale_override(
142142
contexts=[context_in_user_context_1["context"]],
143143
locale=None,
144144
)
145145

146-
# Make sure that the locale override was reset.
146+
# Make sure that the locale override is set to user context value.
147+
assert await get_current_locale(context_in_user_context_1) == some_locale
148+
149+
# Reset the override for user context.
150+
await bidi_session.emulation.set_locale_override(
151+
user_contexts=[user_context],
152+
locale=None,
153+
)
154+
155+
# Make sure that the locale override is reset.
147156
assert await get_current_locale(context_in_user_context_1) == default_locale
157+
158+
159+
async def test_set_to_context_and_then_to_user_context(
160+
bidi_session,
161+
create_user_context,
162+
get_current_locale,
163+
default_locale,
164+
some_locale,
165+
another_locale
166+
):
167+
user_context = await create_user_context()
168+
context_in_user_context_1 = await bidi_session.browsing_context.create(
169+
user_context=user_context, type_hint="tab"
170+
)
171+
172+
# Apply locale override to the context.
173+
await bidi_session.emulation.set_locale_override(
174+
contexts=[context_in_user_context_1["context"]], locale=some_locale
175+
)
176+
177+
assert await get_current_locale(context_in_user_context_1) == some_locale
178+
179+
# Apply locale override to the user context.
180+
await bidi_session.emulation.set_locale_override(
181+
user_contexts=[user_context], locale=another_locale
182+
)
183+
184+
# Make sure that context has still the context locale override.
185+
assert await get_current_locale(context_in_user_context_1) == some_locale
186+
187+
await bidi_session.browsing_context.reload(
188+
context=context_in_user_context_1["context"], wait="complete"
189+
)
190+
191+
# Make sure that after reload the locale still has the context locale override.
192+
assert await get_current_locale(context_in_user_context_1) == some_locale
193+
194+
# Create a new context in the user context.
195+
context_in_user_context_2 = await bidi_session.browsing_context.create(
196+
user_context=user_context, type_hint="tab"
197+
)
198+
# Make sure that the locale override for the user context is applied.
199+
assert await get_current_locale(context_in_user_context_2) == another_locale
200+
201+
# Reset override for user context.
202+
await bidi_session.emulation.set_locale_override(
203+
user_contexts=[user_context],
204+
locale=None,
205+
)
206+
207+
# Make sure that the locale override for the first context is still set.
208+
assert await get_current_locale(context_in_user_context_1) == some_locale
209+
# Make sure that the locale override for the second context is reset.
210+
assert await get_current_locale(context_in_user_context_2) == default_locale

testing/web-platform/tests/webdriver/tests/bidi/emulation/set_timezone_override/user_contexts.py

Lines changed: 66 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ async def test_set_to_multiple_user_contexts(
105105
async def test_set_to_user_context_and_then_to_context(
106106
bidi_session,
107107
create_user_context,
108-
new_tab,
109108
get_current_timezone,
110109
default_timezone,
111110
some_timezone,
@@ -146,11 +145,74 @@ async def test_set_to_user_context_and_then_to_context(
146145
assert await get_current_timezone(
147146
context_in_user_context_2) == some_timezone
148147

148+
# Reset the override for context.
149149
await bidi_session.emulation.set_timezone_override(
150150
contexts=[context_in_user_context_1["context"]],
151151
timezone=None,
152152
)
153153

154-
# Make sure that the timezone override was reset.
155-
assert await get_current_timezone(
156-
context_in_user_context_1) == default_timezone
154+
# Make sure that the timezone override is set to user context value.
155+
assert await get_current_timezone(context_in_user_context_1) == some_timezone
156+
157+
# Reset the override for user context.
158+
await bidi_session.emulation.set_timezone_override(
159+
user_contexts=[user_context],
160+
timezone=None,
161+
)
162+
163+
# Make sure that the timezone override is reset.
164+
assert await get_current_timezone(context_in_user_context_1) == default_timezone
165+
166+
167+
async def test_set_to_context_and_then_to_user_context(
168+
bidi_session,
169+
create_user_context,
170+
get_current_timezone,
171+
default_timezone,
172+
some_timezone,
173+
another_timezone,
174+
):
175+
user_context = await create_user_context()
176+
context_in_user_context_1 = await bidi_session.browsing_context.create(
177+
user_context=user_context, type_hint="tab"
178+
)
179+
180+
# Apply timezone override to the context.
181+
await bidi_session.emulation.set_timezone_override(
182+
contexts=[context_in_user_context_1["context"]], timezone=some_timezone
183+
)
184+
185+
assert await get_current_timezone(context_in_user_context_1) == some_timezone
186+
187+
# Apply timezone override to the user context.
188+
await bidi_session.emulation.set_timezone_override(
189+
user_contexts=[user_context], timezone=another_timezone
190+
)
191+
192+
# Make sure that context has still the context timezone override.
193+
assert await get_current_timezone(context_in_user_context_1) == some_timezone
194+
195+
await bidi_session.browsing_context.reload(
196+
context=context_in_user_context_1["context"], wait="complete"
197+
)
198+
199+
# Make sure that after reload the timezone still has the context locale override.
200+
assert await get_current_timezone(context_in_user_context_1) == some_timezone
201+
202+
# Create a new context in the user context.
203+
context_in_user_context_2 = await bidi_session.browsing_context.create(
204+
user_context=user_context, type_hint="tab"
205+
)
206+
# Make sure that the timezone override for the user context is applied.
207+
assert await get_current_timezone(context_in_user_context_2) == another_timezone
208+
209+
# Reset override for user context.
210+
await bidi_session.emulation.set_timezone_override(
211+
user_contexts=[user_context],
212+
timezone=None,
213+
)
214+
215+
# Make sure that the timezone override for the first context is still set.
216+
assert await get_current_timezone(context_in_user_context_1) == some_timezone
217+
# Make sure that the timezone override for the second context is reset.
218+
assert await get_current_timezone(context_in_user_context_2) == default_timezone

0 commit comments

Comments
 (0)