Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(618)

Side by Side Diff: ios/web/navigation/crw_session_storage_unittest.mm

Issue 2935983002: [ObjC ARC] Converts ios/web:ios_web_navigation_unittests to ARC. (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/web/public/crw_session_storage.h" 5 #import "ios/web/public/crw_session_storage.h"
6 6
7 #import "base/mac/scoped_nsobject.h"
8 #include "base/strings/sys_string_conversions.h" 7 #include "base/strings/sys_string_conversions.h"
9 #import "ios/web/navigation/navigation_item_impl.h" 8 #import "ios/web/navigation/navigation_item_impl.h"
10 #import "ios/web/navigation/navigation_item_storage_test_util.h" 9 #import "ios/web/navigation/navigation_item_storage_test_util.h"
11 #import "ios/web/navigation/serializable_user_data_manager_impl.h" 10 #import "ios/web/navigation/serializable_user_data_manager_impl.h"
12 #import "ios/web/public/crw_navigation_item_storage.h" 11 #import "ios/web/public/crw_navigation_item_storage.h"
13 #include "ios/web/public/referrer.h" 12 #include "ios/web/public/referrer.h"
14 #import "net/base/mac/url_conversions.h" 13 #import "net/base/mac/url_conversions.h"
15 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
16 #import "testing/gtest_mac.h" 15 #import "testing/gtest_mac.h"
17 #include "testing/platform_test.h" 16 #include "testing/platform_test.h"
18 #include "third_party/ocmock/gtest_support.h" 17 #include "third_party/ocmock/gtest_support.h"
19 #include "ui/base/page_transition_types.h" 18 #include "ui/base/page_transition_types.h"
20 19
20 #if !defined(__has_feature) || !__has_feature(objc_arc)
21 #error "This file requires ARC support."
22 #endif
23
21 namespace { 24 namespace {
22 // Checks for equality between the item storages in |items1| and |items2|. 25 // Checks for equality between the item storages in |items1| and |items2|.
23 BOOL ItemStorageListsAreEqual(NSArray* items1, NSArray* items2) { 26 BOOL ItemStorageListsAreEqual(NSArray* items1, NSArray* items2) {
24 __block BOOL items_are_equal = items1.count == items2.count; 27 __block BOOL items_are_equal = items1.count == items2.count;
25 if (!items_are_equal) 28 if (!items_are_equal)
26 return NO; 29 return NO;
27 [items1 enumerateObjectsUsingBlock:^(CRWNavigationItemStorage* item, 30 [items1 enumerateObjectsUsingBlock:^(CRWNavigationItemStorage* item,
28 NSUInteger idx, BOOL* stop) { 31 NSUInteger idx, BOOL* stop) {
29 items_are_equal &= web::ItemStoragesAreEqual(item, items2[idx]); 32 items_are_equal &= web::ItemStoragesAreEqual(item, items2[idx]);
30 *stop = !items_are_equal; 33 *stop = !items_are_equal;
(...skipping 26 matching lines...) Expand all
57 60
58 class CRWNSessionStorageTest : public PlatformTest { 61 class CRWNSessionStorageTest : public PlatformTest {
59 protected: 62 protected:
60 CRWNSessionStorageTest() 63 CRWNSessionStorageTest()
61 : session_storage_([[CRWSessionStorage alloc] init]) { 64 : session_storage_([[CRWSessionStorage alloc] init]) {
62 // Set up |session_storage_|. 65 // Set up |session_storage_|.
63 [session_storage_ setHasOpener:YES]; 66 [session_storage_ setHasOpener:YES];
64 [session_storage_ setLastCommittedItemIndex:4]; 67 [session_storage_ setLastCommittedItemIndex:4];
65 [session_storage_ setPreviousItemIndex:3]; 68 [session_storage_ setPreviousItemIndex:3];
66 // Create an item storage. 69 // Create an item storage.
67 base::scoped_nsobject<CRWNavigationItemStorage> item_storage( 70 CRWNavigationItemStorage* item_storage =
68 [[CRWNavigationItemStorage alloc] init]); 71 [[CRWNavigationItemStorage alloc] init];
69 [item_storage setVirtualURL:GURL("http://init.test")]; 72 [item_storage setVirtualURL:GURL("http://init.test")];
70 [item_storage setReferrer:web::Referrer(GURL("http://referrer.url"), 73 [item_storage setReferrer:web::Referrer(GURL("http://referrer.url"),
71 web::ReferrerPolicyDefault)]; 74 web::ReferrerPolicyDefault)];
72 [item_storage setTimestamp:base::Time::Now()]; 75 [item_storage setTimestamp:base::Time::Now()];
73 [item_storage setTitle:base::SysNSStringToUTF16(@"Title")]; 76 [item_storage setTitle:base::SysNSStringToUTF16(@"Title")];
74 [item_storage 77 [item_storage
75 setDisplayState:web::PageDisplayState(0.0, 0.0, 0.0, 0.0, 0.0)]; 78 setDisplayState:web::PageDisplayState(0.0, 0.0, 0.0, 0.0, 0.0)];
76 [item_storage 79 [item_storage
77 setPOSTData:[@"Test data" dataUsingEncoding:NSUTF8StringEncoding]]; 80 setPOSTData:[@"Test data" dataUsingEncoding:NSUTF8StringEncoding]];
78 [item_storage setHTTPRequestHeaders:@{ @"HeaderKey" : @"HeaderValue" }]; 81 [item_storage setHTTPRequestHeaders:@{ @"HeaderKey" : @"HeaderValue" }];
79 [session_storage_ setItemStorages:@[ item_storage ]]; 82 [session_storage_ setItemStorages:@[ item_storage ]];
80 // Create serializable user data. 83 // Create serializable user data.
81 std::unique_ptr<web::SerializableUserDataImpl> user_data( 84 std::unique_ptr<web::SerializableUserDataImpl> user_data(
82 new web::SerializableUserDataImpl( 85 new web::SerializableUserDataImpl(
83 @{ @"key" : @"value" })); 86 @{ @"key" : @"value" }));
84 [session_storage_ setSerializableUserData:std::move(user_data)]; 87 [session_storage_ setSerializableUserData:std::move(user_data)];
85 } 88 }
86 89
87 protected: 90 protected:
88 base::scoped_nsobject<CRWSessionStorage> session_storage_; 91 CRWSessionStorage* session_storage_;
89 }; 92 };
90 93
91 // Tests that unarchiving CRWSessionStorage data results in an equivalent 94 // Tests that unarchiving CRWSessionStorage data results in an equivalent
92 // storage. 95 // storage.
93 TEST_F(CRWNSessionStorageTest, EncodeDecode) { 96 TEST_F(CRWNSessionStorageTest, EncodeDecode) {
94 NSData* data = [NSKeyedArchiver archivedDataWithRootObject:session_storage_]; 97 NSData* data = [NSKeyedArchiver archivedDataWithRootObject:session_storage_];
95 id decoded = [NSKeyedUnarchiver unarchiveObjectWithData:data]; 98 id decoded = [NSKeyedUnarchiver unarchiveObjectWithData:data];
96 EXPECT_TRUE(SessionStoragesAreEqual(session_storage_, decoded)); 99 EXPECT_TRUE(SessionStoragesAreEqual(session_storage_, decoded));
97 } 100 }
OLDNEW
« no previous file with comments | « ios/web/navigation/crw_session_controller_unittest.mm ('k') | ios/web/navigation/navigation_item_impl_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698