@@ -32,6 +32,67 @@ void main() {
32
32
expect (find.text ('Tab 2 content' ), findsNothing);
33
33
});
34
34
35
+ testWidgets (
36
+ 'renders the last tab when the initial index is out of bounds' ,
37
+ (tester) async {
38
+ await tester.pumpWidget (
39
+ MaterialApp (
40
+ theme: flutterNesTheme (),
41
+ home: const Scaffold (
42
+ body: NesTabView (
43
+ initialTabIndex: 99 ,
44
+ tabs: [
45
+ NesTabItem (
46
+ label: 'Tab 1' ,
47
+ child: Text ('Tab 1 content' ),
48
+ ),
49
+ NesTabItem (
50
+ label: 'Tab 2' ,
51
+ child: Text ('Tab 2 content' ),
52
+ ),
53
+ ],
54
+ ),
55
+ ),
56
+ ),
57
+ );
58
+
59
+ expect (find.byType (NesTabView ), findsOneWidget);
60
+ expect (find.text ('Tab 1' ), findsOneWidget);
61
+ expect (find.text ('Tab 1 content' ), findsNothing);
62
+ expect (find.text ('Tab 2' ), findsOneWidget);
63
+ expect (find.text ('Tab 2 content' ), findsOneWidget);
64
+ },
65
+ );
66
+
67
+ testWidgets ('renders correctly with initial tab index' , (tester) async {
68
+ await tester.pumpWidget (
69
+ MaterialApp (
70
+ theme: flutterNesTheme (),
71
+ home: const Scaffold (
72
+ body: NesTabView (
73
+ initialTabIndex: 1 ,
74
+ tabs: [
75
+ NesTabItem (
76
+ label: 'Tab 1' ,
77
+ child: Text ('Tab 1 content' ),
78
+ ),
79
+ NesTabItem (
80
+ label: 'Tab 2' ,
81
+ child: Text ('Tab 2 content' ),
82
+ ),
83
+ ],
84
+ ),
85
+ ),
86
+ ),
87
+ );
88
+
89
+ expect (find.byType (NesTabView ), findsOneWidget);
90
+ expect (find.text ('Tab 1' ), findsOneWidget);
91
+ expect (find.text ('Tab 1 content' ), findsNothing);
92
+ expect (find.text ('Tab 2' ), findsOneWidget);
93
+ expect (find.text ('Tab 2 content' ), findsOneWidget);
94
+ });
95
+
35
96
testWidgets ('can select a different tab' , (tester) async {
36
97
await tester.pumpWidget (
37
98
MaterialApp (
0 commit comments