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

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

Issue 2720613005: Refactor serialisation of openerId & openerNavigationIndex. (Closed)
Patch Set: Fix CRWSessionController's initializer comment. 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.openerID isEqual:session2.openerID] &&
52 session1.openedByDOM == session2.openedByDOM && 51 session1.openedByDOM == session2.openedByDOM &&
53 session1.openerNavigationIndex == session2.openerNavigationIndex &&
54 [session1.windowName isEqual:session2.windowName] && 52 [session1.windowName isEqual:session2.windowName] &&
55 session1.currentNavigationIndex == session2.currentNavigationIndex && 53 session1.currentNavigationIndex == session2.currentNavigationIndex &&
56 session1.previousNavigationIndex == session2.previousNavigationIndex && 54 session1.previousNavigationIndex == session2.previousNavigationIndex &&
57 session1.lastVisitedTimestamp == session2.lastVisitedTimestamp && 55 session1.lastVisitedTimestamp == session2.lastVisitedTimestamp &&
58 UserDataAreEqual(session1.userData, session2.userData); 56 UserDataAreEqual(session1.userData, session2.userData);
59 } 57 }
60 } // namespace 58 } // namespace
61 59
62 class CRWNSessionStorageTest : public PlatformTest { 60 class CRWNSessionStorageTest : public PlatformTest {
63 protected: 61 protected:
64 CRWNSessionStorageTest() 62 CRWNSessionStorageTest()
65 : session_storage_([[CRWSessionStorage alloc] init]) { 63 : session_storage_([[CRWSessionStorage alloc] init]) {
66 // Set up |session_storage_|. 64 // Set up |session_storage_|.
67 [session_storage_ setOpenerID:@"openerID"];
68 [session_storage_ setOpenedByDOM:YES]; 65 [session_storage_ setOpenedByDOM:YES];
69 [session_storage_ setOpenerNavigationIndex:2];
70 [session_storage_ setWindowName:@"windowName"]; 66 [session_storage_ setWindowName:@"windowName"];
71 [session_storage_ setCurrentNavigationIndex:4]; 67 [session_storage_ setCurrentNavigationIndex:4];
72 [session_storage_ setPreviousNavigationIndex:3]; 68 [session_storage_ setPreviousNavigationIndex:3];
73 [session_storage_ setLastVisitedTimestamp:CFAbsoluteTimeGetCurrent()]; 69 [session_storage_ setLastVisitedTimestamp:CFAbsoluteTimeGetCurrent()];
74 // Create an item storage. 70 // Create an item storage.
75 base::scoped_nsobject<CRWNavigationItemStorage> item_storage( 71 base::scoped_nsobject<CRWNavigationItemStorage> item_storage(
76 [[CRWNavigationItemStorage alloc] init]); 72 [[CRWNavigationItemStorage alloc] init]);
77 [item_storage setVirtualURL:GURL("http://init.test")]; 73 [item_storage setVirtualURL:GURL("http://init.test")];
78 [item_storage setReferrer:web::Referrer(GURL("http://referrer.url"), 74 [item_storage setReferrer:web::Referrer(GURL("http://referrer.url"),
79 web::ReferrerPolicyDefault)]; 75 web::ReferrerPolicyDefault)];
(...skipping 16 matching lines...) Expand all
96 base::scoped_nsobject<CRWSessionStorage> session_storage_; 92 base::scoped_nsobject<CRWSessionStorage> session_storage_;
97 }; 93 };
98 94
99 // Tests that unarchiving CRWSessionStorage data results in an equivalent 95 // Tests that unarchiving CRWSessionStorage data results in an equivalent
100 // storage. 96 // storage.
101 TEST_F(CRWNSessionStorageTest, EncodeDecode) { 97 TEST_F(CRWNSessionStorageTest, EncodeDecode) {
102 NSData* data = [NSKeyedArchiver archivedDataWithRootObject:session_storage_]; 98 NSData* data = [NSKeyedArchiver archivedDataWithRootObject:session_storage_];
103 id decoded = [NSKeyedUnarchiver unarchiveObjectWithData:data]; 99 id decoded = [NSKeyedUnarchiver unarchiveObjectWithData:data];
104 EXPECT_TRUE(SessionStoragesAreEqual(session_storage_, decoded)); 100 EXPECT_TRUE(SessionStoragesAreEqual(session_storage_, decoded));
105 } 101 }
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