feat(home): 首页图标区分实心选中态
This commit is contained in:
1 parent
6a10992812
commit
4592b5dfba
6 files changed
+44
-12
No files matched your search
@@ -181,8 +181,8 @@ void main() {
|
||||
});
|
||||
|
||||
testWidgets('should_fallback_when_asset_icon_is_missing', (tester) async {
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
Widget navigation({required bool selected}) {
|
||||
return MaterialApp(
|
||||
home: Scaffold(
|
||||
bottomNavigationBar: AppBottomNav(
|
||||
items: [
|
||||
@@ -191,17 +191,23 @@ void main() {
|
||||
icon: Icons.theaters_outlined,
|
||||
selectedIcon: Icons.theaters,
|
||||
assetPath: 'assets/icon/missing_film_reel.png',
|
||||
selectedAssetPath: 'assets/icon/missing_film_reel_filled.png',
|
||||
label: 'Home',
|
||||
selected: true,
|
||||
selected: selected,
|
||||
onTap: () {},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
);
|
||||
}
|
||||
|
||||
await tester.pumpWidget(navigation(selected: true));
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.byIcon(Icons.theaters), findsOneWidget);
|
||||
|
||||
await tester.pumpWidget(navigation(selected: false));
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.byIcon(Icons.theaters_outlined), findsOneWidget);
|
||||
});
|
||||
}
|
||||
@@ -235,7 +235,7 @@ void main() {
|
||||
);
|
||||
expect(
|
||||
(selectedHomeImage.image as AssetImage).assetName,
|
||||
'assets/icon/film_reel.png',
|
||||
'assets/icon/film_reel_filled.png',
|
||||
);
|
||||
expect(
|
||||
Size(selectedHomeImage.width!, selectedHomeImage.height!),
|
||||
@@ -300,6 +300,16 @@ void main() {
|
||||
.colorFilter,
|
||||
const ColorFilter.mode(AppColors.navUnselected, BlendMode.srcIn),
|
||||
);
|
||||
final unselectedHomeImage = tester.widget<Image>(
|
||||
find.descendant(
|
||||
of: find.byKey(const Key('tab-home')),
|
||||
matching: find.byType(Image),
|
||||
),
|
||||
);
|
||||
expect(
|
||||
(unselectedHomeImage.image as AssetImage).assetName,
|
||||
'assets/icon/film_reel.png',
|
||||
);
|
||||
});
|
||||
|
||||
testWidgets('should_map_four_tabs_to_home_recommend_following_and_me', (
|
||||
|
||||
Reference in new issue
Block a user