@@ -88,6 +88,31 @@ void main() {
88
88
return scrollView.controller;
89
89
}
90
90
91
+ group ('MessageListPage' , () {
92
+ testWidgets ('composeBoxControllerOf finds compose box' , (tester) async {
93
+ final stream = eg.stream ();
94
+ await setupMessageListPage (tester, narrow: StreamNarrow (stream.streamId),
95
+ messages: [eg.streamMessage (stream: stream, content: "<p>a message</p>" )]);
96
+ final context = tester.element (find.text ("a message" ));
97
+ check (MessageListPage .composeBoxControllerOf (context)).isNotNull ();
98
+ });
99
+
100
+ testWidgets ('composeBoxControllerOf null when no compose box' , (tester) async {
101
+ await setupMessageListPage (tester, narrow: const CombinedFeedNarrow (),
102
+ messages: [eg.streamMessage (content: "<p>a message</p>" )]);
103
+ final context = tester.element (find.text ("a message" ));
104
+ check (MessageListPage .composeBoxControllerOf (context)).isNull ();
105
+ });
106
+
107
+ testWidgets ('composeBoxControllerOf throws when not a descendant of MessageListPage' , (tester) async {
108
+ await setupMessageListPage (tester,
109
+ messages: [eg.streamMessage (content: "<p>a message</p>" )]);
110
+ final element = tester.element (find.byType (PerAccountStoreWidget ));
111
+ check (() => MessageListPage .composeBoxControllerOf (element))
112
+ .throws <void >();
113
+ });
114
+ });
115
+
91
116
group ('presents message content appropriately' , () {
92
117
// regression test for https://github.com/zulip/zulip-flutter/issues/736
93
118
testWidgets ('content in "Combined feed" not asked to consume insets (including bottom)' , (tester) async {
0 commit comments