Skip to content

Commit 588f770

Browse files
committed
add menu bar example tests and images
1 parent e3b028b commit 588f770

File tree

11 files changed

+102
-26
lines changed

11 files changed

+102
-26
lines changed

sdk/python/examples/controls/menu_bar/__init__.py

Whitespace-only changes.

sdk/python/examples/controls/menu_bar/nested_submenus.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,4 +119,5 @@ def handle_submenu_hover(e: ft.Event[ft.SubmenuButton]):
119119
)
120120

121121

122-
ft.run(main)
122+
if __name__ == "__main__":
123+
ft.run(main)

sdk/python/examples/controls/menu_item_button/test.py

Lines changed: 0 additions & 23 deletions
This file was deleted.

sdk/python/packages/flet/docs/controls/menubar.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
class_name: flet.MenuBar
33
examples: ../../examples/controls/menu_bar
4-
example_images: ../examples/controls/menu_bar/media
4+
example_images: ../test-images/examples/material/golden/macos/menu_bar
55
---
66

7-
{{ class_summary(class_name) }}
7+
{{ class_summary(class_name, example_images + "/image_for_docs.png", image_caption="Basic menu bar") }}
88

99
## Examples
1010

10.8 KB
Loading
24.9 KB
Loading
11.5 KB
Loading
20.9 KB
Loading
17.8 KB
Loading
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
import pytest
2+
3+
import flet as ft
4+
import flet.testing as ftt
5+
6+
from examples.controls.menu_bar import nested_submenus
7+
8+
9+
@pytest.mark.asyncio(loop_scope="function")
10+
async def test_image_for_docs(flet_app_function: ftt.FletTestApp, request):
11+
flet_app_function.page.theme_mode = ft.ThemeMode.LIGHT
12+
flet_app_function.page.enable_screenshots = True
13+
flet_app_function.resize_page(100, 200)
14+
flet_app_function.page.update()
15+
mb = ft.MenuBar(
16+
controls=[
17+
ft.SubmenuButton(
18+
content=ft.Text("Submenu"),
19+
controls=[
20+
ft.MenuItemButton(content=ft.Text("Item 1")),
21+
ft.MenuItemButton(content=ft.Text("Item 2")),
22+
ft.MenuItemButton(content=ft.Text("Item 3")),
23+
],
24+
),
25+
],
26+
)
27+
flet_app_function.page.add(mb)
28+
flet_app_function.page.update()
29+
await flet_app_function.tester.pump_and_settle()
30+
btn = await flet_app_function.tester.find_by_text("Submenu")
31+
await flet_app_function.tester.tap(btn)
32+
await flet_app_function.tester.pump_and_settle()
33+
34+
flet_app_function.assert_screenshot(
35+
"image_for_docs",
36+
await flet_app_function.page.take_screenshot(),
37+
)
38+
39+
40+
# @pytest.mark.parametrize(
41+
# "flet_app_function",
42+
# [{"flet_app_main": nested_submenus.main}],
43+
# indirect=True,
44+
# )
45+
# @pytest.mark.asyncio(loop_scope="function")
46+
# async def test_nested_submenus(flet_app_function: ftt.FletTestApp):
47+
# flet_app_function.page.enable_screenshots = True
48+
# flet_app_function.resize_page(400, 400)
49+
# flet_app_function.page.update()
50+
# await flet_app_function.tester.pump_and_settle(
51+
# duration=ft.Duration(milliseconds=500)
52+
# )
53+
# flet_app_function.assert_screenshot(
54+
# "nested_submenus1",
55+
# await flet_app_function.page.take_screenshot(
56+
# pixel_ratio=flet_app_function.screenshots_pixel_ratio
57+
# ),
58+
# )
59+
# smb = await flet_app_function.tester.find_by_text("File")
60+
# await flet_app_function.tester.tap(smb)
61+
# await flet_app_function.tester.pump_and_settle()
62+
# flet_app_function.assert_screenshot(
63+
# "nested_submenus2",
64+
# await flet_app_function.page.take_screenshot(
65+
# pixel_ratio=flet_app_function.screenshots_pixel_ratio
66+
# ),
67+
# )
68+
# mib = await flet_app_function.tester.find_by_text("Save")
69+
# await flet_app_function.tester.tap(mib)
70+
# await flet_app_function.tester.pump_and_settle()
71+
# flet_app_function.assert_screenshot(
72+
# "nested_submenus3",
73+
# await flet_app_function.page.take_screenshot(
74+
# pixel_ratio=flet_app_function.screenshots_pixel_ratio
75+
# ),
76+
# )
77+
78+
# flet_app_function.create_gif(
79+
# ["nested_submenus1", "nested_submenus2", "nested_submenus3"],
80+
# "nested_submenus",
81+
# duration=1600,
82+
# )

0 commit comments

Comments
 (0)