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

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

Issue 2755823002: Moved |openedByDOM| to WebState's CreateParams and public interface. (Closed)
Patch Set: . Created 3 years, 9 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" 7 #import "base/mac/scoped_nsobject.h"
8 #include "base/strings/sys_string_conversions.h" 8 #include "base/strings/sys_string_conversions.h"
9 #import "ios/web/navigation/navigation_item_impl.h" 9 #import "ios/web/navigation/navigation_item_impl.h"
10 #import "ios/web/navigation/navigation_item_storage_test_util.h" 10 #import "ios/web/navigation/navigation_item_storage_test_util.h"
(...skipping 30 matching lines...) Expand all
41 return (data1 == nullptr) == (data2 == nullptr) && 41 return (data1 == nullptr) == (data2 == nullptr) &&
42 (!data1 || [data1->data() isEqualToDictionary:data2->data()]); 42 (!data1 || [data1->data() isEqualToDictionary:data2->data()]);
43 } 43 }
44 // Checks for equality between |session1| and |session2|. 44 // Checks for equality between |session1| and |session2|.
45 BOOL SessionStoragesAreEqual(CRWSessionStorage* session1, 45 BOOL SessionStoragesAreEqual(CRWSessionStorage* session1,
46 CRWSessionStorage* session2) { 46 CRWSessionStorage* session2) {
47 // Check the rest of the properties. 47 // Check the rest of the properties.
48 NSArray* items1 = session1.itemStorages; 48 NSArray* items1 = session1.itemStorages;
49 NSArray* items2 = session2.itemStorages; 49 NSArray* items2 = session2.itemStorages;
50 return ItemStorageListsAreEqual(items1, items2) && 50 return ItemStorageListsAreEqual(items1, items2) &&
51 session1.openedByDOM == session2.openedByDOM && 51 session1.hasOpener == session2.hasOpener &&
52 session1.currentNavigationIndex == session2.currentNavigationIndex && 52 session1.currentNavigationIndex == session2.currentNavigationIndex &&
53 session1.previousNavigationIndex == session2.previousNavigationIndex && 53 session1.previousNavigationIndex == session2.previousNavigationIndex &&
54 UserDataAreEqual(session1.userData, session2.userData); 54 UserDataAreEqual(session1.userData, session2.userData);
55 } 55 }
56 } // namespace 56 } // namespace
57 57
58 class CRWNSessionStorageTest : public PlatformTest { 58 class CRWNSessionStorageTest : public PlatformTest {
59 protected: 59 protected:
60 CRWNSessionStorageTest() 60 CRWNSessionStorageTest()
61 : session_storage_([[CRWSessionStorage alloc] init]) { 61 : session_storage_([[CRWSessionStorage alloc] init]) {
62 // Set up |session_storage_|. 62 // Set up |session_storage_|.
63 [session_storage_ setOpenedByDOM:YES]; 63 [session_storage_ setHasOpener:YES];
64 [session_storage_ setCurrentNavigationIndex:4]; 64 [session_storage_ setCurrentNavigationIndex:4];
65 [session_storage_ setPreviousNavigationIndex:3]; 65 [session_storage_ setPreviousNavigationIndex:3];
66 // Create an item storage. 66 // Create an item storage.
67 base::scoped_nsobject<CRWNavigationItemStorage> item_storage( 67 base::scoped_nsobject<CRWNavigationItemStorage> item_storage(
68 [[CRWNavigationItemStorage alloc] init]); 68 [[CRWNavigationItemStorage alloc] init]);
69 [item_storage setVirtualURL:GURL("http://init.test")]; 69 [item_storage setVirtualURL:GURL("http://init.test")];
70 [item_storage setReferrer:web::Referrer(GURL("http://referrer.url"), 70 [item_storage setReferrer:web::Referrer(GURL("http://referrer.url"),
71 web::ReferrerPolicyDefault)]; 71 web::ReferrerPolicyDefault)];
72 [item_storage setTimestamp:base::Time::Now()]; 72 [item_storage setTimestamp:base::Time::Now()];
73 [item_storage setTitle:base::SysNSStringToUTF16(@"Title")]; 73 [item_storage setTitle:base::SysNSStringToUTF16(@"Title")];
(...skipping 14 matching lines...) Expand all
88 base::scoped_nsobject<CRWSessionStorage> session_storage_; 88 base::scoped_nsobject<CRWSessionStorage> session_storage_;
89 }; 89 };
90 90
91 // Tests that unarchiving CRWSessionStorage data results in an equivalent 91 // Tests that unarchiving CRWSessionStorage data results in an equivalent
92 // storage. 92 // storage.
93 TEST_F(CRWNSessionStorageTest, EncodeDecode) { 93 TEST_F(CRWNSessionStorageTest, EncodeDecode) {
94 NSData* data = [NSKeyedArchiver archivedDataWithRootObject:session_storage_]; 94 NSData* data = [NSKeyedArchiver archivedDataWithRootObject:session_storage_];
95 id decoded = [NSKeyedUnarchiver unarchiveObjectWithData:data]; 95 id decoded = [NSKeyedUnarchiver unarchiveObjectWithData:data];
96 EXPECT_TRUE(SessionStoragesAreEqual(session_storage_, decoded)); 96 EXPECT_TRUE(SessionStoragesAreEqual(session_storage_, decoded));
97 } 97 }
OLDNEW
« no previous file with comments | « ios/web/navigation/crw_session_controller_unittest.mm ('k') | ios/web/navigation/navigation_manager_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698