Skip to content

Commit 62f0e01

Browse files
Owen/control docs p5 (#5845)
* add search bar example tests and images * try to read flutter output from flet_test_app.py * revert changes on flet_test_app.py * add row, slider, search_bar example tests and update docs; add tap_at function to flet Tester * use existing ft.Offset object as argument to tap_at * use parseOffset * fix tester doctring for tap_at, fix spacing, condense dart case * fix tap_at call in tests * fix row example images sizing * add reference to utils/transforms.dart * update imports to tester service --------- Co-authored-by: Feodor Fitsner <feodor@appveyor.com>
1 parent 862ffbf commit 62f0e01

File tree

32 files changed

+255
-31
lines changed

32 files changed

+255
-31
lines changed

client/integration_test/flutter_tester.dart

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -74,23 +74,24 @@ class FlutterWidgetTester implements Tester {
7474
}
7575

7676
@override
77-
Future<void> tap(TestFinder finder, int finderIndex) async {
78-
await _tester.tap((finder as FlutterTestFinder).raw.at(finderIndex));
79-
}
77+
Future<void> tap(TestFinder finder, int finderIndex) =>
78+
_tester.tap((finder as FlutterTestFinder).raw.at(finderIndex));
8079

8180
@override
82-
Future<void> longPress(TestFinder finder, int finderIndex) async {
83-
await _tester.longPress((finder as FlutterTestFinder).raw.at(finderIndex));
84-
}
81+
Future<void> tapAt(Offset offset) =>
82+
_tester.tapAt(offset);
83+
84+
@override
85+
Future<void> longPress(TestFinder finder, int finderIndex) =>
86+
_tester.longPress((finder as FlutterTestFinder).raw.at(finderIndex));
8587

8688
@override
8789
Future<void> enterText(
88-
TestFinder finder, int finderIndex, String text) async {
89-
await _tester.enterText(
90-
(finder as FlutterTestFinder).raw.at(finderIndex),
91-
text,
92-
);
93-
}
90+
TestFinder finder, int finderIndex, String text) =>
91+
_tester.enterText(
92+
(finder as FlutterTestFinder).raw.at(finderIndex),
93+
text,
94+
);
9495

9596
@override
9697
Future<void> mouseHover(TestFinder finder, int finderIndex) async {

packages/flet/lib/src/services/tester.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import '../testing/test_finder.dart';
55
import '../utils/icons.dart';
66
import '../utils/keys.dart';
77
import '../utils/time.dart';
8+
import 'package:flet/src/utils/transforms.dart';
9+
810

911
class TesterService extends FletService {
1012
TesterService({required super.control});
@@ -82,6 +84,12 @@ class TesterService extends FletService {
8284
await control.backend.tester!.tap(finder, args["finder_index"]);
8385
}
8486

87+
case "tap_at":
88+
var offset = parseOffset(args["offset"]);
89+
if (offset != null) {
90+
await control.backend.tester!.tapAt(offset);
91+
}
92+
8593
case "long_press":
8694
var finder = _finders[args["finder_id"]];
8795
if (finder != null) {

packages/flet/lib/src/testing/tester.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ abstract class Tester {
1313
TestFinder findByTooltip(String value);
1414
TestFinder findByIcon(IconData icon);
1515
Future<Uint8List> takeScreenshot(String name);
16+
Future<void> tapAt(Offset offset);
1617
Future<void> tap(TestFinder finder, int finderIndex);
1718
Future<void> longPress(TestFinder finder, int finderIndex);
1819
Future<void> enterText(TestFinder finder, int finderIndex, String text);

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

Whitespace-only changes.

sdk/python/examples/controls/row/alignment.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,5 @@ def main(page: ft.Page):
4444
)
4545

4646

47-
ft.run(main)
47+
if __name__ == "__main__":
48+
ft.run(main)

sdk/python/examples/controls/row/spacing.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def handle_slider_change(e: ft.Event[ft.Slider]):
2424
controls=[
2525
ft.Text("Spacing between items"),
2626
ft.Slider(
27+
key="slider",
2728
min=0,
2829
max=50,
2930
divisions=50,
@@ -39,4 +40,5 @@ def handle_slider_change(e: ft.Event[ft.Slider]):
3940
)
4041

4142

42-
ft.run(main)
43+
if __name__ == "__main__":
44+
ft.run(main)

sdk/python/examples/controls/row/vertical_alignment.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,5 @@ def main(page: ft.Page):
3535
)
3636

3737

38-
ft.run(main)
38+
if __name__ == "__main__":
39+
ft.run(main)

sdk/python/examples/controls/row/wrap.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,5 @@ def handle_slider_change(e: ft.Event[ft.Slider]):
4545
)
4646

4747

48-
ft.run(main)
48+
if __name__ == "__main__":
49+
ft.run(main)

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

Whitespace-only changes.

sdk/python/examples/controls/search_bar/basic.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
def main(page: ft.Page):
1616
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER
1717

18-
def build_tiles(items: list[str]) -> list[ft.ListTile]:
18+
def build_tiles(items: list[str]) -> list[ft.Control]:
1919
return [
2020
ft.ListTile(
2121
title=ft.Text(item),
@@ -55,4 +55,5 @@ async def handle_tap(e: ft.Event[ft.SearchBar]):
5555
)
5656

5757

58-
ft.run(main)
58+
if __name__ == "__main__":
59+
ft.run(main)

0 commit comments

Comments
 (0)