aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Example/Tests/Model
diff options
context:
space:
mode:
authorGravatar zxu <zxu@google.com>2018-02-06 13:51:11 -0500
committerGravatar GitHub <noreply@github.com>2018-02-06 13:51:11 -0500
commita441190635d494f128cf02e07566ae2003af4e08 (patch)
tree618e6b0ecdb5d243f6e97f319f98f09dc9ca0a7e /Firestore/Example/Tests/Model
parent7cac9dc47a8c6b7321ebf5fc13fa7140e784c8ca (diff)
Implement Firestore DatabaseInfo and port both Database{Id,Info} C++ to the iOS code (#738)
* implement Firestore DatabaseInfo in C++ * temporary stash changes; blocking on the massive renaming of .m to .mm * add database_info_test to project * finish port DatabaseId and fix style, modular fixing DatabaseInfo * port DatabaseInfo * remove FSTDatabase{ID,Info} and their tests from project * fix unit test * use namespace alias * use namespace alias, leftover * address more changes * refactoring to use raw pointer instead of value for property * address changes * remove self-> * fix style * remove the name suffix Alloc * fix a bug
Diffstat (limited to 'Firestore/Example/Tests/Model')
-rw-r--r--Firestore/Example/Tests/Model/FSTDatabaseIDTests.mm45
-rw-r--r--Firestore/Example/Tests/Model/FSTFieldValueTests.mm22
2 files changed, 14 insertions, 53 deletions
diff --git a/Firestore/Example/Tests/Model/FSTDatabaseIDTests.mm b/Firestore/Example/Tests/Model/FSTDatabaseIDTests.mm
deleted file mode 100644
index cb1b19d..0000000
--- a/Firestore/Example/Tests/Model/FSTDatabaseIDTests.mm
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2017 Google
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#import "Firestore/Source/Model/FSTDatabaseID.h"
-
-#import <XCTest/XCTest.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface FSTDatabaseIDTests : XCTestCase
-@end
-
-@implementation FSTDatabaseIDTests
-
-- (void)testConstructor {
- FSTDatabaseID *databaseID = [FSTDatabaseID databaseIDWithProject:@"p" database:@"d"];
- XCTAssertEqualObjects(databaseID.projectID, @"p");
- XCTAssertEqualObjects(databaseID.databaseID, @"d");
- XCTAssertFalse([databaseID isDefaultDatabase]);
-}
-
-- (void)testDefaultDatabase {
- FSTDatabaseID *databaseID =
- [FSTDatabaseID databaseIDWithProject:@"p" database:kDefaultDatabaseID];
- XCTAssertEqualObjects(databaseID.projectID, @"p");
- XCTAssertEqualObjects(databaseID.databaseID, @"(default)");
- XCTAssertTrue([databaseID isDefaultDatabase]);
-}
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/Firestore/Example/Tests/Model/FSTFieldValueTests.mm b/Firestore/Example/Tests/Model/FSTFieldValueTests.mm
index 56b885f..52d5a4e 100644
--- a/Firestore/Example/Tests/Model/FSTFieldValueTests.mm
+++ b/Firestore/Example/Tests/Model/FSTFieldValueTests.mm
@@ -22,13 +22,18 @@
#import "Firestore/Source/API/FIRFirestore+Internal.h"
#import "Firestore/Source/API/FSTUserDataConverter.h"
#import "Firestore/Source/Core/FSTTimestamp.h"
-#import "Firestore/Source/Model/FSTDatabaseID.h"
#import "Firestore/Source/Model/FSTFieldValue.h"
#import "Firestore/Source/Model/FSTPath.h"
#import "Firestore/Example/Tests/API/FSTAPIHelpers.h"
#import "Firestore/Example/Tests/Util/FSTHelpers.h"
+#include "Firestore/core/src/firebase/firestore/model/database_id.h"
+#include "Firestore/core/src/firebase/firestore/util/string_apple.h"
+
+namespace util = firebase::firestore::util;
+using firebase::firestore::model::DatabaseId;
+
/** Helper to wrap the values in a set of equality groups using FSTTestFieldValue(). */
NSArray *FSTWrapGroups(NSArray *groups) {
NSMutableArray *wrapped = [NSMutableArray array];
@@ -249,14 +254,15 @@ union DoubleBits {
- (void)testWrapResourceNames {
NSArray *values = @[
- FSTTestRef(@"project", kDefaultDatabaseID, @"foo/bar"),
- FSTTestRef(@"project", kDefaultDatabaseID, @"foo/baz")
+ FSTTestRef(@"project", util::WrapNSStringNoCopy(DatabaseId::kDefaultDatabaseId), @"foo/bar"),
+ FSTTestRef(@"project", util::WrapNSStringNoCopy(DatabaseId::kDefaultDatabaseId), @"foo/baz")
];
for (FSTDocumentKeyReference *value in values) {
FSTFieldValue *wrapped = FSTTestFieldValue(value);
XCTAssertEqualObjects([wrapped class], [FSTReferenceValue class]);
XCTAssertEqualObjects([wrapped value], value.key);
- XCTAssertEqualObjects(((FSTDatabaseID *)wrapped).databaseID, value.databaseID);
+ XCTAssertTrue(*((FSTReferenceValue *)wrapped).databaseID ==
+ *(const DatabaseId *)(value.databaseID));
}
}
@@ -417,6 +423,7 @@ union DoubleBits {
}
- (void)testValueEquality {
+ DatabaseId database_id = DatabaseId("project", DatabaseId::kDefaultDatabaseId);
NSArray *groups = @[
@[ FSTTestFieldValue(@YES), [FSTBooleanValue booleanValue:YES] ],
@[ FSTTestFieldValue(@NO), [FSTBooleanValue booleanValue:NO] ],
@@ -459,10 +466,9 @@ union DoubleBits {
],
@[ FSTTestFieldValue(FSTTestGeoPoint(1, 0)) ],
@[
- [FSTReferenceValue referenceValue:FSTTestDocKey(@"coll/doc1")
- databaseID:[FSTDatabaseID databaseIDWithProject:@"project"
- database:kDefaultDatabaseID]],
- FSTTestFieldValue(FSTTestRef(@"project", kDefaultDatabaseID, @"coll/doc1"))
+ [FSTReferenceValue referenceValue:FSTTestDocKey(@"coll/doc1") databaseID:&database_id],
+ FSTTestFieldValue(FSTTestRef(
+ @"project", util::WrapNSStringNoCopy(DatabaseId::kDefaultDatabaseId), @"coll/doc1"))
],
@[ FSTTestRef(@"project", @"(default)", @"coll/doc2") ],
@[ FSTTestFieldValue(@[ @"foo", @"bar" ]), FSTTestFieldValue(@[ @"foo", @"bar" ]) ],