diff options
author | zxu <zxu@google.com> | 2018-02-06 13:51:11 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-06 13:51:11 -0500 |
commit | a441190635d494f128cf02e07566ae2003af4e08 (patch) | |
tree | 618e6b0ecdb5d243f6e97f319f98f09dc9ca0a7e /Firestore/Example/Tests/Model | |
parent | 7cac9dc47a8c6b7321ebf5fc13fa7140e784c8ca (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.mm | 45 | ||||
-rw-r--r-- | Firestore/Example/Tests/Model/FSTFieldValueTests.mm | 22 |
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" ]) ], |