Skip to content

Commit fc7086d

Browse files
committed
chore: updating changelog and adding tests for the new feature
1 parent 09851b9 commit fc7086d

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
- feat: adding `NesIcons.shovel`.
33
- feat: adding `NesDpad`
44
- feat: adding `NesIcons.gem`.
5+
- feat: adding `initialTabIndex` to `NesTabView`
56

67
# 0.21.0
78
- Update to Flutter 3.22.0

test/src/widgets/nes_tab_view_test.dart

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,67 @@ void main() {
3232
expect(find.text('Tab 2 content'), findsNothing);
3333
});
3434

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+
3596
testWidgets('can select a different tab', (tester) async {
3697
await tester.pumpWidget(
3798
MaterialApp(

0 commit comments

Comments
 (0)