OLD | NEW |
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 22 matching lines...) Expand all Loading... |
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 std::unique_ptr<web::NavigationItemImpl> item( |
37 new web::NavigationItemImpl()); | 37 new web::NavigationItemImpl()); |
38 item->SetOriginalRequestURL(url); | 38 item->SetOriginalRequestURL(url); |
39 item->SetURL(url); | 39 item->SetURL(url); |
40 item->SetTransitionType(transition); | 40 item->SetTransitionType(transition); |
41 item->SetTimestamp(base::Time::Now()); | 41 item->SetTimestamp(base::Time::Now()); |
42 item->SetPostData([@"Test data" dataUsingEncoding:NSUTF8StringEncoding]); | 42 item->SetPostData([@"Test data" dataUsingEncoding:NSUTF8StringEncoding]); |
| 43 item->SetUserAgentType(web::UserAgentType::MOBILE); |
43 session_entry_.reset( | 44 session_entry_.reset( |
44 [[CRWSessionEntry alloc] initWithNavigationItem:std::move(item)]); | 45 [[CRWSessionEntry alloc] initWithNavigationItem:std::move(item)]); |
45 } | 46 } |
46 | 47 |
47 protected: | 48 protected: |
48 base::scoped_nsobject<CRWSessionEntry> session_entry_; | 49 base::scoped_nsobject<CRWSessionEntry> session_entry_; |
49 }; | 50 }; |
50 | 51 |
51 void CRWSessionEntryTest::expectEqualSessionEntries( | 52 void CRWSessionEntryTest::expectEqualSessionEntries( |
52 CRWSessionEntry* entry1, | 53 CRWSessionEntry* entry1, |
53 CRWSessionEntry* entry2, | 54 CRWSessionEntry* entry2, |
54 ui::PageTransition transition) { | 55 ui::PageTransition transition) { |
55 web::NavigationItemImpl* navItem1 = entry1.navigationItemImpl; | 56 web::NavigationItemImpl* navItem1 = entry1.navigationItemImpl; |
56 web::NavigationItemImpl* navItem2 = entry2.navigationItemImpl; | 57 web::NavigationItemImpl* navItem2 = entry2.navigationItemImpl; |
57 // url is not compared because it could differ after copy or archive. | 58 // url is not compared because it could differ after copy or archive. |
58 EXPECT_EQ(navItem1->GetVirtualURL(), navItem2->GetVirtualURL()); | 59 EXPECT_EQ(navItem1->GetVirtualURL(), navItem2->GetVirtualURL()); |
59 EXPECT_EQ(navItem1->GetReferrer().url, navItem2->GetReferrer().url); | 60 EXPECT_EQ(navItem1->GetReferrer().url, navItem2->GetReferrer().url); |
60 EXPECT_EQ(navItem1->GetTimestamp(), navItem2->GetTimestamp()); | 61 EXPECT_EQ(navItem1->GetTimestamp(), navItem2->GetTimestamp()); |
61 EXPECT_EQ(navItem1->GetTitle(), navItem2->GetTitle()); | 62 EXPECT_EQ(navItem1->GetTitle(), navItem2->GetTitle()); |
62 EXPECT_EQ(navItem1->GetPageDisplayState(), navItem2->GetPageDisplayState()); | 63 EXPECT_EQ(navItem1->GetPageDisplayState(), navItem2->GetPageDisplayState()); |
63 EXPECT_EQ(navItem1->ShouldSkipRepostFormConfirmation(), | 64 EXPECT_EQ(navItem1->ShouldSkipRepostFormConfirmation(), |
64 navItem2->ShouldSkipRepostFormConfirmation()); | 65 navItem2->ShouldSkipRepostFormConfirmation()); |
65 EXPECT_EQ(navItem1->IsOverridingUserAgent(), | 66 EXPECT_EQ(navItem1->GetUserAgentType(), navItem2->GetUserAgentType()); |
66 navItem2->IsOverridingUserAgent()); | |
67 EXPECT_TRUE((!navItem1->HasPostData() && !navItem2->HasPostData()) || | 67 EXPECT_TRUE((!navItem1->HasPostData() && !navItem2->HasPostData()) || |
68 [navItem1->GetPostData() isEqualToData:navItem2->GetPostData()]); | 68 [navItem1->GetPostData() isEqualToData:navItem2->GetPostData()]); |
69 EXPECT_TRUE(ui::PageTransitionTypeIncludingQualifiersIs( | 69 EXPECT_TRUE(ui::PageTransitionTypeIncludingQualifiersIs( |
70 navItem2->GetTransitionType(), transition)); | 70 navItem2->GetTransitionType(), transition)); |
71 EXPECT_NSEQ(navItem1->GetHttpRequestHeaders(), | 71 EXPECT_NSEQ(navItem1->GetHttpRequestHeaders(), |
72 navItem2->GetHttpRequestHeaders()); | 72 navItem2->GetHttpRequestHeaders()); |
73 } | 73 } |
74 | 74 |
75 TEST_F(CRWSessionEntryTest, Description) { | 75 TEST_F(CRWSessionEntryTest, Description) { |
76 [session_entry_ navigationItem]->SetTitle(base::SysNSStringToUTF16(@"Title")); | 76 [session_entry_ navigationItem]->SetTitle(base::SysNSStringToUTF16(@"Title")); |
77 EXPECT_NSEQ([session_entry_ description], | 77 EXPECT_NSEQ([session_entry_ description], |
78 @"url:http://init.test/ originalurl:http://init.test/ " | 78 @"url:http://init.test/ originalurl:http://init.test/ " |
79 @"title:Title transition:2 displayState:{ scrollOffset:(nan, " | 79 @"title:Title transition:2 displayState:{ scrollOffset:(nan, " |
80 @"nan), zoomScaleRange:(nan, nan), zoomScale:nan } desktopUA:0"); | 80 @"nan), zoomScaleRange:(nan, nan), zoomScale:nan } " |
| 81 @"userAgentType:MOBILE"); |
81 } | 82 } |
82 | 83 |
83 TEST_F(CRWSessionEntryTest, EmptyVirtualUrl) { | 84 TEST_F(CRWSessionEntryTest, EmptyVirtualUrl) { |
84 EXPECT_EQ(GURL("http://init.test/"), | 85 EXPECT_EQ(GURL("http://init.test/"), |
85 [session_entry_ navigationItem]->GetURL()); | 86 [session_entry_ navigationItem]->GetURL()); |
86 } | 87 } |
87 | 88 |
88 TEST_F(CRWSessionEntryTest, NonEmptyVirtualUrl) { | 89 TEST_F(CRWSessionEntryTest, NonEmptyVirtualUrl) { |
89 web::NavigationItem* item = [session_entry_ navigationItem]; | 90 web::NavigationItem* item = [session_entry_ navigationItem]; |
90 item->SetVirtualURL(GURL("http://user.friendly")); | 91 item->SetVirtualURL(GURL("http://user.friendly")); |
91 EXPECT_EQ(GURL("http://user.friendly/"), item->GetVirtualURL()); | 92 EXPECT_EQ(GURL("http://user.friendly/"), item->GetVirtualURL()); |
92 EXPECT_EQ(GURL("http://init.test/"), item->GetURL()); | 93 EXPECT_EQ(GURL("http://init.test/"), item->GetURL()); |
93 } | 94 } |
94 | 95 |
95 TEST_F(CRWSessionEntryTest, EmptyDescription) { | 96 TEST_F(CRWSessionEntryTest, EmptyDescription) { |
96 EXPECT_GT([[session_entry_ description] length], 0U); | 97 EXPECT_GT([[session_entry_ description] length], 0U); |
97 } | 98 } |
OLD | NEW |