initial commit: LeafViewer, LeafZoomable, LeafContextMenu, LeafPopover, LeafImage, misc widgets + tests
This commit is contained in:
commit
9bb0ff9187
156 files changed
+9887
No files matched your search
@@ -0,0 +1,39 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
import 'package:example/main.dart';
|
||||
import 'package:leaf_widgets/leaf_widgets.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('gallery builds and shows all sections', (tester) async {
|
||||
await tester.pumpWidget(const LeafWidgetsGalleryApp());
|
||||
|
||||
expect(find.text('leaf_widgets gallery'), findsOneWidget);
|
||||
expect(find.byType(AnimatedStar), findsNWidgets(2));
|
||||
expect(find.byType(AnimatedFavoriteButton), findsNWidgets(2));
|
||||
expect(find.byType(LeafPopover), findsOneWidget);
|
||||
expect(find.byType(LeafContextMenu), findsOneWidget);
|
||||
expect(find.byType(LeafImage), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('LeafViewer demo opens and closes', (tester) async {
|
||||
await tester.pumpWidget(const LeafWidgetsGalleryApp());
|
||||
|
||||
// The gallery has perpetual animations, so pumpAndSettle can never settle.
|
||||
await tester.scrollUntilVisible(find.text('Open 3-image viewer'), 200);
|
||||
await tester.ensureVisible(find.text('Open 3-image viewer'));
|
||||
await tester.pump(const Duration(milliseconds: 100));
|
||||
await tester.tap(find.text('Open 3-image viewer'));
|
||||
await tester.pump();
|
||||
await tester.pump(const Duration(milliseconds: 400)); // route transition
|
||||
await tester.pump(); // let image loads fail while the widgets are alive
|
||||
|
||||
expect(find.byType(LeafViewer), findsOneWidget);
|
||||
expect(find.byType(LeafZoomable), findsWidgets);
|
||||
|
||||
await tester.tap(find.byIcon(Icons.close));
|
||||
await tester.pump();
|
||||
await tester.pump(const Duration(milliseconds: 600)); // route pop
|
||||
expect(find.byType(LeafViewer), findsNothing);
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user