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

Unified Diff: ios/chrome/browser/ui/reading_list/offline_page_native_content_unittest.mm

Issue 2651693002: [Reading List iOS] Display distilled URL instead of entry URL in omnibox (Closed)
Patch Set: Created 3 years, 11 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/chrome/browser/ui/reading_list/offline_page_native_content.mm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/chrome/browser/ui/reading_list/offline_page_native_content_unittest.mm
diff --git a/ios/chrome/browser/ui/reading_list/offline_page_native_content_unittest.mm b/ios/chrome/browser/ui/reading_list/offline_page_native_content_unittest.mm
index ae28f85c16550fb2c03eaaf4a8748878f5bf365e..a17566bc7327eb9c90e66c48f5e42c5f30dc41bb 100644
--- a/ios/chrome/browser/ui/reading_list/offline_page_native_content_unittest.mm
+++ b/ios/chrome/browser/ui/reading_list/offline_page_native_content_unittest.mm
@@ -12,7 +12,10 @@
#include "ios/chrome/browser/reading_list/offline_url_utils.h"
#import "ios/chrome/browser/ui/static_content/static_html_view_controller.h"
#import "ios/chrome/browser/ui/url_loader.h"
+#import "ios/web/public/navigation_item.h"
+#import "ios/web/public/navigation_manager.h"
#import "ios/web/public/test/web_test_with_web_state.h"
+#import "ios/web/public/web_state/web_state.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/gtest_mac.h"
#import "third_party/ocmock/OCMock/OCMock.h"
@@ -30,9 +33,10 @@ class OfflinePageNativeContentTest : public web::WebTestWithWebState {
// Checks the OfflinePageNativeContent is correctly initialized.
TEST_F(OfflinePageNativeContentTest, BasicOfflinePageTest) {
- GURL foo_url("http://foo.bar");
- GURL url = reading_list::DistilledURLForPath(
- base::FilePath("offline_id/page.html"), foo_url);
+ GURL entry_url("http://foo.bar");
+ GURL distilled_url("http://foo.bar/distilled");
+ GURL url = reading_list::OfflineURLForPath(
+ base::FilePath("offline_id/page.html"), entry_url, distilled_url);
id<UrlLoader> loader = [OCMockObject mockForProtocol:@protocol(UrlLoader)];
base::scoped_nsobject<OfflinePageNativeContent> content(
[[OfflinePageNativeContent alloc]
@@ -41,13 +45,15 @@ TEST_F(OfflinePageNativeContentTest, BasicOfflinePageTest) {
webState:web_state()
URL:url]);
ASSERT_EQ(url, [content url]);
- ASSERT_EQ(foo_url, [content virtualURL]);
+ ASSERT_EQ(distilled_url, [content virtualURL]);
ASSERT_OCMOCK_VERIFY((OCMockObject*)loader);
}
+// Checks the OfflinePageNativeContent without virtual URL is correctly
+// initialized
TEST_F(OfflinePageNativeContentTest, BasicOfflinePageTestWithoutVirtualURL) {
- GURL url = reading_list::DistilledURLForPath(
- base::FilePath("offline_id/page.html"), GURL());
+ GURL url = reading_list::OfflineURLForPath(
+ base::FilePath("offline_id/page.html"), GURL(), GURL());
id<UrlLoader> loader = [OCMockObject mockForProtocol:@protocol(UrlLoader)];
base::scoped_nsobject<OfflinePageNativeContent> content(
[[OfflinePageNativeContent alloc]
@@ -59,3 +65,31 @@ TEST_F(OfflinePageNativeContentTest, BasicOfflinePageTestWithoutVirtualURL) {
ASSERT_EQ(url, [content virtualURL]);
ASSERT_OCMOCK_VERIFY((OCMockObject*)loader);
}
+
+// Checks that dismissing offline page restores EntryURL.
+TEST_F(OfflinePageNativeContentTest, DismissOfflineContent) {
+ GURL offline_url("http://foo.bar/offline");
+ GURL entry_url("http://foo.bar/entry");
+ GURL virtual_url("http://foo.bar/virtual");
+ LoadHtml(@"<html></html>", offline_url);
+ web::NavigationItem* item =
+ web_state()->GetNavigationManager()->GetLastCommittedItem();
+ item->SetURL(offline_url);
+ item->SetVirtualURL(virtual_url);
+
+ GURL url = reading_list::OfflineURLForPath(
+ base::FilePath("offline_id/page.html"), entry_url, virtual_url);
+ id<UrlLoader> loader = [OCMockObject mockForProtocol:@protocol(UrlLoader)];
+ base::scoped_nsobject<OfflinePageNativeContent> content(
+ [[OfflinePageNativeContent alloc]
+ initWithLoader:loader
+ browserState:chrome_browser_state_.get()
+ webState:web_state()
+ URL:url]);
+ ASSERT_EQ(url, [content url]);
+ ASSERT_EQ(virtual_url, [content virtualURL]);
+ ASSERT_OCMOCK_VERIFY((OCMockObject*)loader);
+ [content willBeDismissed];
+ DCHECK_EQ(item->GetURL(), entry_url);
+ DCHECK_EQ(item->GetVirtualURL(), entry_url);
+}
« no previous file with comments | « ios/chrome/browser/ui/reading_list/offline_page_native_content.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698