@@ -42,23 +42,6 @@ void main() {
42
42
notifiedCount = 0 ;
43
43
}
44
44
45
- TypingEvent mkTypingEvent (SendableNarrow narrow, TypingOp op, int senderId) {
46
- switch (narrow) {
47
- case TopicNarrow ():
48
- return TypingEvent (id: 1 , op: op, senderId: senderId,
49
- messageType: MessageType .stream,
50
- streamId: narrow.streamId,
51
- topic: narrow.topic,
52
- recipientIds: null );
53
- case DmNarrow ():
54
- return TypingEvent (id: 1 , op: op, senderId: senderId,
55
- messageType: MessageType .private,
56
- recipientIds: narrow.allRecipientIds,
57
- streamId: null ,
58
- topic: null );
59
- }
60
- }
61
-
62
45
final stream = eg.stream ();
63
46
final topicNarrow = TopicNarrow (stream.streamId, 'foo' );
64
47
@@ -75,20 +58,20 @@ void main() {
75
58
prepareModel ();
76
59
77
60
model.handleTypingEvent (
78
- mkTypingEvent (dmNarrow, TypingOp .start, otherUser.userId));
61
+ eg. typingEvent (dmNarrow, TypingOp .start, otherUser.userId));
79
62
check (model).typistsByLocation.deepEquals (
80
63
{dmNarrow: {otherUser.userId: anyTimer}});
81
64
checkNotifiedOnce ();
82
65
83
66
model.handleTypingEvent (
84
- mkTypingEvent (groupNarrow, TypingOp .start, thirdUser.userId));
67
+ eg. typingEvent (groupNarrow, TypingOp .start, thirdUser.userId));
85
68
check (model).typistsByLocation.deepEquals ({
86
69
dmNarrow: {otherUser.userId: anyTimer},
87
70
groupNarrow: {thirdUser.userId: anyTimer}});
88
71
checkNotifiedOnce ();
89
72
90
73
model.handleTypingEvent (
91
- mkTypingEvent (topicNarrow, TypingOp .start, eg.selfUser.userId));
74
+ eg. typingEvent (topicNarrow, TypingOp .start, eg.selfUser.userId));
92
75
check (model).typistsByLocation.deepEquals ({
93
76
dmNarrow: {otherUser.userId: anyTimer},
94
77
groupNarrow: {thirdUser.userId: anyTimer},
@@ -100,13 +83,13 @@ void main() {
100
83
prepareModel ();
101
84
102
85
model.handleTypingEvent (
103
- mkTypingEvent (groupNarrow, TypingOp .start, eg.selfUser.userId));
86
+ eg. typingEvent (groupNarrow, TypingOp .start, eg.selfUser.userId));
104
87
check (model).typistsByLocation.deepEquals ({
105
88
groupNarrow: {eg.selfUser.userId: anyTimer}});
106
89
checkNotifiedOnce ();
107
90
108
91
model.handleTypingEvent (
109
- mkTypingEvent (groupNarrow, TypingOp .start, thirdUser.userId));
92
+ eg. typingEvent (groupNarrow, TypingOp .start, thirdUser.userId));
110
93
check (model).typistsByLocation.deepEquals ({
111
94
groupNarrow: {eg.selfUser.userId: anyTimer, thirdUser.userId: anyTimer}});
112
95
checkNotifiedOnce ();
@@ -131,14 +114,14 @@ void main() {
131
114
prepareModel ();
132
115
133
116
model.handleTypingEvent (
134
- mkTypingEvent (groupNarrow, TypingOp .start, otherUser.userId));
117
+ eg. typingEvent (groupNarrow, TypingOp .start, otherUser.userId));
135
118
checkNotifiedOnce ();
136
119
137
120
check (model).typistsByLocation.deepEquals ({
138
121
groupNarrow: {otherUser.userId: anyTimer}});
139
122
140
123
model.handleTypingEvent (
141
- mkTypingEvent (dmNarrow, TypingOp .stop, otherUser.userId));
124
+ eg. typingEvent (dmNarrow, TypingOp .stop, otherUser.userId));
142
125
check (model).typistsByLocation.deepEquals ({
143
126
groupNarrow: {otherUser.userId: anyTimer}});
144
127
checkNotNotified ();
@@ -148,17 +131,17 @@ void main() {
148
131
prepareModel ();
149
132
150
133
model.handleTypingEvent (
151
- mkTypingEvent (groupNarrow, TypingOp .start, otherUser.userId));
134
+ eg. typingEvent (groupNarrow, TypingOp .start, otherUser.userId));
152
135
checkNotifiedOnce ();
153
136
model.handleTypingEvent (
154
- mkTypingEvent (groupNarrow, TypingOp .start, eg.selfUser.userId));
137
+ eg. typingEvent (groupNarrow, TypingOp .start, eg.selfUser.userId));
155
138
checkNotifiedOnce ();
156
139
157
140
check (model).typistsByLocation.deepEquals ({
158
141
groupNarrow: {otherUser.userId: anyTimer, eg.selfUser.userId: anyTimer}});
159
142
160
143
model.handleTypingEvent (
161
- mkTypingEvent (groupNarrow, TypingOp .stop, otherUser.userId));
144
+ eg. typingEvent (groupNarrow, TypingOp .stop, otherUser.userId));
162
145
check (model).typistsByLocation.deepEquals ({
163
146
groupNarrow: {eg.selfUser.userId: anyTimer}});
164
147
checkNotifiedOnce ();
@@ -168,13 +151,13 @@ void main() {
168
151
prepareModel ();
169
152
170
153
model.handleTypingEvent (
171
- mkTypingEvent (dmNarrow, TypingOp .start, otherUser.userId));
154
+ eg. typingEvent (dmNarrow, TypingOp .start, otherUser.userId));
172
155
checkNotifiedOnce ();
173
156
model.handleTypingEvent (
174
- mkTypingEvent (groupNarrow, TypingOp .start, thirdUser.userId));
157
+ eg. typingEvent (groupNarrow, TypingOp .start, thirdUser.userId));
175
158
checkNotifiedOnce ();
176
159
model.handleTypingEvent (
177
- mkTypingEvent (topicNarrow, TypingOp .start, eg.selfUser.userId));
160
+ eg. typingEvent (topicNarrow, TypingOp .start, eg.selfUser.userId));
178
161
checkNotifiedOnce ();
179
162
180
163
async .elapse (const Duration (seconds: 5 ));
@@ -184,20 +167,20 @@ void main() {
184
167
topicNarrow: {eg.selfUser.userId: anyTimer}});
185
168
186
169
model.handleTypingEvent (
187
- mkTypingEvent (groupNarrow, TypingOp .stop, thirdUser.userId));
170
+ eg. typingEvent (groupNarrow, TypingOp .stop, thirdUser.userId));
188
171
check (model).typistsByLocation.deepEquals ({
189
172
dmNarrow: {otherUser.userId: anyTimer},
190
173
topicNarrow: {eg.selfUser.userId: anyTimer}});
191
174
checkNotifiedOnce ();
192
175
193
176
model.handleTypingEvent (
194
- mkTypingEvent (dmNarrow, TypingOp .stop, otherUser.userId));
177
+ eg. typingEvent (dmNarrow, TypingOp .stop, otherUser.userId));
195
178
check (model).typistsByLocation.deepEquals ({
196
179
topicNarrow: {eg.selfUser.userId: anyTimer}});
197
180
checkNotifiedOnce ();
198
181
199
182
model.handleTypingEvent (
200
- mkTypingEvent (topicNarrow, TypingOp .stop, eg.selfUser.userId));
183
+ eg. typingEvent (topicNarrow, TypingOp .stop, eg.selfUser.userId));
201
184
check (model).typistsByLocation.isEmpty ();
202
185
checkNotifiedOnce ();
203
186
}));
@@ -208,12 +191,12 @@ void main() {
208
191
prepareModel ();
209
192
210
193
model.handleTypingEvent (
211
- mkTypingEvent (dmNarrow, TypingOp .start, otherUser.userId));
194
+ eg. typingEvent (dmNarrow, TypingOp .start, otherUser.userId));
212
195
var oldTimer = check (model).typistsByLocation[dmNarrow][otherUser.userId]
213
196
..isActive.isTrue ();
214
197
checkNotifiedOnce ();
215
198
model.handleTypingEvent (
216
- mkTypingEvent (dmNarrow, TypingOp .stop, otherUser.userId));
199
+ eg. typingEvent (dmNarrow, TypingOp .stop, otherUser.userId));
217
200
oldTimer.isActive.isFalse ();
218
201
checkNotifiedOnce ();
219
202
}));
@@ -222,12 +205,12 @@ void main() {
222
205
prepareModel ();
223
206
224
207
model.handleTypingEvent (
225
- mkTypingEvent (groupNarrow, TypingOp .start, otherUser.userId));
208
+ eg. typingEvent (groupNarrow, TypingOp .start, otherUser.userId));
226
209
var oldTimer = check (model).typistsByLocation[groupNarrow][otherUser.userId]
227
210
..isActive.isTrue ();
228
211
checkNotifiedOnce ();
229
212
model.handleTypingEvent (
230
- mkTypingEvent (groupNarrow, TypingOp .start, otherUser.userId));
213
+ eg. typingEvent (groupNarrow, TypingOp .start, otherUser.userId));
231
214
oldTimer.isActive.isFalse ();
232
215
checkNotNotified ();
233
216
}));
@@ -238,7 +221,7 @@ void main() {
238
221
prepareModel ();
239
222
240
223
model.handleTypingEvent (
241
- mkTypingEvent (dmNarrow, TypingOp .start, otherUser.userId));
224
+ eg. typingEvent (dmNarrow, TypingOp .start, otherUser.userId));
242
225
checkNotifiedOnce ();
243
226
244
227
async .elapse (const Duration (seconds: 10 ));
@@ -247,7 +230,7 @@ void main() {
247
230
});
248
231
// We expect the timer to restart from the event.
249
232
model.handleTypingEvent (
250
- mkTypingEvent (dmNarrow, TypingOp .start, otherUser.userId));
233
+ eg. typingEvent (dmNarrow, TypingOp .start, otherUser.userId));
251
234
checkNotNotified ();
252
235
253
236
async .elapse (const Duration (seconds: 10 ));
@@ -266,7 +249,7 @@ void main() {
266
249
prepareModel ();
267
250
268
251
model.handleTypingEvent (
269
- mkTypingEvent (dmNarrow, TypingOp .start, otherUser.userId));
252
+ eg. typingEvent (dmNarrow, TypingOp .start, otherUser.userId));
270
253
async .elapse (const Duration (seconds: 5 ));
271
254
check (model).typistsByLocation.deepEquals ({
272
255
dmNarrow: {otherUser.userId: anyTimer}
0 commit comments