Skip to content

Commit 55814e1

Browse files
committed
Merge branch 'main' into v1-controls-integration-tests
2 parents f8d0cf5 + fadde0b commit 55814e1

8 files changed

Lines changed: 62 additions & 67 deletions

File tree

sdk/python/Taskfile.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ tasks:
77
desc: "Lists all available tasks."
88
aliases:
99
- ls
10+
- help
1011
- tasks
1112
cmds:
1213
- task --list
5.32 KB
Loading
Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import pytest
2+
13
import flet as ft
24
import flet.testing as ftt
3-
import pytest
45

56

67
@pytest.mark.asyncio(loop_scope="module")
@@ -9,4 +10,25 @@ async def test_elevated_button_basic(flet_app: ftt.FletTestApp, request):
910
await flet_app.assert_control_screenshot(
1011
request.node.name,
1112
ft.ElevatedButton("Click me"),
12-
)
13+
)
14+
15+
16+
@pytest.mark.asyncio(loop_scope="module")
17+
async def test_issue_5538(flet_app: ftt.FletTestApp, request):
18+
flet_app.page.theme_mode = ft.ThemeMode.LIGHT
19+
await flet_app.assert_control_screenshot(
20+
request.node.name,
21+
ft.Column(
22+
controls=[
23+
ft.ElevatedButton(
24+
content="Button 1",
25+
style=ft.ButtonStyle(shape=ft.RoundedRectangleBorder(radius=4)),
26+
),
27+
ft.ElevatedButton(
28+
content="Button 2",
29+
bgcolor=ft.Colors.RED,
30+
style=ft.ButtonStyle(shape=ft.RoundedRectangleBorder(radius=4)),
31+
),
32+
]
33+
),
34+
)

sdk/python/packages/flet/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,4 @@ requires = ["setuptools"]
7878
build-backend = "setuptools.build_meta"
7979

8080
[tool.uv.sources]
81-
mkdocs-external-images = { git = "https://github.com/flet-dev/mkdocs-external-images", rev = "aace23d55a8cec7947ecc837f006e751ae28963d" }
81+
mkdocs-external-images = { git = "https://github.com/flet-dev/mkdocs-external-images", tag = "v0.2.0" }

sdk/python/packages/flet/src/flet/controls/material/elevated_button.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def before_update(self):
169169
), "at least icon or content (string or visible Control) must be provided"
170170

171171
if (
172-
self.style is None
172+
self.style is not None
173173
or self.color is not None
174174
or self.bgcolor is not None
175175
or self.elevation != 1

sdk/python/packages/flet/tests/test_object_diff_frozen.py

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -264,11 +264,20 @@ def test_button_basic_diff():
264264

265265
# 2nd iteration
266266
patch, _, _, _ = make_diff(b2, b1)
267-
assert len(patch) == 2
267+
assert len(patch) == 3
268268
assert cmp_ops(
269269
patch,
270270
[
271-
{"op": "replace", "path": ["scale"], "value": ft.Scale(0.2)},
271+
{
272+
"op": "add",
273+
"path": ["_internals", "style"],
274+
"value": ft.ButtonStyle(color=ft.Colors.RED, elevation=1),
275+
},
276+
{
277+
"op": "replace",
278+
"path": ["scale"],
279+
"value": ft.Scale(scale=0.2),
280+
},
272281
{"op": "replace", "path": ["content"], "value": "Click me"},
273282
],
274283
)
@@ -281,9 +290,12 @@ def test_button_basic_diff():
281290
patch,
282291
[
283292
{
284-
"op": "add",
293+
"op": "remove",
285294
"path": ["_internals", "style"],
286-
"value": ft.ButtonStyle(elevation=1),
295+
"value": ft.ButtonStyle(
296+
color=ft.Colors.RED,
297+
elevation=1,
298+
),
287299
},
288300
{"op": "replace", "path": ["scale", "scale"], "value": 0.1},
289301
{"op": "replace", "path": ["content"], "value": ft.Text("Text_1")},
@@ -641,14 +653,16 @@ class AppState:
641653
state,
642654
lambda state: ft.Text(
643655
value=f"{state.count}",
644-
spans=[
645-
ft.TextSpan(
646-
f"SPAN {state.count}",
647-
on_click=lambda: print("span clicked!"),
648-
)
649-
]
650-
if state.count > 0
651-
else [],
656+
spans=(
657+
[
658+
ft.TextSpan(
659+
f"SPAN {state.count}",
660+
on_click=lambda: print("span clicked!"),
661+
)
662+
]
663+
if state.count > 0
664+
else []
665+
),
652666
size=50,
653667
),
654668
),

sdk/python/packages/flet/tests/test_object_diff_in_place.py

Lines changed: 3 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from dataclasses import field
22
from typing import Any, Optional
33

4-
import flet as ft
54
from flet.controls.base_control import control
65
from flet.controls.buttons import ButtonStyle
76
from flet.controls.colors import Colors
@@ -23,6 +22,8 @@
2322
from flet.messaging.session import Session
2423
from flet.pubsub.pubsub_hub import PubSubHub
2524

25+
import flet as ft
26+
2627
from .common import (
2728
LineChart,
2829
LineChartData,
@@ -275,21 +276,7 @@ def test_simple_page():
275276
"op": "replace",
276277
"path": ["views", 0, "controls", 0, "controls", 0],
277278
"value": SuperElevatedButton("Foo"),
278-
},
279-
{
280-
"op": "replace",
281-
"path": [
282-
"views",
283-
0,
284-
"controls",
285-
0,
286-
"controls",
287-
1,
288-
"_internals",
289-
"style",
290-
],
291-
"value": ButtonStyle(elevation=1),
292-
},
279+
}
293280
],
294281
)
295282

@@ -312,34 +299,6 @@ def test_simple_page():
312299
"path": ["views", 0, "controls", 0, "controls", 1, "content"],
313300
"value": "Baz",
314301
},
315-
{
316-
"op": "replace",
317-
"path": [
318-
"views",
319-
0,
320-
"controls",
321-
0,
322-
"controls",
323-
1,
324-
"_internals",
325-
"style",
326-
],
327-
"value": ButtonStyle(elevation=1),
328-
},
329-
{
330-
"op": "replace",
331-
"path": [
332-
"views",
333-
0,
334-
"controls",
335-
0,
336-
"controls",
337-
2,
338-
"_internals",
339-
"style",
340-
],
341-
"value": ButtonStyle(elevation=1),
342-
},
343302
],
344303
)
345304

@@ -445,11 +404,6 @@ def test_changes_tracking():
445404
"path": ["views", 0, "controls", 0, "height"],
446405
"value": 100,
447406
},
448-
{
449-
"op": "replace",
450-
"path": ["views", 0, "controls", 0, "_internals", "style"],
451-
"value": ft.ButtonStyle(elevation=1),
452-
},
453407
{
454408
"op": "add",
455409
"path": ["views", 0, "controls", 1],

sdk/python/pyproject.toml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ flet = { workspace = true }
1717
flet-cli = { workspace = true }
1818
flet-desktop = { workspace = true }
1919
flet-web = { workspace = true }
20+
mkdocs-external-images = { git = "https://github.com/flet-dev/mkdocs-external-images", tag = "v0.2.0" }
2021

2122
[tool.uv.workspace]
2223
members = ["packages/*"]
@@ -59,20 +60,25 @@ docs = [
5960
"markdown-exec[ansi] >=1.11.0",
6061
"pydocstyle >=6.3.0",
6162
"linkcheckmd >=1.4.0",
63+
"mkdocs-external-images",
6264
{ include-group = 'docs-coverage' },
6365
]
6466
all = [
6567
{ include-group = 'dev' },
6668
{ include-group = 'docs' },
6769
]
6870

71+
6972
[tool.ruff]
7073
line-length = 88
7174
target-version = "py39"
7275
fix = true
7376
show-fixes = true
7477

7578
[tool.ruff.lint]
79+
pydocstyle = { convention = 'google' }
80+
isort = { known-first-party = ["flet"] }
81+
preview = true
7682
select = [
7783
# pycodestyle
7884
"E",
@@ -87,8 +93,6 @@ select = [
8793
# isort
8894
"I"
8995
]
90-
preview = true
91-
pydocstyle = { convention = 'google' }
9296

9397
[tool.ruff.format]
9498
quote-style = "double"

0 commit comments

Comments
 (0)