@@ -90,35 +90,45 @@ - (void)testCanBeRemovedIndependently {
90
90
id <FIRListenerRegistration> one =
91
91
[collectionRef addSnapshotListener: ^(FIRQuerySnapshot *, NSError *_Nullable error) {
92
92
XCTAssertNil (error);
93
- callbacksOne++;
93
+ @synchronized (self) {
94
+ callbacksOne++;
95
+ }
94
96
}];
95
97
96
98
id <FIRListenerRegistration> two =
97
99
[collectionRef addSnapshotListener: ^(FIRQuerySnapshot *, NSError *_Nullable error) {
98
100
XCTAssertNil (error);
99
- callbacksTwo++;
101
+ @synchronized (self) {
102
+ callbacksTwo++;
103
+ }
100
104
}];
101
105
102
106
// Wait for initial events
103
107
[self waitUntil: ^BOOL {
104
- return callbacksOne == 1 && callbacksTwo == 1 ;
108
+ @synchronized (self) {
109
+ return callbacksOne == 1 && callbacksTwo == 1 ;
110
+ }
105
111
}];
106
112
107
113
// Trigger new events
108
114
[self writeDocumentRef: docRef data: @{@" foo" : @" bar" }];
109
115
110
116
// Write events should have triggered
111
- XCTAssertEqual (2 , callbacksOne);
112
- XCTAssertEqual (2 , callbacksTwo);
117
+ @synchronized (self) {
118
+ XCTAssertEqual (2 , callbacksOne);
119
+ XCTAssertEqual (2 , callbacksTwo);
120
+ }
113
121
114
122
// Should leave "two" unaffected
115
123
[one remove ];
116
124
117
125
[self writeDocumentRef: docRef data: @{@" foo" : @" new-bar" }];
118
126
119
127
// Assert only events for "two" actually occurred
120
- XCTAssertEqual (2 , callbacksOne);
121
- XCTAssertEqual (3 , callbacksTwo);
128
+ @synchronized (self) {
129
+ XCTAssertEqual (2 , callbacksOne);
130
+ XCTAssertEqual (3 , callbacksTwo);
131
+ }
122
132
123
133
[self writeDocumentRef: docRef data: @{@" foo" : @" new-bar" }];
124
134
0 commit comments