Skip to content

Commit 864c159

Browse files
committed
FSTSpecTests.mm: implement parseQueryPurpose
1 parent 9a10e2e commit 864c159

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

Firestore/Example/Tests/SpecTests/FSTSpecTests.mm

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,20 @@ - (SnapshotVersion)parseVersion:(NSNumber *_Nullable)version {
327327
return Version(version.longLongValue);
328328
}
329329

330+
- (QueryPurpose)parseQueryPurpose:(NSNumber *)value {
331+
switch ([value intValue]) {
332+
case 0:
333+
return QueryPurpose::Listen;
334+
case 1:
335+
return QueryPurpose::ExistenceFilterMismatch;
336+
case 3:
337+
return QueryPurpose::LimboResolution;
338+
default:
339+
XCTFail(@"unknown query purpose value: %@", value);
340+
return QueryPurpose::Listen;
341+
}
342+
}
343+
330344
- (DocumentViewChange)parseChange:(NSDictionary *)jsonDoc ofType:(DocumentViewChange::Type)type {
331345
NSNumber *version = jsonDoc[@"version"];
332346
NSDictionary *options = jsonDoc[@"options"];
@@ -781,7 +795,7 @@ - (void)validateExpectedState:(nullable NSDictionary *)expectedState {
781795

782796
QueryPurpose purpose = QueryPurpose::Listen;
783797
if ([queryData objectForKey:@"targetPurpose"] != nil) {
784-
purpose = static_cast<QueryPurpose>([queryData[@"targetPurpose"] intValue]);
798+
purpose = [self parseQueryPurpose:queryData[@"targetPurpose"]];
785799
}
786800

787801
TargetData target_data(query.ToTarget(), targetID, 0, purpose);

0 commit comments

Comments
 (0)