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

Unified Diff: android_webview/native/state_serializer_unittest.cc

Issue 1687853002: Make AW state_serializer handle restoring also legacy format (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Tweaks according to review suggestions Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « android_webview/native/state_serializer.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: android_webview/native/state_serializer_unittest.cc
diff --git a/android_webview/native/state_serializer_unittest.cc b/android_webview/native/state_serializer_unittest.cc
index a9671c6717476a0887b5e019f6661df52df5b50c..9352574083dc9bbdf3d25fc9480a9860bdba96ba 100644
--- a/android_webview/native/state_serializer_unittest.cc
+++ b/android_webview/native/state_serializer_unittest.cc
@@ -21,17 +21,8 @@ using std::string;
namespace android_webview {
-TEST(AndroidWebViewStateSerializerTest, TestHeaderSerialization) {
- base::Pickle pickle;
- bool result = internal::WriteHeaderToPickle(&pickle);
- EXPECT_TRUE(result);
-
- base::PickleIterator iterator(pickle);
- result = internal::RestoreHeaderFromPickle(&iterator);
- EXPECT_TRUE(result);
-}
-
-TEST(AndroidWebViewStateSerializerTest, TestNavigationEntrySerialization) {
+namespace {
mnaganov (inactive) 2016/02/11 17:21:48 nit: please put a blank line after "namespace {"
+static scoped_ptr<content::NavigationEntry> CreateNavigationEntry() {
// This is required for NavigationEntry::Create.
content::ContentClient content_client;
content::SetContentClient(&content_client);
@@ -73,6 +64,23 @@ TEST(AndroidWebViewStateSerializerTest, TestNavigationEntrySerialization) {
entry->SetIsOverridingUserAgent(is_overriding_user_agent);
entry->SetTimestamp(timestamp);
entry->SetHttpStatusCode(http_status_code);
+ return entry;
mnaganov (inactive) 2016/02/11 17:21:48 I guess you need to return std::move(entry) here.
sbergner 2016/02/12 13:00:10 Changed it at first but on second thought I don't
mnaganov (inactive) 2016/02/12 16:22:47 I was thinking that the unit tests were crashing b
+}
+
+} // namespace
+
+TEST(AndroidWebViewStateSerializerTest, TestHeaderSerialization) {
+ base::Pickle pickle;
+ bool result = internal::WriteHeaderToPickle(&pickle);
+ EXPECT_TRUE(result);
+
+ base::PickleIterator iterator(pickle);
+ uint32_t version = internal::RestoreHeaderFromPickle(&iterator);
+ EXPECT_GT(version, 0U);
+}
+
+TEST(AndroidWebViewStateSerializerTest, TestNavigationEntrySerialization) {
+ scoped_ptr<content::NavigationEntry> entry(CreateNavigationEntry());
base::Pickle pickle;
bool result = internal::WriteNavigationEntryToPickle(*entry, &pickle);
@@ -83,19 +91,53 @@ TEST(AndroidWebViewStateSerializerTest, TestNavigationEntrySerialization) {
result = internal::RestoreNavigationEntryFromPickle(&iterator, copy.get());
EXPECT_TRUE(result);
- EXPECT_EQ(url, copy->GetURL());
- EXPECT_EQ(virtual_url, copy->GetVirtualURL());
- EXPECT_EQ(referrer.url, copy->GetReferrer().url);
- EXPECT_EQ(referrer.policy, copy->GetReferrer().policy);
- EXPECT_EQ(title, copy->GetTitle());
- EXPECT_EQ(page_state, copy->GetPageState());
- EXPECT_EQ(has_post_data, copy->GetHasPostData());
- EXPECT_EQ(original_request_url, copy->GetOriginalRequestURL());
- EXPECT_EQ(base_url_for_data_url, copy->GetBaseURLForDataURL());
- EXPECT_EQ(data_url_as_string, copy->GetDataURLAsString()->data());
- EXPECT_EQ(is_overriding_user_agent, copy->GetIsOverridingUserAgent());
- EXPECT_EQ(timestamp, copy->GetTimestamp());
- EXPECT_EQ(http_status_code, copy->GetHttpStatusCode());
+ EXPECT_EQ(entry->GetURL(), copy->GetURL());
+ EXPECT_EQ(entry->GetVirtualURL(), copy->GetVirtualURL());
+ EXPECT_EQ(entry->GetReferrer().url, copy->GetReferrer().url);
+ EXPECT_EQ(entry->GetReferrer().policy, copy->GetReferrer().policy);
+ EXPECT_EQ(entry->GetTitle(), copy->GetTitle());
+ EXPECT_EQ(entry->GetPageState(), copy->GetPageState());
+ EXPECT_EQ(entry->GetHasPostData(), copy->GetHasPostData());
+ EXPECT_EQ(entry->GetOriginalRequestURL(), copy->GetOriginalRequestURL());
+ EXPECT_EQ(entry->GetBaseURLForDataURL(), copy->GetBaseURLForDataURL());
+ EXPECT_EQ(entry->GetDataURLAsString()->data(),
+ copy->GetDataURLAsString()->data());
+ EXPECT_EQ(entry->GetIsOverridingUserAgent(),
+ copy->GetIsOverridingUserAgent());
+ EXPECT_EQ(entry->GetTimestamp(), copy->GetTimestamp());
+ EXPECT_EQ(entry->GetHttpStatusCode(), copy->GetHttpStatusCode());
+}
+
+TEST(AndroidWebViewStateSerializerTest,
+ TestLegacyNavigationEntrySerialization) {
+ scoped_ptr<content::NavigationEntry> entry(CreateNavigationEntry());
+
+ base::Pickle pickle;
+ bool result =
+ internal::WriteNavigationEntryToPickle(20130814, *entry, &pickle);
+ EXPECT_TRUE(result);
+
+ scoped_ptr<content::NavigationEntry> copy(content::NavigationEntry::Create());
+ base::PickleIterator iterator(pickle);
+ result = internal::RestoreNavigationEntryFromPickle(20130814, &iterator,
+ copy.get());
+ EXPECT_TRUE(result);
+
+ EXPECT_EQ(entry->GetURL(), copy->GetURL());
+ EXPECT_EQ(entry->GetVirtualURL(), copy->GetVirtualURL());
+ EXPECT_EQ(entry->GetReferrer().url, copy->GetReferrer().url);
+ EXPECT_EQ(entry->GetReferrer().policy, copy->GetReferrer().policy);
+ EXPECT_EQ(entry->GetTitle(), copy->GetTitle());
+ EXPECT_EQ(entry->GetPageState(), copy->GetPageState());
+ EXPECT_EQ(entry->GetHasPostData(), copy->GetHasPostData());
+ EXPECT_EQ(entry->GetOriginalRequestURL(), copy->GetOriginalRequestURL());
+ EXPECT_EQ(entry->GetBaseURLForDataURL(), copy->GetBaseURLForDataURL());
+ // DataURL not supported by 20130814 format
+ EXPECT_FALSE(copy->GetDataURLAsString());
+ EXPECT_EQ(entry->GetIsOverridingUserAgent(),
+ copy->GetIsOverridingUserAgent());
+ EXPECT_EQ(entry->GetTimestamp(), copy->GetTimestamp());
+ EXPECT_EQ(entry->GetHttpStatusCode(), copy->GetHttpStatusCode());
}
TEST(AndroidWebViewStateSerializerTest, TestEmptyDataURLSerialization) {
« no previous file with comments | « android_webview/native/state_serializer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698