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

Unified Diff: ios/web/navigation/crw_session_entry_unittest.mm

Issue 1106963003: Re-sync ios/web with downstream version (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add forgotten file Created 5 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ios/web/navigation/crw_session_entry.mm ('k') | ios/web/navigation/navigation_item_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/web/navigation/crw_session_entry_unittest.mm
diff --git a/ios/web/navigation/crw_session_entry_unittest.mm b/ios/web/navigation/crw_session_entry_unittest.mm
index 210afc6974286724505db1182db96a0fb983732d..225fd81a0ba28f7c67d916e17db35a0a585b41b1 100644
--- a/ios/web/navigation/crw_session_entry_unittest.mm
+++ b/ios/web/navigation/crw_session_entry_unittest.mm
@@ -24,11 +24,6 @@
(const web::PageScrollState&)scrollState;
@end
-static NSString* const kHTTPHeaderKey1 = @"key1";
-static NSString* const kHTTPHeaderKey2 = @"key2";
-static NSString* const kHTTPHeaderValue1 = @"value1";
-static NSString* const kHTTPHeaderValue2 = @"value2";
-
class CRWSessionEntryTest : public PlatformTest {
public:
static void expectEqualSessionEntries(CRWSessionEntry* entry1,
@@ -40,15 +35,13 @@ class CRWSessionEntryTest : public PlatformTest {
GURL url("http://init.test");
ui::PageTransition transition =
ui::PAGE_TRANSITION_AUTO_BOOKMARK;
- sessionEntry_.reset([[CRWSessionEntry alloc] initWithUrl:url
- referrer:web::Referrer()
- transition:transition
- useDesktopUserAgent:NO
- rendererInitiated:NO]);
- [sessionEntry_ navigationItem]->SetTimestamp(base::Time::Now());
- [sessionEntry_ addHTTPHeaders:@{ kHTTPHeaderKey1 : kHTTPHeaderValue1 }];
- [sessionEntry_
- setPOSTData:[@"Test data" dataUsingEncoding:NSUTF8StringEncoding]];
+ scoped_ptr<web::NavigationItemImpl> item(new web::NavigationItemImpl());
+ item->SetURL(url);
+ item->SetTransitionType(transition);
+ item->SetTimestamp(base::Time::Now());
+ item->SetPostData([@"Test data" dataUsingEncoding:NSUTF8StringEncoding]);
+ sessionEntry_.reset(
+ [[CRWSessionEntry alloc] initWithNavigationItem:item.Pass()]);
}
void TearDown() override { sessionEntry_.reset(); }
@@ -78,38 +71,37 @@ void CRWSessionEntryTest::expectEqualSessionEntries(
CRWSessionEntry* entry1,
CRWSessionEntry* entry2,
ui::PageTransition transition) {
- EXPECT_EQ(entry1.index, entry2.index);
- web::NavigationItem* navItem1 = entry1.navigationItem;
- web::NavigationItem* navItem2 = entry2.navigationItem;
+ web::NavigationItemImpl* navItem1 = entry1.navigationItemImpl;
+ web::NavigationItemImpl* navItem2 = entry2.navigationItemImpl;
// url is not compared because it could differ after copy or archive.
EXPECT_EQ(navItem1->GetVirtualURL(), navItem2->GetVirtualURL());
EXPECT_EQ(navItem1->GetReferrer().url, navItem2->GetReferrer().url);
EXPECT_EQ(navItem1->GetTimestamp(), navItem2->GetTimestamp());
EXPECT_EQ(navItem1->GetTitle(), navItem2->GetTitle());
EXPECT_EQ(navItem1->GetPageScrollState(), navItem2->GetPageScrollState());
- EXPECT_EQ(entry1.useDesktopUserAgent, entry2.useDesktopUserAgent);
- EXPECT_EQ(entry1.usedDataReductionProxy, entry2.usedDataReductionProxy);
+ EXPECT_EQ(navItem1->ShouldSkipResubmitDataConfirmation(),
+ navItem2->ShouldSkipResubmitDataConfirmation());
+ EXPECT_EQ(navItem1->IsOverridingUserAgent(),
+ navItem2->IsOverridingUserAgent());
+ EXPECT_TRUE((!navItem1->HasPostData() && !navItem2->HasPostData()) ||
+ [navItem1->GetPostData() isEqualToData:navItem2->GetPostData()]);
EXPECT_EQ(navItem2->GetTransitionType(), transition);
- EXPECT_NSEQ(entry1.httpHeaders, entry2.httpHeaders);
- EXPECT_TRUE((!entry1.POSTData && !entry2.POSTData) ||
- [entry1.POSTData isEqualToData:entry2.POSTData]);
- EXPECT_EQ(entry1.skipResubmitDataConfirmation,
- entry2.skipResubmitDataConfirmation);
+ EXPECT_NSEQ(navItem1->GetHttpRequestHeaders(),
+ navItem2->GetHttpRequestHeaders());
}
TEST_F(CRWSessionEntryTest, Description) {
[sessionEntry_ navigationItem]->SetTitle(base::SysNSStringToUTF16(@"Title"));
- EXPECT_NSEQ([sessionEntry_ description], @"url:http://init.test/ "
- @"originalurl:http://init.test/ " @"title:Title " @"transition:2 "
- @"scrollState:{ scrollOffset:(nan, nan), zoomScaleRange:(nan, "
- @"nan), zoomScale:nan } " @"desktopUA:0 " @"proxy:0");
+ EXPECT_NSEQ([sessionEntry_ description],
+ @"url:http://init.test/ originalurl:http://init.test/ "
+ @"title:Title transition:2 scrollState:{ scrollOffset:(nan, "
+ @"nan), zoomScaleRange:(nan, nan), zoomScale:nan } desktopUA:0");
}
TEST_F(CRWSessionEntryTest, InitWithCoder) {
web::NavigationItem* item = [sessionEntry_ navigationItem];
item->SetVirtualURL(GURL("http://user.friendly"));
item->SetTitle(base::SysNSStringToUTF16(@"Title"));
- int index = sessionEntry_.get().index;
// Old serialized entries have no timestamp.
item->SetTimestamp(base::Time::FromInternalValue(0));
@@ -130,8 +122,6 @@ TEST_F(CRWSessionEntryTest, InitWithCoder) {
[decoder onSelector:@selector(decodeBytesForKey:returnedLength:)
callBlockExpectation:block];
- [[[decoder expect] andReturnValue:OCMOCK_VALUE(index)]
- decodeIntForKey:@"index"];
[[[decoder expect] andReturn:virtualUrl]
decodeObjectForKey:@"virtualUrl"];
[[[decoder expect] andReturn:referrer]
@@ -144,18 +134,19 @@ TEST_F(CRWSessionEntryTest, InitWithCoder) {
[CRWSessionEntry dictionaryFromScrollState:scrollState];
[[[decoder expect] andReturn:serializedScrollState]
decodeObjectForKey:@"state"];
- BOOL useDesktopUserAgent = sessionEntry_.get().useDesktopUserAgent;
+ BOOL useDesktopUserAgent =
+ [sessionEntry_ navigationItem]->IsOverridingUserAgent();
[[[decoder expect] andReturnValue:OCMOCK_VALUE(useDesktopUserAgent)]
decodeBoolForKey:@"useDesktopUserAgent"];
- BOOL usedDataReductionProxy = sessionEntry_.get().usedDataReductionProxy;
- [[[decoder expect] andReturnValue:OCMOCK_VALUE(usedDataReductionProxy)]
- decodeBoolForKey:@"usedDataReductionProxy"];
- [[[decoder expect] andReturn:sessionEntry_.get().httpHeaders]
+ NSDictionary* requestHeaders =
+ [sessionEntry_ navigationItem]->GetHttpRequestHeaders();
+ [[[decoder expect] andReturn:requestHeaders]
decodeObjectForKey:@"httpHeaders"];
- [[[decoder expect] andReturn:sessionEntry_.get().POSTData]
+ [[[decoder expect]
+ andReturn:[sessionEntry_ navigationItemImpl]->GetPostData()]
decodeObjectForKey:@"POSTData"];
BOOL skipResubmitDataConfirmation =
- sessionEntry_.get().skipResubmitDataConfirmation;
+ [sessionEntry_ navigationItemImpl]->ShouldSkipResubmitDataConfirmation();
[[[decoder expect] andReturnValue:OCMOCK_VALUE(skipResubmitDataConfirmation)]
decodeBoolForKey:@"skipResubmitDataConfirmation"];
@@ -174,7 +165,6 @@ TEST_F(CRWSessionEntryTest, InitWithCoderNewStyle) {
web::NavigationItem* item = [sessionEntry_ navigationItem];
item->SetVirtualURL(GURL("http://user.friendly"));
item->SetTitle(base::SysNSStringToUTF16(@"Title"));
- int index = sessionEntry_.get().index;
int64 timestamp = item->GetTimestamp().ToInternalValue();
std::string virtualUrl = item->GetVirtualURL().spec();
@@ -202,8 +192,6 @@ TEST_F(CRWSessionEntryTest, InitWithCoderNewStyle) {
callBlockExpectation:block];
[[[decoder stub] andReturnValue:[NSNumber numberWithBool:YES]]
containsValueForKey:[OCMArg any]];
- [[[decoder expect] andReturnValue:OCMOCK_VALUE(index)]
- decodeIntForKey:@"index"];
web::ReferrerPolicy expectedPolicy = item->GetReferrer().policy;
[[[decoder expect]
andReturnValue:OCMOCK_VALUE(expectedPolicy)]
@@ -218,18 +206,18 @@ TEST_F(CRWSessionEntryTest, InitWithCoderNewStyle) {
[CRWSessionEntry dictionaryFromScrollState:scrollState];
[[[decoder expect] andReturn:serializedScrollState]
decodeObjectForKey:@"state"];
- BOOL useDesktopUserAgent = sessionEntry_.get().useDesktopUserAgent;
+ BOOL useDesktopUserAgent =
+ [sessionEntry_ navigationItem]->IsOverridingUserAgent();
[[[decoder expect] andReturnValue:OCMOCK_VALUE(useDesktopUserAgent)]
decodeBoolForKey:@"useDesktopUserAgent"];
- BOOL usedDataReductionProxy = sessionEntry_.get().usedDataReductionProxy;
- [[[decoder expect] andReturnValue:OCMOCK_VALUE(usedDataReductionProxy)]
- decodeBoolForKey:@"usedDataReductionProxy"];
- [[[decoder expect] andReturn:sessionEntry_.get().httpHeaders]
+ NSDictionary* requestHeaders =
+ [sessionEntry_ navigationItem]->GetHttpRequestHeaders();
+ [[[decoder expect] andReturn:requestHeaders]
decodeObjectForKey:@"httpHeaders"];
- [[[decoder expect] andReturn:sessionEntry_.get().POSTData]
- decodeObjectForKey:@"POSTData"];
+ NSData* POSTData = [sessionEntry_ navigationItemImpl]->GetPostData();
+ [[[decoder expect] andReturn:POSTData] decodeObjectForKey:@"POSTData"];
BOOL skipResubmitDataConfirmation =
- sessionEntry_.get().skipResubmitDataConfirmation;
+ [sessionEntry_ navigationItemImpl]->ShouldSkipResubmitDataConfirmation();
[[[decoder expect] andReturnValue:OCMOCK_VALUE(skipResubmitDataConfirmation)]
decodeBoolForKey:@"skipResubmitDataConfirmation"];
@@ -276,7 +264,6 @@ TEST_F(CRWSessionEntryTest, EncodeWithCoder) {
};
[coder onSelector:@selector(encodeBytes:length:forKey:)
callBlockExpectation:block];
- [[coder expect] encodeInt:[sessionEntry_ index] forKey:@"index"];
[[coder expect] encodeInt:item->GetReferrer().policy
forKey:@"referrerPolicy"];
[[coder expect] encodeInt64:item->GetTimestamp().ToInternalValue()
@@ -287,14 +274,18 @@ TEST_F(CRWSessionEntryTest, EncodeWithCoder) {
NSDictionary* serializedScrollState =
[CRWSessionEntry dictionaryFromScrollState:scrollState];
[[coder expect] encodeObject:serializedScrollState forKey:@"state"];
- [[coder expect] encodeBool:[sessionEntry_ useDesktopUserAgent]
- forKey:@"useDesktopUserAgent"];
- [[coder expect] encodeBool:[sessionEntry_ usedDataReductionProxy]
- forKey:@"usedDataReductionProxy"];
- [[coder expect] encodeObject:[sessionEntry_ httpHeaders]
+ BOOL useDesktopUserAgent =
+ [sessionEntry_ navigationItem]->IsOverridingUserAgent();
+ [[coder expect] encodeBool:useDesktopUserAgent forKey:@"useDesktopUserAgent"];
+ NSDictionary* requestHeaders =
+ [sessionEntry_ navigationItem]->GetHttpRequestHeaders();
+ [[coder expect] encodeObject:requestHeaders
forKey:@"httpHeaders"];
- [[coder expect] encodeObject:[sessionEntry_ POSTData] forKey:@"POSTData"];
- [[coder expect] encodeBool:[sessionEntry_ skipResubmitDataConfirmation]
+ [[coder expect] encodeObject:[sessionEntry_ navigationItemImpl]->GetPostData()
+ forKey:@"POSTData"];
+ BOOL skipResubmitDataConfirmation =
+ [sessionEntry_ navigationItemImpl]->ShouldSkipResubmitDataConfirmation();
+ [[coder expect] encodeBool:skipResubmitDataConfirmation
forKey:@"skipResubmitDataConfirmation"];
[sessionEntry_ encodeWithCoder:coder];
EXPECT_OCMOCK_VERIFY(coder);
@@ -338,63 +329,3 @@ TEST_F(CRWSessionEntryTest, NonEmptyVirtualUrl) {
TEST_F(CRWSessionEntryTest, EmptyDescription) {
EXPECT_GT([[sessionEntry_ description] length], 0U);
}
-
-TEST_F(CRWSessionEntryTest, CreateWithNavigationItem) {
- int index = 5; // Just pick something non-zero.
- GURL url("http://www.virtualurl.com");
- web::Referrer referrer(GURL("http://www.referrer.com"),
- web::ReferrerPolicyDefault);
- base::string16 title = base::SysNSStringToUTF16(@"Title");
- std::string state;
- ui::PageTransition transition = ui::PAGE_TRANSITION_GENERATED;
-
- scoped_ptr<web::NavigationItem> navigation_item(
- new web::NavigationItemImpl());
- navigation_item->SetURL(url);
- navigation_item->SetReferrer(referrer);
- navigation_item->SetTitle(title);
- navigation_item->SetTransitionType(transition);
-
- base::scoped_nsobject<CRWSessionEntry> sessionEntry(
- [[CRWSessionEntry alloc] initWithNavigationItem:navigation_item.Pass()
- index:index]);
- web::NavigationItem* item = [sessionEntry navigationItem];
- // Validate everything was set correctly.
- EXPECT_EQ(sessionEntry.get().index, index);
- // Desktop only persists the virtual url, all three fields are initialized
- // by it.
- EXPECT_EQ(item->GetURL(), url);
- EXPECT_EQ(item->GetVirtualURL(), url);
- EXPECT_EQ(sessionEntry.get().originalUrl, url);
- EXPECT_EQ(item->GetReferrer().url, referrer.url);
- EXPECT_EQ(item->GetTitle(), title);
- EXPECT_EQ(item->GetTransitionType(), transition);
-}
-
-TEST_F(CRWSessionEntryTest, AddHTTPHeaders) {
- EXPECT_NSEQ(@{ kHTTPHeaderKey1 : kHTTPHeaderValue1 },
- [sessionEntry_ httpHeaders]);
-
- [sessionEntry_ addHTTPHeaders:@{ kHTTPHeaderKey1 : kHTTPHeaderValue2 }];
- EXPECT_NSEQ(@{ kHTTPHeaderKey1 : kHTTPHeaderValue2 },
- [sessionEntry_ httpHeaders]);
-
- [sessionEntry_ addHTTPHeaders:@{ kHTTPHeaderKey2 : kHTTPHeaderValue1 }];
- NSDictionary* expected = @{ kHTTPHeaderKey1 : kHTTPHeaderValue2,
- kHTTPHeaderKey2 : kHTTPHeaderValue1 };
- EXPECT_NSEQ(expected, [sessionEntry_ httpHeaders]);
-}
-
-TEST_F(CRWSessionEntryTest, RemoveHTTPHeaderForKey) {
- NSDictionary* httpHeaders = @{ kHTTPHeaderKey1 : kHTTPHeaderValue1,
- kHTTPHeaderKey2 : kHTTPHeaderValue2 };
- [sessionEntry_ addHTTPHeaders:httpHeaders];
- EXPECT_NSEQ(httpHeaders, [sessionEntry_ httpHeaders]);
-
- [sessionEntry_ removeHTTPHeaderForKey:kHTTPHeaderKey1];
- EXPECT_NSEQ(@{ kHTTPHeaderKey2 : kHTTPHeaderValue2 },
- [sessionEntry_ httpHeaders]);
-
- [sessionEntry_ removeHTTPHeaderForKey:kHTTPHeaderKey2];
- EXPECT_TRUE([sessionEntry_ httpHeaders] == nil);
-}
« no previous file with comments | « ios/web/navigation/crw_session_entry.mm ('k') | ios/web/navigation/navigation_item_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698