From fb3abba49821f1a0f786aafd705b91ced421ff5c Mon Sep 17 00:00:00 2001 From: Taha Tesser Date: Sat, 7 Oct 2023 20:00:42 +0300 Subject: [PATCH] Throw a helpful error message when returning an empty list in `pageListBuilder` --- lib/src/wolt_modal_sheet.dart | 1 + test/wolt_modal_sheet_test.dart | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/src/wolt_modal_sheet.dart b/lib/src/wolt_modal_sheet.dart index b0ab1817..e8e5af72 100644 --- a/lib/src/wolt_modal_sheet.dart +++ b/lib/src/wolt_modal_sheet.dart @@ -215,6 +215,7 @@ class _WoltModalSheetState extends State { valueListenable: pagesListBuilderNotifier, builder: (context, pagesBuilder, _) { final pages = pagesBuilder(context); + assert(pages.isNotEmpty, 'pageListBuilder must return a non-empty list.'); return ValueListenableBuilder( valueListenable: pageIndexNotifier, builder: (_, int pageIndex, __) { diff --git a/test/wolt_modal_sheet_test.dart b/test/wolt_modal_sheet_test.dart index 5291f675..b2d89ad6 100644 --- a/test/wolt_modal_sheet_test.dart +++ b/test/wolt_modal_sheet_test.dart @@ -59,7 +59,9 @@ void main() { await tester.tap(find.text('Open sheet')); await tester.pumpAndSettle(); - expect(tester.takeException(), isNotNull); + final AssertionError exception = tester.takeException() as AssertionError; + expect(exception, isAssertionError); + expect(exception.message, 'pageListBuilder must return a non-empty list.'); }); });