|
1 | 1 | import 'package:checks/checks.dart';
|
2 | 2 | import 'package:test/scaffolding.dart';
|
3 | 3 | import 'package:zulip/model/compose.dart';
|
4 |
| -import 'package:zulip/model/narrow.dart'; |
5 |
| -import 'package:zulip/model/internal_link.dart'; |
6 | 4 |
|
7 | 5 | import '../example_data.dart' as eg;
|
8 | 6 | import 'test_store.dart';
|
@@ -222,100 +220,6 @@ hello
|
222 | 220 | });
|
223 | 221 | });
|
224 | 222 |
|
225 |
| - group('narrowLink', () { |
226 |
| - test('CombinedFeedNarrow', () { |
227 |
| - final store = eg.store(); |
228 |
| - check(narrowLink(store, const CombinedFeedNarrow())) |
229 |
| - .equals(store.realmUrl.resolve('#narrow')); |
230 |
| - check(narrowLink(store, const CombinedFeedNarrow(), nearMessageId: 1)) |
231 |
| - .equals(store.realmUrl.resolve('#narrow/near/1')); |
232 |
| - }); |
233 |
| - |
234 |
| - test('MentionsNarrow', () { |
235 |
| - final store = eg.store(); |
236 |
| - check(narrowLink(store, const MentionsNarrow())) |
237 |
| - .equals(store.realmUrl.resolve('#narrow/is/mentioned')); |
238 |
| - check(narrowLink(store, const MentionsNarrow(), nearMessageId: 1)) |
239 |
| - .equals(store.realmUrl.resolve('#narrow/is/mentioned/near/1')); |
240 |
| - }); |
241 |
| - |
242 |
| - test('StarredMessagesNarrow', () { |
243 |
| - final store = eg.store(); |
244 |
| - check(narrowLink(store, const StarredMessagesNarrow())) |
245 |
| - .equals(store.realmUrl.resolve('#narrow/is/starred')); |
246 |
| - check(narrowLink(store, const StarredMessagesNarrow(), nearMessageId: 1)) |
247 |
| - .equals(store.realmUrl.resolve('#narrow/is/starred/near/1')); |
248 |
| - }); |
249 |
| - |
250 |
| - test('ChannelNarrow / TopicNarrow', () { |
251 |
| - void checkNarrow(String expectedFragment, { |
252 |
| - required int streamId, |
253 |
| - required String name, |
254 |
| - String? topic, |
255 |
| - int? nearMessageId, |
256 |
| - }) async { |
257 |
| - assert(expectedFragment.startsWith('#'), 'wrong-looking expectedFragment'); |
258 |
| - final store = eg.store(); |
259 |
| - await store.addStream(eg.stream(streamId: streamId, name: name)); |
260 |
| - final narrow = topic == null |
261 |
| - ? ChannelNarrow(streamId) |
262 |
| - : TopicNarrow(streamId, topic); |
263 |
| - check(narrowLink(store, narrow, nearMessageId: nearMessageId)) |
264 |
| - .equals(store.realmUrl.resolve(expectedFragment)); |
265 |
| - } |
266 |
| - |
267 |
| - checkNarrow(streamId: 1, name: 'announce', '#narrow/stream/1-announce'); |
268 |
| - checkNarrow(streamId: 378, name: 'api design', '#narrow/stream/378-api-design'); |
269 |
| - checkNarrow(streamId: 391, name: 'Outreachy', '#narrow/stream/391-Outreachy'); |
270 |
| - checkNarrow(streamId: 415, name: 'chat.zulip.org', '#narrow/stream/415-chat.2Ezulip.2Eorg'); |
271 |
| - checkNarrow(streamId: 419, name: 'français', '#narrow/stream/419-fran.C3.A7ais'); |
272 |
| - checkNarrow(streamId: 403, name: 'Hshs[™~}(.', '#narrow/stream/403-Hshs.5B.E2.84.A2~.7D.28.2E'); |
273 |
| - checkNarrow(streamId: 60, name: 'twitter', nearMessageId: 1570686, '#narrow/stream/60-twitter/near/1570686'); |
274 |
| - |
275 |
| - checkNarrow(streamId: 48, name: 'mobile', topic: 'Welcome screen UI', |
276 |
| - '#narrow/stream/48-mobile/topic/Welcome.20screen.20UI'); |
277 |
| - checkNarrow(streamId: 243, name: 'mobile-team', topic: 'Podfile.lock clash #F92', |
278 |
| - '#narrow/stream/243-mobile-team/topic/Podfile.2Elock.20clash.20.23F92'); |
279 |
| - checkNarrow(streamId: 377, name: 'translation/zh_tw', topic: '翻譯 "stream"', |
280 |
| - '#narrow/stream/377-translation.2Fzh_tw/topic/.E7.BF.BB.E8.AD.AF.20.22stream.22'); |
281 |
| - checkNarrow(streamId: 42, name: 'Outreachy 2016-2017', topic: '2017-18 Stream?', nearMessageId: 302690, |
282 |
| - '#narrow/stream/42-Outreachy-2016-2017/topic/2017-18.20Stream.3F/near/302690'); |
283 |
| - }); |
284 |
| - |
285 |
| - test('DmNarrow', () { |
286 |
| - void checkNarrow(String expectedFragment, String legacyExpectedFragment, { |
287 |
| - required List<int> allRecipientIds, |
288 |
| - required int selfUserId, |
289 |
| - int? nearMessageId, |
290 |
| - }) { |
291 |
| - assert(expectedFragment.startsWith('#'), 'wrong-looking expectedFragment'); |
292 |
| - final store = eg.store(); |
293 |
| - final narrow = DmNarrow(allRecipientIds: allRecipientIds, selfUserId: selfUserId); |
294 |
| - check(narrowLink(store, narrow, nearMessageId: nearMessageId)) |
295 |
| - .equals(store.realmUrl.resolve(expectedFragment)); |
296 |
| - store.connection.zulipFeatureLevel = 176; |
297 |
| - check(narrowLink(store, narrow, nearMessageId: nearMessageId)) |
298 |
| - .equals(store.realmUrl.resolve(legacyExpectedFragment)); |
299 |
| - } |
300 |
| - |
301 |
| - checkNarrow(allRecipientIds: [1], selfUserId: 1, |
302 |
| - '#narrow/dm/1-dm', |
303 |
| - '#narrow/pm-with/1-pm'); |
304 |
| - checkNarrow(allRecipientIds: [1, 2], selfUserId: 1, |
305 |
| - '#narrow/dm/1,2-dm', |
306 |
| - '#narrow/pm-with/1,2-pm'); |
307 |
| - checkNarrow(allRecipientIds: [1, 2, 3], selfUserId: 1, |
308 |
| - '#narrow/dm/1,2,3-group', |
309 |
| - '#narrow/pm-with/1,2,3-group'); |
310 |
| - checkNarrow(allRecipientIds: [1, 2, 3, 4], selfUserId: 4, |
311 |
| - '#narrow/dm/1,2,3,4-group', |
312 |
| - '#narrow/pm-with/1,2,3,4-group'); |
313 |
| - checkNarrow(allRecipientIds: [1, 2], selfUserId: 1, nearMessageId: 12345, |
314 |
| - '#narrow/dm/1,2-dm/near/12345', |
315 |
| - '#narrow/pm-with/1,2-pm/near/12345'); |
316 |
| - }); |
317 |
| - }); |
318 |
| - |
319 | 223 | group('mention', () {
|
320 | 224 | final user = eg.user(userId: 123, fullName: 'Full Name');
|
321 | 225 | test('not silent', () {
|
|
0 commit comments