@@ -133,20 +133,15 @@ TEST_F(BundleTest, CanLoadBundlesWithProgressUpdates) {
133
133
auto bundle = CreateTestBundle (db);
134
134
135
135
std::vector<LoadBundleTaskProgress> progresses;
136
- std::promise<void > final_update;
137
136
Future<LoadBundleTaskProgress> result = db->LoadBundle (
138
- bundle, [&progresses, &final_update ](const LoadBundleTaskProgress& progress) {
137
+ bundle, [&progresses](const LoadBundleTaskProgress& progress) {
139
138
progresses.push_back (progress);
140
- if (progress.state () == LoadBundleTaskProgress::State::kError || progress.state () == LoadBundleTaskProgress::State::kSuccess ) {
141
- final_update.set_value ();
142
- }
143
139
});
144
140
145
141
auto final_progress = AwaitResult (result);
146
142
147
143
// 4 progresses will be reported: initial, document 1, document 2, final
148
144
// success.
149
- final_update.get_future ().wait ();
150
145
ASSERT_EQ (progresses.size (), 4 );
151
146
EXPECT_THAT (progresses[0 ], InProgressWithLoadedDocuments (0 ));
152
147
EXPECT_THAT (progresses[1 ], InProgressWithLoadedDocuments (1 ));
@@ -200,17 +195,12 @@ TEST_F(BundleTest, LoadBundlesForASecondTimeSkips) {
200
195
VerifySuccessProgress (first_load);
201
196
202
197
std::vector<LoadBundleTaskProgress> progresses;
203
- std::promise<void > final_update;
204
198
LoadBundleTaskProgress second_load = AwaitResult (db->LoadBundle (
205
- bundle, [&progresses, &final_update ](const LoadBundleTaskProgress& progress) {
199
+ bundle, [&progresses](const LoadBundleTaskProgress& progress) {
206
200
progresses.push_back (progress);
207
- if (progress.state () == LoadBundleTaskProgress::State::kError || progress.state () == LoadBundleTaskProgress::State::kSuccess ) {
208
- final_update.set_value ();
209
- }
210
201
}));
211
202
212
203
// There will be 4 progress updates if it does not skip loading.
213
- final_update.get_future ().wait ();
214
204
ASSERT_EQ (progresses.size (), 1 );
215
205
VerifySuccessProgress (progresses[0 ]);
216
206
EXPECT_EQ (progresses[0 ], second_load);
@@ -230,19 +220,13 @@ TEST_F(BundleTest, LoadInvalidBundlesShouldFail) {
230
220
};
231
221
for (const auto & bundle : invalid_bundles) {
232
222
std::vector<LoadBundleTaskProgress> progresses;
233
- std::promise<void > final_update;
234
223
Future<LoadBundleTaskProgress> result = db->LoadBundle (
235
- bundle, [&progresses, &final_update ](const LoadBundleTaskProgress& progress) {
224
+ bundle, [&progresses](const LoadBundleTaskProgress& progress) {
236
225
progresses.push_back (progress);
237
- if (progress.state () == LoadBundleTaskProgress::State::kError || progress.state () == LoadBundleTaskProgress::State::kSuccess ) {
238
- final_update.set_value ();
239
- }
240
226
});
241
-
242
227
Await (result);
243
- EXPECT_NE (result.error (), Error::kErrorOk );
244
228
245
- final_update. get_future (). wait ( );
229
+ EXPECT_NE (result. error (), Error:: kErrorOk );
246
230
ASSERT_EQ (progresses.size (), 1 );
247
231
VerifyErrorProgress (progresses[0 ]);
248
232
}
@@ -322,18 +306,13 @@ TEST_F(BundleTest, LoadDocumentsFromOtherProjectsShouldFail) {
322
306
Firestore* db = TestFirestore ();
323
307
auto bundle = CreateBundle (" other-project" );
324
308
std::vector<LoadBundleTaskProgress> progresses;
325
- std::promise<void > final_update;
326
309
Future<LoadBundleTaskProgress> result = db->LoadBundle (
327
- bundle, [&progresses, &final_update ](const LoadBundleTaskProgress& progress) {
310
+ bundle, [&progresses](const LoadBundleTaskProgress& progress) {
328
311
progresses.push_back (progress);
329
- if (progress.state () == LoadBundleTaskProgress::State::kError || progress.state () == LoadBundleTaskProgress::State::kSuccess ) {
330
- final_update.set_value ();
331
- }
332
312
});
333
313
Await (result);
334
- EXPECT_NE (result.error (), Error::kErrorOk );
335
314
336
- final_update. get_future (). wait ( );
315
+ EXPECT_NE (result. error (), Error:: kErrorOk );
337
316
ASSERT_EQ (progresses.size (), 2 );
338
317
EXPECT_THAT (progresses[0 ], InProgressWithLoadedDocuments (0 ));
339
318
VerifyErrorProgress (progresses[1 ]);
0 commit comments