Skip to content

Commit 2bbad09

Browse files
committed
review feedback
1 parent 4dbc172 commit 2bbad09

File tree

5 files changed

+30
-30
lines changed

5 files changed

+30
-30
lines changed

playwright/_impl/_clock.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ async def install(self, time: Union[float, str, datetime.datetime] = None) -> No
3232

3333
async def fast_forward(
3434
self,
35-
ticks: Union[float, str],
35+
ticks: Union[int, str],
3636
) -> None:
3737
await self._browser_context._channel.send(
3838
"clockFastForward", parse_ticks(ticks)
@@ -51,7 +51,7 @@ async def resume(
5151

5252
async def run_for(
5353
self,
54-
ticks: Union[float, str],
54+
ticks: Union[int, str],
5555
) -> None:
5656
await self._browser_context._channel.send("clockRunFor", parse_ticks(ticks))
5757

@@ -71,16 +71,16 @@ async def set_system_time(
7171

7272

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

8282

83-
def parse_ticks(ticks: Union[float, str]) -> Dict[str, Union[int, str]]:
84-
if isinstance(ticks, (float, int)):
85-
return {"ticksNumber": int(ticks)}
83+
def parse_ticks(ticks: Union[int, str]) -> Dict[str, Union[int, str]]:
84+
if isinstance(ticks, int):
85+
return {"ticksNumber": ticks}
8686
return {"ticksString": ticks}

playwright/async_api/_generated.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6694,7 +6694,7 @@ async def install(
66946694

66956695
return mapping.from_maybe_impl(await self._impl_obj.install(time=time))
66966696

6697-
async def fast_forward(self, ticks: typing.Union[float, str]) -> None:
6697+
async def fast_forward(self, ticks: typing.Union[int, str]) -> None:
66986698
"""Clock.fast_forward
66996699

67006700
Advance the clock by jumping forward in time. Only fires due timers at most once. This is equivalent to user
@@ -6709,9 +6709,7 @@ async def fast_forward(self, ticks: typing.Union[float, str]) -> None:
67096709

67106710
Parameters
67116711
----------
6712-
ticks : Union[float, 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.
6712+
ticks : Union[int, str]
67156713
"""
67166714

67176715
return mapping.from_maybe_impl(await self._impl_obj.fast_forward(ticks=ticks))
@@ -6748,7 +6746,7 @@ async def resume(self) -> None:
67486746

67496747
return mapping.from_maybe_impl(await self._impl_obj.resume())
67506748

6751-
async def run_for(self, ticks: typing.Union[float, str]) -> None:
6749+
async def run_for(self, ticks: typing.Union[int, str]) -> None:
67526750
"""Clock.run_for
67536751

67546752
Advance the clock, firing all the time-related callbacks.
@@ -6762,9 +6760,7 @@ async def run_for(self, ticks: typing.Union[float, str]) -> None:
67626760

67636761
Parameters
67646762
----------
6765-
ticks : Union[float, str]
6766-
Time may be the number of milliseconds to advance the clock by or a human-readable string. Valid string formats are
6767-
"08" for eight seconds, "01:00" for one minute and "02:34:10" for two hours, 34 minutes and ten seconds.
6763+
ticks : Union[int, str]
67686764
"""
67696765

67706766
return mapping.from_maybe_impl(await self._impl_obj.run_for(ticks=ticks))

playwright/sync_api/_generated.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6804,7 +6804,7 @@ def install(
68046804

68056805
return mapping.from_maybe_impl(self._sync(self._impl_obj.install(time=time)))
68066806

6807-
def fast_forward(self, ticks: typing.Union[float, str]) -> None:
6807+
def fast_forward(self, ticks: typing.Union[int, str]) -> None:
68086808
"""Clock.fast_forward
68096809

68106810
Advance the clock by jumping forward in time. Only fires due timers at most once. This is equivalent to user
@@ -6819,9 +6819,7 @@ def fast_forward(self, ticks: typing.Union[float, str]) -> None:
68196819

68206820
Parameters
68216821
----------
6822-
ticks : Union[float, 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.
6822+
ticks : Union[int, str]
68256823
"""
68266824

68276825
return mapping.from_maybe_impl(
@@ -6860,7 +6858,7 @@ def resume(self) -> None:
68606858

68616859
return mapping.from_maybe_impl(self._sync(self._impl_obj.resume()))
68626860

6863-
def run_for(self, ticks: typing.Union[float, str]) -> None:
6861+
def run_for(self, ticks: typing.Union[int, str]) -> None:
68646862
"""Clock.run_for
68656863

68666864
Advance the clock, firing all the time-related callbacks.
@@ -6874,9 +6872,7 @@ def run_for(self, ticks: typing.Union[float, str]) -> None:
68746872

68756873
Parameters
68766874
----------
6877-
ticks : Union[float, str]
6878-
Time may be the number of milliseconds to advance the clock by or a human-readable string. Valid string formats are
6879-
"08" for eight seconds, "01:00" for one minute and "02:34:10" for two hours, 34 minutes and ten seconds.
6875+
ticks : Union[int, str]
68806876
"""
68816877

68826878
return mapping.from_maybe_impl(self._sync(self._impl_obj.run_for(ticks=ticks)))

tests/async/test_page_clock.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -282,10 +282,10 @@ async def test_should_tick_after_popup(self, page: Page) -> None:
282282
page.wait_for_event("popup"), page.evaluate("window.open('about:blank')")
283283
)
284284
popup_time = await popup.evaluate("Date.now()")
285-
assert popup_time == now.timestamp()
285+
assert popup_time == now.timestamp() * 1000
286286
await page.clock.run_for(1000)
287287
popup_time_after = await popup.evaluate("Date.now()")
288-
assert popup_time_after == now.timestamp() + 1000
288+
assert popup_time_after == now.timestamp() * 1000 + 1000
289289

290290
async def test_should_tick_before_popup(self, page: Page) -> None:
291291
await page.clock.install(time=0)
@@ -296,7 +296,8 @@ async def test_should_tick_before_popup(self, page: Page) -> None:
296296
page.wait_for_event("popup"), page.evaluate("window.open('about:blank')")
297297
)
298298
popup_time = await popup.evaluate("Date.now()")
299-
assert popup_time == int(now.timestamp() + 1000)
299+
assert popup_time == int(now.timestamp() * 1000 + 1000)
300+
assert datetime.datetime.fromtimestamp(popup_time / 1_000).year == 2015
300301

301302
async def test_should_run_time_before_popup(
302303
self, page: Page, server: Server

tests/sync/test_page_clock.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,10 +265,10 @@ def test_should_tick_after_popup(self, page: Page) -> None:
265265
page.evaluate("window.open('about:blank')")
266266
popup = popup_info.value
267267
popup_time = popup.evaluate("Date.now()")
268-
assert popup_time == now.timestamp()
268+
assert popup_time == now.timestamp() * 1000
269269
page.clock.run_for(1000)
270270
popup_time_after = popup.evaluate("Date.now()")
271-
assert popup_time_after == now.timestamp() + 1000
271+
assert popup_time_after == now.timestamp() * 1000 + 1000
272272

273273
def test_should_tick_before_popup(self, page: Page) -> None:
274274
page.clock.install(time=0)
@@ -279,7 +279,8 @@ def test_should_tick_before_popup(self, page: Page) -> None:
279279
page.evaluate("window.open('about:blank')")
280280
popup = popup_info.value
281281
popup_time = popup.evaluate("Date.now()")
282-
assert popup_time == int(now.timestamp() + 1000)
282+
assert popup_time == int(now.timestamp() * 1_000 + 1000)
283+
assert datetime.datetime.fromtimestamp(popup_time / 1_000).year == 2015
283284

284285
def test_should_run_time_before_popup(self, page: Page, server: Server) -> None:
285286
server.set_route(
@@ -323,6 +324,12 @@ def test_should_not_run_time_before_popup_on_pause(
323324

324325

325326
class TestSetFixedTime:
327+
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
332+
326333
def test_does_not_fake_methods(self, page: Page) -> None:
327334
page.clock.set_fixed_time(0)
328335
# Should not stall.

0 commit comments

Comments
 (0)