+10
@@ -8,6 +8,10 @@ packages:
|
|||||||
- packages/**
|
- packages/**
|
||||||
|
|
||||||
scripts:
|
scripts:
|
||||||
|
postclean:
|
||||||
|
run: melos run clean:flutter --no-select
|
||||||
|
description: Runs "flutter clean" in all Flutter packages
|
||||||
|
|
||||||
lint:all:
|
lint:all:
|
||||||
run: melos run analyze && melos run format
|
run: melos run analyze && melos run format
|
||||||
description: Run all static analysis checks
|
description: Run all static analysis checks
|
||||||
@@ -75,6 +79,12 @@ scripts:
|
|||||||
flutter: true
|
flutter: true
|
||||||
dir-exists: test
|
dir-exists: test
|
||||||
|
|
||||||
|
clean:flutter:
|
||||||
|
run: melos exec -c 4 --fail-fast -- "flutter clean"
|
||||||
|
description: Run Flutter clean for a specific package in this project.
|
||||||
|
select-package:
|
||||||
|
flutter: true
|
||||||
|
|
||||||
coverage:ignore-file:
|
coverage:ignore-file:
|
||||||
run: |
|
run: |
|
||||||
melos exec -c 5 --fail-fast -- "\$MELOS_ROOT_PATH/.github/workflows/scripts/remove-from-coverage.sh"
|
melos exec -c 5 --fail-fast -- "\$MELOS_ROOT_PATH/.github/workflows/scripts/remove-from-coverage.sh"
|
||||||
|
|||||||
@@ -48,9 +48,9 @@ void main() {
|
|||||||
final channelState = ChannelState(
|
final channelState = ChannelState(
|
||||||
channel: ChannelModel.fromJson(j['channel']),
|
channel: ChannelModel.fromJson(j['channel']),
|
||||||
members: [],
|
members: [],
|
||||||
messages: (j['messages'] as List<Map<String, dynamic>>)
|
messages:
|
||||||
.map(Message.fromJson)
|
// ignore: unnecessary_lambdas
|
||||||
.toList(),
|
(j['messages'] as List).map((m) => Message.fromJson(m)).toList(),
|
||||||
read: [],
|
read: [],
|
||||||
watcherCount: 5,
|
watcherCount: 5,
|
||||||
pinnedMessages: [],
|
pinnedMessages: [],
|
||||||
|
|||||||
+12
-10
@@ -933,6 +933,11 @@ void main() {
|
|||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
final fadeTransitionFinder = find.descendant(
|
||||||
|
of: find.byType(ScrollablePositionedList),
|
||||||
|
matching: find.byType(FadeTransition),
|
||||||
|
);
|
||||||
|
|
||||||
testWidgets('Scroll to 0 stop before half way', (WidgetTester tester) async {
|
testWidgets('Scroll to 0 stop before half way', (WidgetTester tester) async {
|
||||||
final itemScrollController = ItemScrollController();
|
final itemScrollController = ItemScrollController();
|
||||||
await setUpWidgetTest(tester, itemScrollController: itemScrollController);
|
await setUpWidgetTest(tester, itemScrollController: itemScrollController);
|
||||||
@@ -951,7 +956,7 @@ void main() {
|
|||||||
await tester.pump();
|
await tester.pump();
|
||||||
|
|
||||||
expect(tester.getTopLeft(find.text('Item 91')).dy, 0);
|
expect(tester.getTopLeft(find.text('Item 91')).dy, 0);
|
||||||
expect(find.byType(FadeTransition), findsNWidgets(2));
|
expect(fadeTransitionFinder, findsNWidgets(1));
|
||||||
|
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
});
|
});
|
||||||
@@ -976,7 +981,7 @@ void main() {
|
|||||||
expect(tester.getBottomLeft(find.text('Item 100')).dy,
|
expect(tester.getBottomLeft(find.text('Item 100')).dy,
|
||||||
closeTo(screenHeight, tolerance));
|
closeTo(screenHeight, tolerance));
|
||||||
expect(find.text('Item 9', skipOffstage: false), findsNothing);
|
expect(find.text('Item 9', skipOffstage: false), findsNothing);
|
||||||
expect(find.byType(FadeTransition), findsNWidgets(2));
|
expect(fadeTransitionFinder, findsNWidgets(1));
|
||||||
|
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
});
|
});
|
||||||
@@ -999,11 +1004,7 @@ void main() {
|
|||||||
await tester.pump();
|
await tester.pump();
|
||||||
|
|
||||||
expect(tester.getTopLeft(find.text('Item 9')).dy, closeTo(0, tolerance));
|
expect(tester.getTopLeft(find.text('Item 9')).dy, closeTo(0, tolerance));
|
||||||
final fadeTransition = tester.widget<FadeTransition>(find
|
final fadeTransition = tester.widget<FadeTransition>(fadeTransitionFinder);
|
||||||
.descendant(
|
|
||||||
of: find.byType(ScrollablePositionedList),
|
|
||||||
matching: find.byType(FadeTransition))
|
|
||||||
.last);
|
|
||||||
expect(fadeTransition.opacity.value, 1.0);
|
expect(fadeTransition.opacity.value, 1.0);
|
||||||
|
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
@@ -1021,13 +1022,14 @@ void main() {
|
|||||||
itemScrollController.scrollTo(index: 0, duration: scrollDuration));
|
itemScrollController.scrollTo(index: 0, duration: scrollDuration));
|
||||||
await tester.pump();
|
await tester.pump();
|
||||||
await tester.pump();
|
await tester.pump();
|
||||||
await tester.pump(scrollDuration ~/ 2);
|
await tester.pump(scrollDuration ~/ 2 + scrollDuration ~/ 20);
|
||||||
|
|
||||||
await tester.tap(find.byType(ScrollablePositionedList));
|
await tester.tap(find.byType(ScrollablePositionedList));
|
||||||
await tester.pump();
|
await tester.pump();
|
||||||
|
|
||||||
expect(tester.getTopLeft(find.text('Item 90')).dy, 0);
|
expect(tester.getTopLeft(find.text('Item 9')).dy, closeTo(0, tolerance));
|
||||||
expect(find.byType(FadeTransition), findsNWidgets(2));
|
final fadeTransition = tester.widget<FadeTransition>(fadeTransitionFinder);
|
||||||
|
expect(fadeTransition.opacity.value, 1.0);
|
||||||
|
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -114,9 +114,9 @@ void main() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
bool findBackground(Widget widget) =>
|
bool findBackground(Widget widget) =>
|
||||||
widget is Container &&
|
widget is DecoratedBox &&
|
||||||
widget.decoration is BoxDecoration &&
|
widget.decoration is BoxDecoration &&
|
||||||
(widget.decoration! as BoxDecoration).image != null;
|
(widget.decoration as BoxDecoration).image != null;
|
||||||
|
|
||||||
expect(find.byType(StreamMessageListView), findsOneWidget);
|
expect(find.byType(StreamMessageListView), findsOneWidget);
|
||||||
expect(find.byKey(nonEmptyWidgetKey), findsOneWidget);
|
expect(find.byKey(nonEmptyWidgetKey), findsOneWidget);
|
||||||
|
|||||||
Reference in New Issue
Block a user