Skip to content

Commit 99475a0

Browse files
committed
update: unit test
1 parent 1496523 commit 99475a0

File tree

2 files changed

+109
-0
lines changed

2 files changed

+109
-0
lines changed

test/grid_observer_test.dart

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'package:flutter/foundation.dart';
12
import 'package:flutter/material.dart';
23
import 'package:flutter_test/flutter_test.dart';
34
import 'package:scrollview_observer/scrollview_observer.dart';
@@ -331,6 +332,61 @@ void main() {
331332
await tester.pumpAndSettle();
332333
await tester.pump(observerController.observeIntervalForScrolling);
333334
expect(isCalledOnObserve, true);
335+
336+
scrollController.dispose();
337+
});
338+
339+
testWidgets('Check displayingChildModelMap', (tester) async {
340+
final scrollController = ScrollController();
341+
final observerController = GridObserverController(
342+
controller: scrollController,
343+
);
344+
345+
Widget widget = getGridView(
346+
scrollController: scrollController,
347+
);
348+
GridViewObserveModel? observeResult;
349+
widget = GridViewObserver(
350+
child: widget,
351+
controller: observerController,
352+
onObserve: (result) {
353+
observeResult = result;
354+
},
355+
);
356+
await tester.pumpWidget(widget);
357+
await observerController.dispatchOnceObserve(
358+
isForce: true,
359+
);
360+
expect(observeResult, isNotNull);
361+
var firstGroupChildList = observeResult?.firstGroupChildList ?? [];
362+
expect(firstGroupChildList, isNotEmpty);
363+
expect(firstGroupChildList.first.index, 0);
364+
expect(
365+
listEquals(
366+
observeResult?.displayingChildModelMap.values.toList(),
367+
observeResult?.displayingChildModelList,
368+
),
369+
true,
370+
);
371+
372+
int targetItemIndex = 30;
373+
observerController.jumpTo(
374+
index: targetItemIndex,
375+
alignment: 0,
376+
);
377+
await tester.pumpAndSettle();
378+
firstGroupChildList = observeResult?.firstGroupChildList ?? [];
379+
expect(firstGroupChildList, isNotEmpty);
380+
expect(firstGroupChildList.first.index, targetItemIndex);
381+
expect(
382+
listEquals(
383+
observeResult?.displayingChildModelMap.values.toList(),
384+
observeResult?.displayingChildModelList,
385+
),
386+
true,
387+
);
388+
389+
scrollController.dispose();
334390
});
335391

336392
group(

test/list_observer_test.dart

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'package:flutter/foundation.dart';
12
import 'package:flutter/material.dart';
23
import 'package:flutter_test/flutter_test.dart';
34
import 'package:scrollview_observer/scrollview_observer.dart';
@@ -453,6 +454,58 @@ void main() {
453454
await tester.pumpAndSettle();
454455
await tester.pump(observerController.observeIntervalForScrolling);
455456
expect(isCalledOnObserve, true);
457+
458+
scrollController.dispose();
459+
});
460+
461+
testWidgets('Check displayingChildModelMap', (tester) async {
462+
final scrollController = ScrollController();
463+
final observerController = ListObserverController(
464+
controller: scrollController,
465+
);
466+
467+
Widget widget = getListView(
468+
scrollController: scrollController,
469+
);
470+
ListViewObserveModel? observeResult;
471+
widget = ListViewObserver(
472+
child: widget,
473+
controller: observerController,
474+
onObserve: (result) {
475+
observeResult = result;
476+
},
477+
);
478+
await tester.pumpWidget(widget);
479+
await observerController.dispatchOnceObserve(
480+
isForce: true,
481+
);
482+
expect(observeResult, isNotNull);
483+
expect(observeResult?.firstChild?.index, 0);
484+
expect(
485+
listEquals(
486+
observeResult?.displayingChildModelMap.values.toList(),
487+
observeResult?.displayingChildModelList,
488+
),
489+
true,
490+
);
491+
492+
int targetItemIndex = 30;
493+
observerController.jumpTo(
494+
index: targetItemIndex,
495+
alignment: 0,
496+
);
497+
await tester.pumpAndSettle();
498+
await tester.pump(observerController.observeIntervalForScrolling);
499+
expect(observeResult?.firstChild?.index, targetItemIndex);
500+
expect(
501+
listEquals(
502+
observeResult?.displayingChildModelMap.values.toList(),
503+
observeResult?.displayingChildModelList,
504+
),
505+
true,
506+
);
507+
508+
scrollController.dispose();
456509
});
457510

458511
group(

0 commit comments

Comments
 (0)