Skip to content

Commit 3a37c18

Browse files
committed
MenuBar basic test
1 parent 930c3ec commit 3a37c18

File tree

3 files changed

+66
-0
lines changed

3 files changed

+66
-0
lines changed
8.37 KB
Loading
17 KB
Loading
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
import pytest
2+
3+
import flet as ft
4+
import flet.testing as ftt
5+
6+
7+
@pytest.mark.asyncio(loop_scope="module")
8+
async def test_menu_ber_basic(flet_app: ftt.FletTestApp, request):
9+
flet_app.page.theme_mode = ft.ThemeMode.LIGHT
10+
11+
pb = ft.MenuBar(
12+
expand=True,
13+
style=ft.MenuStyle(
14+
alignment=ft.Alignment.TOP_LEFT,
15+
bgcolor=ft.Colors.RED_300,
16+
mouse_cursor={
17+
ft.ControlState.HOVERED: ft.MouseCursor.WAIT,
18+
ft.ControlState.DEFAULT: ft.MouseCursor.ZOOM_OUT,
19+
},
20+
),
21+
controls=[
22+
ft.SubmenuButton(
23+
key="sb",
24+
content="File",
25+
controls=[
26+
ft.MenuItemButton(
27+
content=ft.Text("About"),
28+
leading=ft.Icon(ft.Icons.INFO),
29+
),
30+
ft.MenuItemButton(
31+
content=ft.Text("Save"),
32+
leading=ft.Icon(ft.Icons.SAVE),
33+
),
34+
ft.MenuItemButton(
35+
content=ft.Text("Quit"),
36+
leading=ft.Icon(ft.Icons.CLOSE),
37+
),
38+
],
39+
),
40+
],
41+
)
42+
43+
flet_app.page.enable_screenshots = True
44+
flet_app.page.window.width = 400
45+
flet_app.page.window.height = 600
46+
flet_app.page.controls = [pb]
47+
flet_app.page.update()
48+
await flet_app.tester.pump_and_settle()
49+
50+
# normal state
51+
flet_app.assert_screenshot(
52+
"menu_bar_basic",
53+
await flet_app.page.take_screenshot(
54+
pixel_ratio=flet_app.screenshots_pixel_ratio
55+
),
56+
)
57+
58+
# open state
59+
await flet_app.tester.tap(await flet_app.tester.find_by_key("sb"))
60+
await flet_app.tester.pump_and_settle()
61+
flet_app.assert_screenshot(
62+
"menu_bar_basic_open",
63+
await flet_app.page.take_screenshot(
64+
pixel_ratio=flet_app.screenshots_pixel_ratio
65+
),
66+
)

0 commit comments

Comments
 (0)