Skip to content

Commit 8b8140d

Browse files
committed
follow-ups
1 parent 2bbad09 commit 8b8140d

File tree

6 files changed

+46
-36
lines changed

6 files changed

+46
-36
lines changed

playwright/_impl/_clock.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,10 @@ async def set_system_time(
7171

7272

7373
def parse_time(
74-
time: Union[float, int, str, datetime.datetime]
74+
time: Union[float, str, datetime.datetime]
7575
) -> Dict[str, Union[int, str]]:
7676
if isinstance(time, (float, int)):
77-
return {"timeNumber": int(time)}
77+
return {"timeNumber": int(time * 1_000)}
7878
if isinstance(time, str):
7979
return {"timeString": time}
8080
return {"timeNumber": int(time.timestamp() * 1_000)}

playwright/async_api/_generated.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6710,6 +6710,8 @@ async def fast_forward(self, ticks: typing.Union[int, str]) -> None:
67106710
Parameters
67116711
----------
67126712
ticks : Union[int, str]
6713+
Time may be the number of milliseconds to advance the clock by or a human-readable string. Valid string formats are
6714+
"08" for eight seconds, "01:00" for one minute and "02:34:10" for two hours, 34 minutes and ten seconds.
67136715
"""
67146716

67156717
return mapping.from_maybe_impl(await self._impl_obj.fast_forward(ticks=ticks))
@@ -6734,6 +6736,7 @@ async def pause_at(self, time: typing.Union[float, str, datetime.datetime]) -> N
67346736
Parameters
67356737
----------
67366738
time : Union[datetime.datetime, float, str]
6739+
Time to pause at.
67376740
"""
67386741

67396742
return mapping.from_maybe_impl(await self._impl_obj.pause_at(time=time))
@@ -6761,6 +6764,8 @@ async def run_for(self, ticks: typing.Union[int, str]) -> None:
67616764
Parameters
67626765
----------
67636766
ticks : Union[int, str]
6767+
Time may be the number of milliseconds to advance the clock by or a human-readable string. Valid string formats are
6768+
"08" for eight seconds, "01:00" for one minute and "02:34:10" for two hours, 34 minutes and ten seconds.
67646769
"""
67656770

67666771
return mapping.from_maybe_impl(await self._impl_obj.run_for(ticks=ticks))
@@ -6806,6 +6811,7 @@ async def set_system_time(
68066811
Parameters
68076812
----------
68086813
time : Union[datetime.datetime, float, str]
6814+
Time to be set.
68096815
"""
68106816

68116817
return mapping.from_maybe_impl(await self._impl_obj.set_system_time(time=time))

playwright/sync_api/_generated.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6820,6 +6820,8 @@ def fast_forward(self, ticks: typing.Union[int, str]) -> None:
68206820
Parameters
68216821
----------
68226822
ticks : Union[int, str]
6823+
Time may be the number of milliseconds to advance the clock by or a human-readable string. Valid string formats are
6824+
"08" for eight seconds, "01:00" for one minute and "02:34:10" for two hours, 34 minutes and ten seconds.
68236825
"""
68246826

68256827
return mapping.from_maybe_impl(
@@ -6846,6 +6848,7 @@ def pause_at(self, time: typing.Union[float, str, datetime.datetime]) -> None:
68466848
Parameters
68476849
----------
68486850
time : Union[datetime.datetime, float, str]
6851+
Time to pause at.
68496852
"""
68506853

68516854
return mapping.from_maybe_impl(self._sync(self._impl_obj.pause_at(time=time)))
@@ -6873,6 +6876,8 @@ def run_for(self, ticks: typing.Union[int, str]) -> None:
68736876
Parameters
68746877
----------
68756878
ticks : Union[int, str]
6879+
Time may be the number of milliseconds to advance the clock by or a human-readable string. Valid string formats are
6880+
"08" for eight seconds, "01:00" for one minute and "02:34:10" for two hours, 34 minutes and ten seconds.
68766881
"""
68776882

68786883
return mapping.from_maybe_impl(self._sync(self._impl_obj.run_for(ticks=ticks)))
@@ -6918,6 +6923,7 @@ def set_system_time(
69186923
Parameters
69196924
----------
69206925
time : Union[datetime.datetime, float, str]
6926+
Time to be set.
69216927
"""
69226928

69236929
return mapping.from_maybe_impl(

scripts/documentation_provider.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -483,8 +483,6 @@ def inner_serialize_doc_type(self, type: Any, direction: str) -> str:
483483
return "bool"
484484
if type_name.lower() == "string":
485485
return "str"
486-
if type_name.lower() == "long":
487-
return "float"
488486
if type_name == "any" or type_name == "Serializable":
489487
return "Any"
490488
if type_name == "Object":

tests/async/test_page_clock.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ class TestFastForward:
151151
@pytest.fixture(autouse=True)
152152
async def before_each(self, page: Page) -> AsyncGenerator[None, None]:
153153
await page.clock.install(time=0)
154-
await page.clock.pause_at(1000)
154+
await page.clock.pause_at(1)
155155
yield
156156

157157
async def test_ignores_timers_which_wouldnt_be_run(
@@ -184,11 +184,11 @@ class TestStubTimers:
184184
@pytest.fixture(autouse=True)
185185
async def before_each(self, page: Page) -> AsyncGenerator[None, None]:
186186
await page.clock.install(time=0)
187-
await page.clock.pause_at(1000)
187+
await page.clock.pause_at(1)
188188
yield
189189

190190
async def test_sets_initial_timestamp(self, page: Page) -> None:
191-
await page.clock.set_system_time(1400)
191+
await page.clock.set_system_time(1.4)
192192
assert await page.evaluate("Date.now()") == 1400
193193

194194
async def test_replaces_global_setTimeout(
@@ -255,8 +255,8 @@ async def test_fakes_Date_constructor(self, page: Page) -> None:
255255

256256
class TestStubTimersPerformance:
257257
async def test_replaces_global_performance_time_origin(self, page: Page) -> None:
258-
await page.clock.install(time=1000)
259-
await page.clock.pause_at(2000)
258+
await page.clock.install(time=1)
259+
await page.clock.pause_at(2)
260260
promise = asyncio.create_task(
261261
page.evaluate(
262262
"""async () => {
@@ -332,7 +332,7 @@ async def test_should_not_run_time_before_popup_on_pause(
332332
),
333333
)
334334
await page.clock.install(time=0)
335-
await page.clock.pause_at(1000)
335+
await page.clock.pause_at(1)
336336
await page.goto(server.EMPTY_PAGE)
337337
# Wait for 2 second in real life to check that it is past in popup.
338338
await page.wait_for_timeout(2000)
@@ -351,25 +351,25 @@ async def test_does_not_fake_methods(self, page: Page) -> None:
351351
await page.evaluate("new Promise(f => setTimeout(f, 1))")
352352

353353
async def test_allows_setting_time_multiple_times(self, page: Page) -> None:
354-
await page.clock.set_fixed_time(100)
354+
await page.clock.set_fixed_time(0.1)
355355
assert await page.evaluate("Date.now()") == 100
356-
await page.clock.set_fixed_time(200)
356+
await page.clock.set_fixed_time(0.2)
357357
assert await page.evaluate("Date.now()") == 200
358358

359359
async def test_fixed_time_is_not_affected_by_clock_manipulation(
360360
self, page: Page
361361
) -> None:
362-
await page.clock.set_fixed_time(100)
362+
await page.clock.set_fixed_time(0.1)
363363
assert await page.evaluate("Date.now()") == 100
364364
await page.clock.fast_forward(20)
365365
assert await page.evaluate("Date.now()") == 100
366366

367367
async def test_allows_installing_fake_timers_after_setting_time(
368368
self, page: Page, calls: List[Any]
369369
) -> None:
370-
await page.clock.set_fixed_time(100)
370+
await page.clock.set_fixed_time(0.1)
371371
assert await page.evaluate("Date.now()") == 100
372-
await page.clock.set_fixed_time(200)
372+
await page.clock.set_fixed_time(0.2)
373373
await page.evaluate("setTimeout(() => window.stub(Date.now()))")
374374
await page.clock.run_for(0)
375375
assert calls == [[200]]
@@ -407,7 +407,7 @@ async def test_should_fast_forward_to(self, page: Page) -> None:
407407
async def test_should_pause(self, page: Page) -> None:
408408
await page.clock.install(time=0)
409409
await page.goto("data:text/html,")
410-
await page.clock.pause_at(1000)
410+
await page.clock.pause_at(1)
411411
await page.wait_for_timeout(1000)
412412
await page.clock.resume()
413413
now = await page.evaluate("Date.now()")
@@ -416,15 +416,15 @@ async def test_should_pause(self, page: Page) -> None:
416416
async def test_should_pause_and_fast_forward(self, page: Page) -> None:
417417
await page.clock.install(time=0)
418418
await page.goto("data:text/html,")
419-
await page.clock.pause_at(1000)
419+
await page.clock.pause_at(1)
420420
await page.clock.fast_forward(1000)
421421
now = await page.evaluate("Date.now()")
422422
assert now == 2000
423423

424424
async def test_should_set_system_time_on_pause(self, page: Page) -> None:
425425
await page.clock.install(time=0)
426426
await page.goto("data:text/html,")
427-
await page.clock.pause_at(1000)
427+
await page.clock.pause_at(1)
428428
now = await page.evaluate("Date.now()")
429429
assert now == 1000
430430

tests/sync/test_page_clock.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ class TestFastForward:
146146
@pytest.fixture(autouse=True)
147147
def before_each(self, page: Page) -> Generator[None, None, None]:
148148
page.clock.install(time=0)
149-
page.clock.pause_at(1000)
149+
page.clock.pause_at(1)
150150
yield
151151

152152
def test_ignores_timers_which_wouldnt_be_run(
@@ -177,11 +177,11 @@ class TestStubTimers:
177177
@pytest.fixture(autouse=True)
178178
def before_each(self, page: Page) -> Generator[None, None, None]:
179179
page.clock.install(time=0)
180-
page.clock.pause_at(1000)
180+
page.clock.pause_at(1)
181181
yield
182182

183183
def test_sets_initial_timestamp(self, page: Page) -> None:
184-
page.clock.set_system_time(1400)
184+
page.clock.set_system_time(1.4)
185185
assert page.evaluate("Date.now()") == 1400
186186

187187
def test_replaces_global_setTimeout(self, page: Page, calls: List[Any]) -> None:
@@ -239,8 +239,8 @@ def test_fakes_Date_constructor(self, page: Page) -> None:
239239

240240
class TestStubTimersPerformance:
241241
def test_replaces_global_performance_time_origin(self, page: Page) -> None:
242-
page.clock.install(time=1000)
243-
page.clock.pause_at(2000)
242+
page.clock.install(time=1)
243+
page.clock.pause_at(2)
244244
page.evaluate(
245245
"""() => {
246246
window.waitForPromise = new Promise(async resolve => {
@@ -312,7 +312,7 @@ def test_should_not_run_time_before_popup_on_pause(
312312
),
313313
)
314314
page.clock.install(time=0)
315-
page.clock.pause_at(1000)
315+
page.clock.pause_at(1)
316316
page.goto(server.EMPTY_PAGE)
317317
# Wait for 2 second in real life to check that it is past in popup.
318318
page.wait_for_timeout(2000)
@@ -325,34 +325,34 @@ def test_should_not_run_time_before_popup_on_pause(
325325

326326
class TestSetFixedTime:
327327
def test_allows_passing_as_int(self, page: Page) -> None:
328-
page.clock.set_fixed_time(100)
329-
assert page.evaluate("Date.now()") == 100
330-
page.clock.set_fixed_time(int(200))
331-
assert page.evaluate("Date.now()") == 200
328+
page.clock.set_fixed_time(1)
329+
assert page.evaluate("Date.now()") == 1000
330+
page.clock.set_fixed_time(int(2))
331+
assert page.evaluate("Date.now()") == 2000
332332

333333
def test_does_not_fake_methods(self, page: Page) -> None:
334334
page.clock.set_fixed_time(0)
335335
# Should not stall.
336336
page.evaluate("new Promise(f => setTimeout(f, 1))")
337337

338338
def test_allows_setting_time_multiple_times(self, page: Page) -> None:
339-
page.clock.set_fixed_time(100)
339+
page.clock.set_fixed_time(0.1)
340340
assert page.evaluate("Date.now()") == 100
341-
page.clock.set_fixed_time(200)
341+
page.clock.set_fixed_time(0.2)
342342
assert page.evaluate("Date.now()") == 200
343343

344344
def test_fixed_time_is_not_affected_by_clock_manipulation(self, page: Page) -> None:
345-
page.clock.set_fixed_time(100)
345+
page.clock.set_fixed_time(0.1)
346346
assert page.evaluate("Date.now()") == 100
347347
page.clock.fast_forward(20)
348348
assert page.evaluate("Date.now()") == 100
349349

350350
def test_allows_installing_fake_timers_after_setting_time(
351351
self, page: Page, calls: List[Any]
352352
) -> None:
353-
page.clock.set_fixed_time(100)
353+
page.clock.set_fixed_time(0.1)
354354
assert page.evaluate("Date.now()") == 100
355-
page.clock.set_fixed_time(200)
355+
page.clock.set_fixed_time(0.2)
356356
page.evaluate("setTimeout(() => window.stub(Date.now()))")
357357
page.clock.run_for(0)
358358
assert calls == [[200]]
@@ -390,7 +390,7 @@ def test_should_fast_forward_to(self, page: Page) -> None:
390390
def test_should_pause(self, page: Page) -> None:
391391
page.clock.install(time=0)
392392
page.goto("data:text/html,")
393-
page.clock.pause_at(1000)
393+
page.clock.pause_at(1)
394394
page.wait_for_timeout(1000)
395395
page.clock.resume()
396396
now = page.evaluate("Date.now()")
@@ -399,15 +399,15 @@ def test_should_pause(self, page: Page) -> None:
399399
def test_should_pause_and_fast_forward(self, page: Page) -> None:
400400
page.clock.install(time=0)
401401
page.goto("data:text/html,")
402-
page.clock.pause_at(1000)
402+
page.clock.pause_at(1)
403403
page.clock.fast_forward(1000)
404404
now = page.evaluate("Date.now()")
405405
assert now == 2000
406406

407407
def test_should_set_system_time_on_pause(self, page: Page) -> None:
408408
page.clock.install(time=0)
409409
page.goto("data:text/html,")
410-
page.clock.pause_at(1000)
410+
page.clock.pause_at(1)
411411
now = page.evaluate("Date.now()")
412412
assert now == 1000
413413

0 commit comments

Comments
 (0)