Source code

Revision control

Copy as Markdown

Other Tools

import pytest
MAP_CSS = "#map"
ASIDE_CSS = "aside.fixed"
BOTTOM_BAR_CSS = ".w-mc.transition-all"
async def is_bottom_bar_full_width(client, platform):
await client.navigate(URL, wait="none")
client.add_stylesheet(f"{BOTTOM_BAR_CSS} {{ transition-duration:0s !important; }}")
map = client.await_css(MAP_CSS, is_displayed=True)
aside = client.await_css(ASIDE_CSS, is_displayed=True)
bottom_bar = client.await_css(BOTTOM_BAR_CSS, is_displayed=True)
return client.execute_script(
"""
const [ bottom_bar, map, aside, android ] = arguments;
return bottom_bar.clientWidth == map.clientWidth - (android ? 0 : aside.clientWidth);
""",
bottom_bar,
map,
aside,
platform == "android",
)
@pytest.mark.enable_webkit_fill_available
@pytest.mark.asyncio
@pytest.mark.with_interventions
async def test_enabled(client, platform):
assert await is_bottom_bar_full_width(client, platform)
@pytest.mark.disable_webkit_fill_available
@pytest.mark.asyncio
@pytest.mark.without_interventions
async def test_disabled(client, platform):
assert not await is_bottom_bar_full_width(client, platform)