20
20
#include < utility>
21
21
#include < vector>
22
22
23
- #import " Firestore/Source/Core/FSTView.h"
24
-
25
23
#import " Firestore/Example/Tests/Util/FSTHelpers.h"
26
24
27
25
#include " Firestore/core/include/firebase/firestore/firestore_errors.h"
28
26
#include " Firestore/core/src/firebase/firestore/core/event_listener.h"
29
27
#include " Firestore/core/src/firebase/firestore/core/listen_options.h"
30
28
#include " Firestore/core/src/firebase/firestore/core/query_listener.h"
29
+ #include " Firestore/core/src/firebase/firestore/core/view.h"
31
30
#include " Firestore/core/src/firebase/firestore/core/view_snapshot.h"
32
31
#include " Firestore/core/src/firebase/firestore/model/document_set.h"
33
32
#include " Firestore/core/src/firebase/firestore/model/types.h"
39
38
#include " Firestore/core/test/firebase/firestore/testutil/testutil.h"
40
39
#include " Firestore/core/test/firebase/firestore/testutil/xcgmock.h"
41
40
41
+ namespace core = firebase::firestore::core;
42
+
42
43
using firebase::firestore::Error;
43
44
using firebase::firestore::core::AsyncEventListener;
44
45
using firebase::firestore::core::EventListener;
45
46
using firebase::firestore::core::DocumentViewChange;
46
47
using firebase::firestore::core::EventListener;
47
48
using firebase::firestore::core::ListenOptions;
48
49
using firebase::firestore::core::QueryListener;
50
+ using firebase::firestore::core::View;
49
51
using firebase::firestore::core::ViewSnapshot;
50
52
using firebase::firestore::model::Document;
51
53
using firebase::firestore::model::DocumentKeySet;
@@ -116,14 +118,14 @@ - (void)testRaisesCollectionEvents {
116
118
auto listener = QueryListener::Create (query, _includeMetadataChanges, Accumulating (&accum));
117
119
auto otherListener = QueryListener::Create (query, Accumulating (&otherAccum));
118
120
119
- FSTView * view = [[FSTView alloc ] initWithQuery: query remoteDocuments: DocumentKeySet{}] ;
120
- ViewSnapshot snap1 = FSTTestApplyChanges (view, {doc1, doc2}, absl::nullopt).value ();
121
- ViewSnapshot snap2 = FSTTestApplyChanges (view, {doc2prime}, absl::nullopt).value ();
121
+ View view ( query, DocumentKeySet{}) ;
122
+ ViewSnapshot snap1 = FSTTestApplyChanges (& view, {doc1, doc2}, absl::nullopt).value ();
123
+ ViewSnapshot snap2 = FSTTestApplyChanges (& view, {doc2prime}, absl::nullopt).value ();
122
124
123
- DocumentViewChange change1{doc1, DocumentViewChange::Type::kAdded };
124
- DocumentViewChange change2{doc2, DocumentViewChange::Type::kAdded };
125
- DocumentViewChange change3{doc2prime, DocumentViewChange::Type::kModified };
126
- DocumentViewChange change4{doc2prime, DocumentViewChange::Type::kAdded };
125
+ DocumentViewChange change1{doc1, DocumentViewChange::Type::Added };
126
+ DocumentViewChange change2{doc2, DocumentViewChange::Type::Added };
127
+ DocumentViewChange change3{doc2prime, DocumentViewChange::Type::Modified };
128
+ DocumentViewChange change4{doc2prime, DocumentViewChange::Type::Added };
127
129
128
130
listener->OnViewSnapshot (snap1);
129
131
listener->OnViewSnapshot (snap2);
@@ -164,9 +166,9 @@ - (void)testRaisesEventForEmptyCollectionAfterSync {
164
166
165
167
auto listener = QueryListener::Create (query, _includeMetadataChanges, Accumulating (&accum));
166
168
167
- FSTView * view = [[FSTView alloc ] initWithQuery: query remoteDocuments: DocumentKeySet{}] ;
168
- ViewSnapshot snap1 = FSTTestApplyChanges (view, {}, absl::nullopt).value ();
169
- ViewSnapshot snap2 = FSTTestApplyChanges (view, {}, FSTTestTargetChangeMarkCurrent ()).value ();
169
+ View view ( query, DocumentKeySet{}) ;
170
+ ViewSnapshot snap1 = FSTTestApplyChanges (& view, {}, absl::nullopt).value ();
171
+ ViewSnapshot snap2 = FSTTestApplyChanges (& view, {}, FSTTestTargetChangeMarkCurrent ()).value ();
170
172
171
173
listener->OnViewSnapshot (snap1);
172
174
XC_ASSERT_THAT (accum, IsEmpty ());
@@ -190,9 +192,9 @@ - (void)testMutingAsyncListenerPreventsAllSubsequentEvents {
190
192
listener->Mute ();
191
193
}));
192
194
193
- FSTView * view = [[FSTView alloc ] initWithQuery: query remoteDocuments: DocumentKeySet{}] ;
194
- ViewSnapshot viewSnapshot1 = FSTTestApplyChanges (view, {doc1}, absl::nullopt).value ();
195
- ViewSnapshot viewSnapshot2 = FSTTestApplyChanges (view, {doc2}, absl::nullopt).value ();
195
+ View view ( query, DocumentKeySet{}) ;
196
+ ViewSnapshot viewSnapshot1 = FSTTestApplyChanges (& view, {doc1}, absl::nullopt).value ();
197
+ ViewSnapshot viewSnapshot2 = FSTTestApplyChanges (& view, {doc2}, absl::nullopt).value ();
196
198
197
199
listener->OnEvent (viewSnapshot1);
198
200
listener->OnEvent (viewSnapshot2);
@@ -224,12 +226,12 @@ - (void)testDoesNotRaiseEventsForMetadataChangesUnlessSpecified {
224
226
auto fullListener =
225
227
QueryListener::Create (query, _includeMetadataChanges, Accumulating (&fullAccum));
226
228
227
- FSTView * view = [[FSTView alloc ] initWithQuery: query remoteDocuments: DocumentKeySet{}] ;
228
- ViewSnapshot snap1 = FSTTestApplyChanges (view, {doc1}, absl::nullopt).value ();
229
+ View view ( query, DocumentKeySet{}) ;
230
+ ViewSnapshot snap1 = FSTTestApplyChanges (& view, {doc1}, absl::nullopt).value ();
229
231
230
232
TargetChange ackTarget = FSTTestTargetChangeAckDocuments ({doc1.key ()});
231
- ViewSnapshot snap2 = FSTTestApplyChanges (view, {}, ackTarget).value ();
232
- ViewSnapshot snap3 = FSTTestApplyChanges (view, {doc2}, absl::nullopt).value ();
233
+ ViewSnapshot snap2 = FSTTestApplyChanges (& view, {}, ackTarget).value ();
234
+ ViewSnapshot snap3 = FSTTestApplyChanges (& view, {doc2}, absl::nullopt).value ();
233
235
234
236
filteredListener->OnViewSnapshot (snap1); // local event
235
237
filteredListener->OnViewSnapshot (snap2); // no event
@@ -262,15 +264,15 @@ ListenOptions options(
262
264
auto filteredListener = QueryListener::Create (query, Accumulating (&filteredAccum));
263
265
auto fullListener = QueryListener::Create (query, options, Accumulating (&fullAccum));
264
266
265
- FSTView * view = [[FSTView alloc ] initWithQuery: query remoteDocuments: DocumentKeySet{}] ;
266
- ViewSnapshot snap1 = FSTTestApplyChanges (view, {doc1, doc2}, absl::nullopt).value ();
267
- ViewSnapshot snap2 = FSTTestApplyChanges (view, {doc1Prime}, absl::nullopt).value ();
268
- ViewSnapshot snap3 = FSTTestApplyChanges (view, {doc3}, absl::nullopt).value ();
267
+ View view ( query, DocumentKeySet{}) ;
268
+ ViewSnapshot snap1 = FSTTestApplyChanges (& view, {doc1, doc2}, absl::nullopt).value ();
269
+ ViewSnapshot snap2 = FSTTestApplyChanges (& view, {doc1Prime}, absl::nullopt).value ();
270
+ ViewSnapshot snap3 = FSTTestApplyChanges (& view, {doc3}, absl::nullopt).value ();
269
271
270
- DocumentViewChange change1{doc1, DocumentViewChange::Type::kAdded };
271
- DocumentViewChange change2{doc2, DocumentViewChange::Type::kAdded };
272
- DocumentViewChange change3{doc1Prime, DocumentViewChange::Type::kMetadata };
273
- DocumentViewChange change4{doc3, DocumentViewChange::Type::kAdded };
272
+ DocumentViewChange change1{doc1, DocumentViewChange::Type::Added };
273
+ DocumentViewChange change2{doc2, DocumentViewChange::Type::Added };
274
+ DocumentViewChange change3{doc1Prime, DocumentViewChange::Type::Metadata };
275
+ DocumentViewChange change4{doc3, DocumentViewChange::Type::Added };
274
276
275
277
filteredListener->OnViewSnapshot (snap1);
276
278
filteredListener->OnViewSnapshot (snap2);
@@ -306,11 +308,11 @@ ListenOptions options(
306
308
/* wait_for_sync_when_online=*/ false );
307
309
auto fullListener = QueryListener::Create (query, options, Accumulating (&fullAccum));
308
310
309
- FSTView * view = [[FSTView alloc ] initWithQuery: query remoteDocuments: DocumentKeySet{}] ;
310
- ViewSnapshot snap1 = FSTTestApplyChanges (view, {doc1, doc2}, absl::nullopt).value ();
311
- ViewSnapshot snap2 = FSTTestApplyChanges (view, {doc1Prime}, absl::nullopt).value ();
312
- ViewSnapshot snap3 = FSTTestApplyChanges (view, {doc3}, absl::nullopt).value ();
313
- ViewSnapshot snap4 = FSTTestApplyChanges (view, {doc2Prime}, absl::nullopt).value ();
311
+ View view ( query, DocumentKeySet{}) ;
312
+ ViewSnapshot snap1 = FSTTestApplyChanges (& view, {doc1, doc2}, absl::nullopt).value ();
313
+ ViewSnapshot snap2 = FSTTestApplyChanges (& view, {doc1Prime}, absl::nullopt).value ();
314
+ ViewSnapshot snap3 = FSTTestApplyChanges (& view, {doc3}, absl::nullopt).value ();
315
+ ViewSnapshot snap4 = FSTTestApplyChanges (& view, {doc2Prime}, absl::nullopt).value ();
314
316
315
317
fullListener->OnViewSnapshot (snap1);
316
318
fullListener->OnViewSnapshot (snap2); // Emits no events.
@@ -343,11 +345,11 @@ - (void)testMetadataOnlyDocumentChangesAreFilteredOutWhenIncludeDocumentMetadata
343
345
344
346
auto filteredListener = QueryListener::Create (query, Accumulating (&filteredAccum));
345
347
346
- FSTView * view = [[FSTView alloc ] initWithQuery: query remoteDocuments: DocumentKeySet{}] ;
347
- ViewSnapshot snap1 = FSTTestApplyChanges (view, {doc1, doc2}, absl::nullopt).value ();
348
- ViewSnapshot snap2 = FSTTestApplyChanges (view, {doc1Prime, doc3}, absl::nullopt).value ();
348
+ View view ( query, DocumentKeySet{}) ;
349
+ ViewSnapshot snap1 = FSTTestApplyChanges (& view, {doc1, doc2}, absl::nullopt).value ();
350
+ ViewSnapshot snap2 = FSTTestApplyChanges (& view, {doc1Prime, doc3}, absl::nullopt).value ();
349
351
350
- DocumentViewChange change3{doc3, DocumentViewChange::Type::kAdded };
352
+ DocumentViewChange change3{doc3, DocumentViewChange::Type::Added };
351
353
352
354
filteredListener->OnViewSnapshot (snap1);
353
355
filteredListener->OnViewSnapshot (snap2);
@@ -376,11 +378,11 @@ ListenOptions options(
376
378
/* wait_for_sync_when_online=*/ true );
377
379
auto listener = QueryListener::Create (query, options, Accumulating (&events));
378
380
379
- FSTView * view = [[FSTView alloc ] initWithQuery: query remoteDocuments: DocumentKeySet{}] ;
380
- ViewSnapshot snap1 = FSTTestApplyChanges (view, {doc1}, absl::nullopt).value ();
381
- ViewSnapshot snap2 = FSTTestApplyChanges (view, {doc2}, absl::nullopt).value ();
381
+ View view ( query, DocumentKeySet{}) ;
382
+ ViewSnapshot snap1 = FSTTestApplyChanges (& view, {doc1}, absl::nullopt).value ();
383
+ ViewSnapshot snap2 = FSTTestApplyChanges (& view, {doc2}, absl::nullopt).value ();
382
384
ViewSnapshot snap3 =
383
- FSTTestApplyChanges (view, {}, FSTTestTargetChangeAckDocuments ({doc1.key (), doc2.key ()}))
385
+ FSTTestApplyChanges (& view, {}, FSTTestTargetChangeAckDocuments ({doc1.key (), doc2.key ()}))
384
386
.value ();
385
387
386
388
listener->OnOnlineStateChanged (OnlineState::Online); // no event
@@ -390,8 +392,8 @@ ListenOptions options(
390
392
listener->OnViewSnapshot (snap2);
391
393
listener->OnViewSnapshot (snap3);
392
394
393
- DocumentViewChange change1{doc1, DocumentViewChange::Type::kAdded };
394
- DocumentViewChange change2{doc2, DocumentViewChange::Type::kAdded };
395
+ DocumentViewChange change1{doc1, DocumentViewChange::Type::Added };
396
+ DocumentViewChange change2{doc2, DocumentViewChange::Type::Added };
395
397
ViewSnapshot expectedSnap{snap3.query (),
396
398
snap3.documents (),
397
399
/* old_documents=*/ DocumentSet{snap3.query ().Comparator ()},
@@ -417,9 +419,9 @@ ListenOptions options(
417
419
418
420
auto listener = QueryListener::Create (query, options, Accumulating (&events));
419
421
420
- FSTView * view = [[FSTView alloc ] initWithQuery: query remoteDocuments: DocumentKeySet{}] ;
421
- ViewSnapshot snap1 = FSTTestApplyChanges (view, {doc1}, absl::nullopt).value ();
422
- ViewSnapshot snap2 = FSTTestApplyChanges (view, {doc2}, absl::nullopt).value ();
422
+ View view ( query, DocumentKeySet{}) ;
423
+ ViewSnapshot snap1 = FSTTestApplyChanges (& view, {doc1}, absl::nullopt).value ();
424
+ ViewSnapshot snap2 = FSTTestApplyChanges (& view, {doc2}, absl::nullopt).value ();
423
425
424
426
listener->OnOnlineStateChanged (OnlineState::Online); // no event
425
427
listener->OnViewSnapshot (snap1); // no event
@@ -428,8 +430,8 @@ ListenOptions options(
428
430
listener->OnOnlineStateChanged (OnlineState::Offline); // no event
429
431
listener->OnViewSnapshot (snap2); // another event
430
432
431
- DocumentViewChange change1{doc1, DocumentViewChange::Type::kAdded };
432
- DocumentViewChange change2{doc2, DocumentViewChange::Type::kAdded };
433
+ DocumentViewChange change1{doc1, DocumentViewChange::Type::Added };
434
+ DocumentViewChange change2{doc2, DocumentViewChange::Type::Added };
433
435
ViewSnapshot expectedSnap1{query,
434
436
/* documents=*/ snap1.documents (),
435
437
/* old_documents=*/ DocumentSet{snap1.query ().Comparator ()},
@@ -456,8 +458,8 @@ - (void)testWillRaiseInitialEventWhenGoingOfflineAndThereAreNoDocs {
456
458
core::Query query = Query (" rooms" );
457
459
auto listener = QueryListener::Create (query, Accumulating (&events));
458
460
459
- FSTView * view = [[FSTView alloc ] initWithQuery: query remoteDocuments: DocumentKeySet{}] ;
460
- ViewSnapshot snap1 = FSTTestApplyChanges (view, {}, absl::nullopt).value ();
461
+ View view ( query, DocumentKeySet{}) ;
462
+ ViewSnapshot snap1 = FSTTestApplyChanges (& view, {}, absl::nullopt).value ();
461
463
462
464
listener->OnOnlineStateChanged (OnlineState::Online); // no event
463
465
listener->OnViewSnapshot (snap1); // no event
@@ -480,8 +482,8 @@ - (void)testWillRaiseInitialEventWhenStartingOfflineAndThereAreNoDocs {
480
482
core::Query query = Query (" rooms" );
481
483
auto listener = QueryListener::Create (query, Accumulating (&events));
482
484
483
- FSTView * view = [[FSTView alloc ] initWithQuery: query remoteDocuments: DocumentKeySet{}] ;
484
- ViewSnapshot snap1 = FSTTestApplyChanges (view, {}, absl::nullopt).value ();
485
+ View view ( query, DocumentKeySet{}) ;
486
+ ViewSnapshot snap1 = FSTTestApplyChanges (& view, {}, absl::nullopt).value ();
485
487
486
488
listener->OnOnlineStateChanged (OnlineState::Offline); // no event
487
489
listener->OnViewSnapshot (snap1); // event
0 commit comments