4
4
5
5
import 'dart:ui' ;
6
6
7
+ import 'package:flutter/foundation.dart' ;
7
8
import 'package:flutter/gestures.dart' ;
8
9
import 'package:flutter/material.dart' ;
9
10
import 'package:flutter/rendering.dart' ;
10
11
import 'package:flutter/services.dart' ;
11
12
import 'package:flutter_test/flutter_test.dart' ;
12
13
14
+ import '../foundation/leak_tracking.dart' ;
13
15
import '../rendering/mock_canvas.dart' ;
14
16
import '../widgets/semantics_tester.dart' ;
15
17
import 'feedback_tester.dart' ;
@@ -649,38 +651,43 @@ void main() {
649
651
});
650
652
651
653
testWidgets ('Custom tooltip message textAlign' , (WidgetTester tester) async {
652
- Future <void > pumpTooltipWithTextAlign ({TextAlign ? textAlign}) async {
653
- final GlobalKey <TooltipState > tooltipKey = GlobalKey <TooltipState >();
654
- await tester.pumpWidget (
655
- MaterialApp (
656
- home: Tooltip (
657
- key: tooltipKey,
658
- textAlign: textAlign,
659
- message: tooltipText,
660
- child: Container (
661
- width: 100.0 ,
662
- height: 100.0 ,
663
- color: Colors .green[500 ],
654
+ await withFlutterLeakTracking (
655
+ () async {
656
+ Future <void > pumpTooltipWithTextAlign ({TextAlign ? textAlign}) async {
657
+ final GlobalKey <TooltipState > tooltipKey = GlobalKey <TooltipState >();
658
+ await tester.pumpWidget (
659
+ MaterialApp (
660
+ home: Tooltip (
661
+ key: tooltipKey,
662
+ textAlign: textAlign,
663
+ message: tooltipText,
664
+ child: Container (
665
+ width: 100.0 ,
666
+ height: 100.0 ,
667
+ color: Colors .green[500 ],
668
+ ),
669
+ ),
664
670
),
665
- ),
666
- ),
667
- );
668
- tooltipKey.currentState? .ensureTooltipVisible ();
669
- await tester.pump (const Duration (seconds: 2 )); // faded in, show timer started (and at 0.0)
670
- }
671
-
672
- // Default value should be TextAlign.start
673
- await pumpTooltipWithTextAlign ();
674
- TextAlign textAlign = tester.widget <Text >(find.text (tooltipText)).textAlign! ;
675
- expect (textAlign, TextAlign .start);
676
-
677
- await pumpTooltipWithTextAlign (textAlign: TextAlign .center);
678
- textAlign = tester.widget <Text >(find.text (tooltipText)).textAlign! ;
679
- expect (textAlign, TextAlign .center);
680
-
681
- await pumpTooltipWithTextAlign (textAlign: TextAlign .end);
682
- textAlign = tester.widget <Text >(find.text (tooltipText)).textAlign! ;
683
- expect (textAlign, TextAlign .end);
671
+ );
672
+ tooltipKey.currentState? .ensureTooltipVisible ();
673
+ await tester.pump (const Duration (seconds: 2 )); // faded in, show timer started (and at 0.0)
674
+ }
675
+
676
+ // Default value should be TextAlign.start
677
+ await pumpTooltipWithTextAlign ();
678
+ TextAlign textAlign = tester.widget <Text >(find.text (tooltipText)).textAlign! ;
679
+ expect (textAlign, TextAlign .start);
680
+
681
+ await pumpTooltipWithTextAlign (textAlign: TextAlign .center);
682
+ textAlign = tester.widget <Text >(find.text (tooltipText)).textAlign! ;
683
+ expect (textAlign, TextAlign .center);
684
+
685
+ await pumpTooltipWithTextAlign (textAlign: TextAlign .end);
686
+ textAlign = tester.widget <Text >(find.text (tooltipText)).textAlign! ;
687
+ expect (textAlign, TextAlign .end);
688
+ },
689
+ tester: tester,
690
+ );
684
691
});
685
692
686
693
testWidgets ('Tooltip overlay respects ambient Directionality' , (WidgetTester tester) async {
@@ -922,7 +929,7 @@ void main() {
922
929
final Finder tooltip = find.byType (Tooltip );
923
930
expect (find.text (tooltipText), findsNothing);
924
931
925
- await testGestureTap (tester, tooltip);
932
+ await _testGestureTap (tester, tooltip);
926
933
expect (find.text (tooltipText), findsOneWidget);
927
934
928
935
// Tooltip is dismissed after showDuration expired
@@ -1697,7 +1704,7 @@ void main() {
1697
1704
expect (semanticEvents, unorderedEquals (< dynamic > [
1698
1705
< String , dynamic > {
1699
1706
'type' : 'longPress' ,
1700
- 'nodeId' : findDebugSemantics (object).id,
1707
+ 'nodeId' : _findDebugSemantics (object).id,
1701
1708
'data' : < String , dynamic > {},
1702
1709
},
1703
1710
< String , dynamic > {
@@ -1790,7 +1797,7 @@ void main() {
1790
1797
final Finder tooltip = find.byType (Tooltip );
1791
1798
expect (find.text (tooltipText), findsNothing);
1792
1799
1793
- await testGestureTap (tester, tooltip);
1800
+ await _testGestureTap (tester, tooltip);
1794
1801
expect (find.text (tooltipText), findsOneWidget);
1795
1802
});
1796
1803
@@ -1800,10 +1807,10 @@ void main() {
1800
1807
final Finder tooltip = find.byType (Tooltip );
1801
1808
expect (find.text (tooltipText), findsNothing);
1802
1809
1803
- await testGestureTap (tester, tooltip);
1810
+ await _testGestureTap (tester, tooltip);
1804
1811
expect (find.text (tooltipText), findsNothing);
1805
1812
1806
- await testGestureLongPress (tester, tooltip);
1813
+ await _testGestureLongPress (tester, tooltip);
1807
1814
expect (find.text (tooltipText), findsOneWidget);
1808
1815
});
1809
1816
@@ -1813,7 +1820,7 @@ void main() {
1813
1820
final Finder tooltip = find.byType (Tooltip );
1814
1821
expect (find.text (tooltipText), findsNothing);
1815
1822
1816
- await testGestureTap (tester, tooltip);
1823
+ await _testGestureTap (tester, tooltip);
1817
1824
expect (find.text (tooltipText), findsNothing);
1818
1825
});
1819
1826
@@ -1823,10 +1830,10 @@ void main() {
1823
1830
final Finder tooltip = find.byType (Tooltip );
1824
1831
expect (find.text (tooltipText), findsNothing);
1825
1832
1826
- await testGestureTap (tester, tooltip);
1833
+ await _testGestureTap (tester, tooltip);
1827
1834
expect (find.text (tooltipText), findsNothing);
1828
1835
1829
- await testGestureLongPress (tester, tooltip);
1836
+ await _testGestureLongPress (tester, tooltip);
1830
1837
expect (find.text (tooltipText), findsNothing);
1831
1838
});
1832
1839
@@ -1836,13 +1843,13 @@ void main() {
1836
1843
1837
1844
await setWidgetForTooltipMode (tester, TooltipTriggerMode .longPress, onTriggered: onTriggered);
1838
1845
Finder tooltip = find.byType (Tooltip );
1839
- await testGestureLongPress (tester, tooltip);
1846
+ await _testGestureLongPress (tester, tooltip);
1840
1847
expect (onTriggeredCalled, true );
1841
1848
1842
1849
onTriggeredCalled = false ;
1843
1850
await setWidgetForTooltipMode (tester, TooltipTriggerMode .tap, onTriggered: onTriggered);
1844
1851
tooltip = find.byType (Tooltip );
1845
- await testGestureTap (tester, tooltip);
1852
+ await _testGestureTap (tester, tooltip);
1846
1853
expect (onTriggeredCalled, true );
1847
1854
});
1848
1855
@@ -1925,22 +1932,22 @@ Future<void> setWidgetForTooltipMode(
1925
1932
);
1926
1933
}
1927
1934
1928
- Future <void > testGestureLongPress (WidgetTester tester, Finder tooltip) async {
1935
+ Future <void > _testGestureLongPress (WidgetTester tester, Finder tooltip) async {
1929
1936
final TestGesture gestureLongPress = await tester.startGesture (tester.getCenter (tooltip));
1930
1937
await tester.pump ();
1931
1938
await tester.pump (kLongPressTimeout);
1932
1939
await gestureLongPress.up ();
1933
1940
await tester.pump ();
1934
1941
}
1935
1942
1936
- Future <void > testGestureTap (WidgetTester tester, Finder tooltip) async {
1943
+ Future <void > _testGestureTap (WidgetTester tester, Finder tooltip) async {
1937
1944
await tester.tap (tooltip);
1938
1945
await tester.pump (const Duration (milliseconds: 10 ));
1939
1946
}
1940
1947
1941
- SemanticsNode findDebugSemantics (RenderObject object) {
1948
+ SemanticsNode _findDebugSemantics (RenderObject object) {
1942
1949
if (object.debugSemantics != null ) {
1943
1950
return object.debugSemantics! ;
1944
1951
}
1945
- return findDebugSemantics (object.parent! as RenderObject );
1952
+ return _findDebugSemantics (object.parent! as RenderObject );
1946
1953
}
0 commit comments