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

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

Issue 2672723003: Converted CRWSessionController to use NavigationItems. (Closed)
Patch Set: test fixes, self review Created 3 years, 10 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
« no previous file with comments | « ios/web/navigation/crw_session_entry.mm ('k') | ios/web/navigation/navigation_item_impl_list.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/navigation/crw_session_entry.h" 5 #import "ios/web/navigation/crw_session_entry.h"
6 6
7 #import <Foundation/Foundation.h> 7 #import <Foundation/Foundation.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <utility> 10 #include <utility>
(...skipping 15 matching lines...) Expand all
26 public: 26 public:
27 static void expectEqualSessionEntries(CRWSessionEntry* entry1, 27 static void expectEqualSessionEntries(CRWSessionEntry* entry1,
28 CRWSessionEntry* entry2, 28 CRWSessionEntry* entry2,
29 ui::PageTransition transition); 29 ui::PageTransition transition);
30 30
31 protected: 31 protected:
32 void SetUp() override { 32 void SetUp() override {
33 GURL url("http://init.test"); 33 GURL url("http://init.test");
34 ui::PageTransition transition = 34 ui::PageTransition transition =
35 ui::PAGE_TRANSITION_AUTO_BOOKMARK; 35 ui::PAGE_TRANSITION_AUTO_BOOKMARK;
36 std::unique_ptr<web::NavigationItemImpl> item( 36 _item.reset(new web::NavigationItemImpl());
37 new web::NavigationItemImpl()); 37 _item->SetOriginalRequestURL(url);
38 item->SetOriginalRequestURL(url); 38 _item->SetURL(url);
39 item->SetURL(url); 39 _item->SetTransitionType(transition);
40 item->SetTransitionType(transition); 40 _item->SetTimestamp(base::Time::Now());
41 item->SetTimestamp(base::Time::Now()); 41 _item->SetPostData([@"Test data" dataUsingEncoding:NSUTF8StringEncoding]);
42 item->SetPostData([@"Test data" dataUsingEncoding:NSUTF8StringEncoding]); 42 _sessionEntry.reset(
43 sessionEntry_.reset( 43 [[CRWSessionEntry alloc] initWithNavigationItem:_item.get()]);
44 [[CRWSessionEntry alloc] initWithNavigationItem:std::move(item)]);
45 } 44 }
46 void TearDown() override { sessionEntry_.reset(); }
47 45
48 protected: 46 protected:
49 base::scoped_nsobject<CRWSessionEntry> sessionEntry_; 47 std::unique_ptr<web::NavigationItemImpl> _item;
48 base::scoped_nsobject<CRWSessionEntry> _sessionEntry;
50 }; 49 };
51 50
52 void CRWSessionEntryTest::expectEqualSessionEntries( 51 void CRWSessionEntryTest::expectEqualSessionEntries(
53 CRWSessionEntry* entry1, 52 CRWSessionEntry* entry1,
54 CRWSessionEntry* entry2, 53 CRWSessionEntry* entry2,
55 ui::PageTransition transition) { 54 ui::PageTransition transition) {
56 web::NavigationItemImpl* navItem1 = entry1.navigationItemImpl; 55 web::NavigationItemImpl* navItem1 = entry1.navigationItemImpl;
57 web::NavigationItemImpl* navItem2 = entry2.navigationItemImpl; 56 web::NavigationItemImpl* navItem2 = entry2.navigationItemImpl;
58 // url is not compared because it could differ after copy or archive. 57 // url is not compared because it could differ after copy or archive.
59 EXPECT_EQ(navItem1->GetVirtualURL(), navItem2->GetVirtualURL()); 58 EXPECT_EQ(navItem1->GetVirtualURL(), navItem2->GetVirtualURL());
60 EXPECT_EQ(navItem1->GetReferrer().url, navItem2->GetReferrer().url); 59 EXPECT_EQ(navItem1->GetReferrer().url, navItem2->GetReferrer().url);
61 EXPECT_EQ(navItem1->GetTimestamp(), navItem2->GetTimestamp()); 60 EXPECT_EQ(navItem1->GetTimestamp(), navItem2->GetTimestamp());
62 EXPECT_EQ(navItem1->GetTitle(), navItem2->GetTitle()); 61 EXPECT_EQ(navItem1->GetTitle(), navItem2->GetTitle());
63 EXPECT_EQ(navItem1->GetPageDisplayState(), navItem2->GetPageDisplayState()); 62 EXPECT_EQ(navItem1->GetPageDisplayState(), navItem2->GetPageDisplayState());
64 EXPECT_EQ(navItem1->ShouldSkipRepostFormConfirmation(), 63 EXPECT_EQ(navItem1->ShouldSkipRepostFormConfirmation(),
65 navItem2->ShouldSkipRepostFormConfirmation()); 64 navItem2->ShouldSkipRepostFormConfirmation());
66 EXPECT_EQ(navItem1->IsOverridingUserAgent(), 65 EXPECT_EQ(navItem1->IsOverridingUserAgent(),
67 navItem2->IsOverridingUserAgent()); 66 navItem2->IsOverridingUserAgent());
68 EXPECT_TRUE((!navItem1->HasPostData() && !navItem2->HasPostData()) || 67 EXPECT_TRUE((!navItem1->HasPostData() && !navItem2->HasPostData()) ||
69 [navItem1->GetPostData() isEqualToData:navItem2->GetPostData()]); 68 [navItem1->GetPostData() isEqualToData:navItem2->GetPostData()]);
70 EXPECT_TRUE(ui::PageTransitionTypeIncludingQualifiersIs( 69 EXPECT_TRUE(ui::PageTransitionTypeIncludingQualifiersIs(
71 navItem2->GetTransitionType(), transition)); 70 navItem2->GetTransitionType(), transition));
72 EXPECT_NSEQ(navItem1->GetHttpRequestHeaders(), 71 EXPECT_NSEQ(navItem1->GetHttpRequestHeaders(),
73 navItem2->GetHttpRequestHeaders()); 72 navItem2->GetHttpRequestHeaders());
74 } 73 }
75 74
76 TEST_F(CRWSessionEntryTest, Description) { 75 TEST_F(CRWSessionEntryTest, Description) {
77 [sessionEntry_ navigationItem]->SetTitle(base::SysNSStringToUTF16(@"Title")); 76 [_sessionEntry navigationItem]->SetTitle(base::SysNSStringToUTF16(@"Title"));
78 EXPECT_NSEQ([sessionEntry_ description], 77 EXPECT_NSEQ([_sessionEntry description],
79 @"url:http://init.test/ originalurl:http://init.test/ " 78 @"url:http://init.test/ originalurl:http://init.test/ "
80 @"title:Title transition:2 displayState:{ scrollOffset:(nan, " 79 @"title:Title transition:2 displayState:{ scrollOffset:(nan, "
81 @"nan), zoomScaleRange:(nan, nan), zoomScale:nan } desktopUA:0"); 80 @"nan), zoomScaleRange:(nan, nan), zoomScale:nan } desktopUA:0");
82 } 81 }
83 82
84 TEST_F(CRWSessionEntryTest, CopyWithZone) {
85 CRWSessionEntry* sessionEntry2 = [sessionEntry_ copy];
86 EXPECT_NE(sessionEntry_, sessionEntry2);
87 expectEqualSessionEntries(
88 sessionEntry_, sessionEntry2,
89 [sessionEntry_ navigationItem]->GetTransitionType());
90 }
91
92 TEST_F(CRWSessionEntryTest, EmptyVirtualUrl) { 83 TEST_F(CRWSessionEntryTest, EmptyVirtualUrl) {
93 EXPECT_EQ(GURL("http://init.test/"), 84 EXPECT_EQ(GURL("http://init.test/"),
94 [sessionEntry_ navigationItem]->GetURL()); 85 [_sessionEntry navigationItem]->GetURL());
95 } 86 }
96 87
97 TEST_F(CRWSessionEntryTest, NonEmptyVirtualUrl) { 88 TEST_F(CRWSessionEntryTest, NonEmptyVirtualUrl) {
98 web::NavigationItem* item = [sessionEntry_ navigationItem]; 89 web::NavigationItem* item = [_sessionEntry navigationItem];
99 item->SetVirtualURL(GURL("http://user.friendly")); 90 item->SetVirtualURL(GURL("http://user.friendly"));
100 EXPECT_EQ(GURL("http://user.friendly/"), item->GetVirtualURL()); 91 EXPECT_EQ(GURL("http://user.friendly/"), item->GetVirtualURL());
101 EXPECT_EQ(GURL("http://init.test/"), item->GetURL()); 92 EXPECT_EQ(GURL("http://init.test/"), item->GetURL());
102 } 93 }
103 94
104 TEST_F(CRWSessionEntryTest, EmptyDescription) { 95 TEST_F(CRWSessionEntryTest, EmptyDescription) {
105 EXPECT_GT([[sessionEntry_ description] length], 0U); 96 EXPECT_GT([[_sessionEntry description] length], 0U);
106 } 97 }
OLDNEW
« no previous file with comments | « ios/web/navigation/crw_session_entry.mm ('k') | ios/web/navigation/navigation_item_impl_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698