From 543b2be7ceecd32d723edb6546ffd79f9d9c65dc Mon Sep 17 00:00:00 2001 From: Chris Bobbe Date: Tue, 21 May 2024 15:40:00 -0700 Subject: [PATCH] widget tests: Use whole [zulipThemeData] where [theme.extensions] is needed This makes the tests more representative, and also more flexible when we want to change the [MaterialApp.theme] that our widgets want to consume. --- test/widgets/action_sheet_test.dart | 7 ++++--- test/widgets/autocomplete_test.dart | 8 ++++---- test/widgets/content_test.dart | 7 ++----- test/widgets/message_list_test.dart | 7 ++++--- test/widgets/profile_test.dart | 9 +++++---- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/test/widgets/action_sheet_test.dart b/test/widgets/action_sheet_test.dart index 3857d6801f..d7bd36a8d8 100644 --- a/test/widgets/action_sheet_test.dart +++ b/test/widgets/action_sheet_test.dart @@ -18,6 +18,7 @@ import 'package:zulip/widgets/icons.dart'; import 'package:zulip/widgets/message_list.dart'; import 'package:zulip/widgets/store.dart'; import 'package:share_plus_platform_interface/method_channel/method_channel_share.dart'; +import 'package:zulip/widgets/theme.dart'; import '../api/fake_api.dart'; import '../example_data.dart' as eg; @@ -56,15 +57,15 @@ Future setupToMessageActionSheet(WidgetTester tester, { messages: [message], ).toJson()); - await tester.pumpWidget( + await tester.pumpWidget(Builder(builder: (context) => MaterialApp( - theme: ThemeData(extensions: [ContentTheme()]), + theme: zulipThemeData(context), localizationsDelegates: ZulipLocalizations.localizationsDelegates, supportedLocales: ZulipLocalizations.supportedLocales, home: GlobalStoreWidget( child: PerAccountStoreWidget( accountId: eg.selfAccount.id, - child: MessageListPage(narrow: narrow))))); + child: MessageListPage(narrow: narrow)))))); // global store, per-account store, and message list get loaded await tester.pumpAndSettle(); diff --git a/test/widgets/autocomplete_test.dart b/test/widgets/autocomplete_test.dart index 34c8e2ef37..0b5d95c1cd 100644 --- a/test/widgets/autocomplete_test.dart +++ b/test/widgets/autocomplete_test.dart @@ -7,9 +7,9 @@ import 'package:zulip/api/route/messages.dart'; import 'package:zulip/model/compose.dart'; import 'package:zulip/model/narrow.dart'; import 'package:zulip/model/store.dart'; -import 'package:zulip/widgets/content.dart'; import 'package:zulip/widgets/message_list.dart'; import 'package:zulip/widgets/store.dart'; +import 'package:zulip/widgets/theme.dart'; import '../api/fake_api.dart'; import '../example_data.dart' as eg; @@ -49,9 +49,9 @@ Future setupToComposeInput(WidgetTester tester, { prepareBoringImageHttpClient(); - await tester.pumpWidget( + await tester.pumpWidget(Builder(builder: (context) => MaterialApp( - theme: ThemeData(extensions: [ContentTheme()]), + theme: zulipThemeData(context), localizationsDelegates: ZulipLocalizations.localizationsDelegates, supportedLocales: ZulipLocalizations.supportedLocales, home: GlobalStoreWidget( @@ -61,7 +61,7 @@ Future setupToComposeInput(WidgetTester tester, { narrow: DmNarrow( allRecipientIds: [eg.selfUser.userId, eg.otherUser.userId], selfUserId: eg.selfUser.userId, - )))))); + ))))))); // global store, per-account store, and message list get loaded await tester.pumpAndSettle(); diff --git a/test/widgets/content_test.dart b/test/widgets/content_test.dart index 34912a76f6..63e1223b03 100644 --- a/test/widgets/content_test.dart +++ b/test/widgets/content_test.dart @@ -14,7 +14,7 @@ import 'package:zulip/widgets/icons.dart'; import 'package:zulip/widgets/message_list.dart'; import 'package:zulip/widgets/page.dart'; import 'package:zulip/widgets/store.dart'; -import 'package:zulip/widgets/text.dart'; +import 'package:zulip/widgets/theme.dart'; import '../example_data.dart' as eg; import '../flutter_checks.dart'; @@ -129,10 +129,7 @@ void main() { await tester.pumpWidget( Builder(builder: (context) => MaterialApp( - theme: ThemeData( - typography: zulipTypography(context), - extensions: [ContentTheme()], - ), + theme: zulipThemeData(context), localizationsDelegates: ZulipLocalizations.localizationsDelegates, supportedLocales: ZulipLocalizations.supportedLocales, navigatorObservers: navObservers, diff --git a/test/widgets/message_list_test.dart b/test/widgets/message_list_test.dart index e53c3aadc8..6e6418745e 100644 --- a/test/widgets/message_list_test.dart +++ b/test/widgets/message_list_test.dart @@ -19,6 +19,7 @@ import 'package:zulip/widgets/content.dart'; import 'package:zulip/widgets/icons.dart'; import 'package:zulip/widgets/message_list.dart'; import 'package:zulip/widgets/store.dart'; +import 'package:zulip/widgets/theme.dart'; import '../api/fake_api.dart'; import '../example_data.dart' as eg; @@ -66,15 +67,15 @@ void main() { connection.prepare(json: newestResult(foundOldest: foundOldest, messages: messages).toJson()); - await tester.pumpWidget( + await tester.pumpWidget(Builder(builder: (context) => MaterialApp( - theme: ThemeData(extensions: [ContentTheme()]), + theme: zulipThemeData(context), localizationsDelegates: ZulipLocalizations.localizationsDelegates, supportedLocales: ZulipLocalizations.supportedLocales, home: GlobalStoreWidget( child: PerAccountStoreWidget( accountId: eg.selfAccount.id, - child: MessageListPage(narrow: narrow))))); + child: MessageListPage(narrow: narrow)))))); // global store, per-account store, and message list get loaded await tester.pumpAndSettle(); diff --git a/test/widgets/profile_test.dart b/test/widgets/profile_test.dart index bdf2cbc208..1942a2d73f 100644 --- a/test/widgets/profile_test.dart +++ b/test/widgets/profile_test.dart @@ -11,6 +11,7 @@ import 'package:zulip/widgets/message_list.dart'; import 'package:zulip/widgets/page.dart'; import 'package:zulip/widgets/profile.dart'; import 'package:zulip/widgets/store.dart'; +import 'package:zulip/widgets/theme.dart'; import '../example_data.dart' as eg; import '../model/binding.dart'; @@ -41,15 +42,15 @@ Future setupPage(WidgetTester tester, { } await tester.pumpWidget( - GlobalStoreWidget( - child: MaterialApp( - theme: ThemeData(extensions: [ContentTheme()]), + GlobalStoreWidget(child: Builder(builder: (context) => + MaterialApp( + theme: zulipThemeData(context), navigatorObservers: navigatorObserver != null ? [navigatorObserver] : [], localizationsDelegates: ZulipLocalizations.localizationsDelegates, supportedLocales: ZulipLocalizations.supportedLocales, home: PerAccountStoreWidget( accountId: eg.selfAccount.id, - child: ProfilePage(userId: pageUserId))))); + child: ProfilePage(userId: pageUserId)))))); // global store, per-account store, and page get loaded await tester.pumpAndSettle();