diff options
author | 2018-04-10 16:28:22 -0400 | |
---|---|---|
committer | 2018-04-10 16:28:22 -0400 | |
commit | 2ac778f312301a8dd10c3c6498a59ce536abd738 (patch) | |
tree | 68ac918167ec2e474c552f821297ade071e33a20 /Firestore/Example/Tests | |
parent | 59f9dcb72f46258ffefea3aaf93f51e927c1cc10 (diff) |
Port FieldTransform to C++ (#1033)
* port FieldMask to C++
* address changes
* address changes
* fix test
* address change
* Port transform operations (FSTTransformOperation, FSTServerTimestampTransform) to C++
* address changes
* address changes
* address changes
* implement `FieldTransform` in C++
* port `FieldTransform`
* make `fieldTransforms` shared inside `context`
* address changes
* fix lint
* address changes
Diffstat (limited to 'Firestore/Example/Tests')
-rw-r--r-- | Firestore/Example/Tests/Remote/FSTSerializerBetaTests.mm | 6 | ||||
-rw-r--r-- | Firestore/Example/Tests/Util/FSTHelpers.mm | 12 |
2 files changed, 11 insertions, 7 deletions
diff --git a/Firestore/Example/Tests/Remote/FSTSerializerBetaTests.mm b/Firestore/Example/Tests/Remote/FSTSerializerBetaTests.mm index 17191f8..c0e9cad 100644 --- a/Firestore/Example/Tests/Remote/FSTSerializerBetaTests.mm +++ b/Firestore/Example/Tests/Remote/FSTSerializerBetaTests.mm @@ -23,6 +23,8 @@ #import <GRPCClient/GRPCCall.h> #import <XCTest/XCTest.h> +#include <vector> + #import "Firestore/Protos/objc/firestore/local/MaybeDocument.pbobjc.h" #import "Firestore/Protos/objc/firestore/local/Mutation.pbobjc.h" #import "Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.h" @@ -47,6 +49,7 @@ #include "Firestore/core/src/firebase/firestore/model/database_id.h" #include "Firestore/core/src/firebase/firestore/model/field_mask.h" +#include "Firestore/core/src/firebase/firestore/model/field_transform.h" #include "Firestore/core/src/firebase/firestore/util/string_apple.h" #include "Firestore/core/test/firebase/firestore/testutil/testutil.h" @@ -54,6 +57,7 @@ namespace testutil = firebase::firestore::testutil; namespace util = firebase::firestore::util; using firebase::firestore::model::DatabaseId; using firebase::firestore::model::FieldMask; +using firebase::firestore::model::FieldTransform; NS_ASSUME_NONNULL_BEGIN @@ -67,7 +71,7 @@ NS_ASSUME_NONNULL_BEGIN - (GCFSDocumentMask *)encodedFieldMask:(const FieldMask &)fieldMask; - (NSMutableArray<GCFSDocumentTransform_FieldTransform *> *)encodedFieldTransforms: - (NSArray<FSTFieldTransform *> *)fieldTransforms; + (const std::vector<FieldTransform> &)fieldTransforms; - (GCFSStructuredQuery_Filter *)encodedRelationFilter:(FSTRelationFilter *)filter; @end diff --git a/Firestore/Example/Tests/Util/FSTHelpers.mm b/Firestore/Example/Tests/Util/FSTHelpers.mm index 8f170e6..2e1082e 100644 --- a/Firestore/Example/Tests/Util/FSTHelpers.mm +++ b/Firestore/Example/Tests/Util/FSTHelpers.mm @@ -46,6 +46,7 @@ #include "Firestore/core/src/firebase/firestore/model/database_id.h" #include "Firestore/core/src/firebase/firestore/model/document_key.h" #include "Firestore/core/src/firebase/firestore/model/field_mask.h" +#include "Firestore/core/src/firebase/firestore/model/field_transform.h" #include "Firestore/core/src/firebase/firestore/model/field_value.h" #include "Firestore/core/src/firebase/firestore/model/resource_path.h" #include "Firestore/core/src/firebase/firestore/model/transform_operations.h" @@ -59,6 +60,7 @@ using firebase::firestore::model::DatabaseId; using firebase::firestore::model::DocumentKey; using firebase::firestore::model::FieldMask; using firebase::firestore::model::FieldPath; +using firebase::firestore::model::FieldTransform; using firebase::firestore::model::FieldValue; using firebase::firestore::model::ResourcePath; using firebase::firestore::model::ServerTimestampTransform; @@ -279,15 +281,13 @@ FSTPatchMutation *FSTTestPatchMutation(const absl::string_view path, FSTTransformMutation *FSTTestTransformMutation(NSString *path, NSArray<NSString *> *serverTimestampFields) { FSTDocumentKey *key = [FSTDocumentKey keyWithPath:testutil::Resource(util::MakeStringView(path))]; - NSMutableArray<FSTFieldTransform *> *fieldTransforms = [NSMutableArray array]; + std::vector<FieldTransform> fieldTransforms; for (NSString *field in serverTimestampFields) { - const FieldPath fieldPath = testutil::Field(util::MakeStringView(field)); + FieldPath fieldPath = testutil::Field(util::MakeStringView(field)); auto transformOp = absl::make_unique<ServerTimestampTransform>(ServerTimestampTransform::Get()); - FSTFieldTransform *transform = - [[FSTFieldTransform alloc] initWithPath:fieldPath transform:std::move(transformOp)]; - [fieldTransforms addObject:transform]; + fieldTransforms.emplace_back(std::move(fieldPath), std::move(transformOp)); } - return [[FSTTransformMutation alloc] initWithKey:key fieldTransforms:fieldTransforms]; + return [[FSTTransformMutation alloc] initWithKey:key fieldTransforms:std::move(fieldTransforms)]; } FSTDeleteMutation *FSTTestDeleteMutation(NSString *path) { |