| Index: ios/chrome/browser/ui/history/tab_history_popup_controller_unittest.mm
|
| diff --git a/ios/chrome/browser/ui/history/tab_history_popup_controller_unittest.mm b/ios/chrome/browser/ui/history/tab_history_popup_controller_unittest.mm
|
| index 37820871831a87623cbd54b4d529e244b02fb1b3..6f1e9e77e87b5912eb244edf347a7f0a35cf33fd 100644
|
| --- a/ios/chrome/browser/ui/history/tab_history_popup_controller_unittest.mm
|
| +++ b/ios/chrome/browser/ui/history/tab_history_popup_controller_unittest.mm
|
| @@ -11,7 +11,6 @@
|
| #include "components/sessions/core/session_types.h"
|
| #import "ios/chrome/browser/ui/history/tab_history_view_controller.h"
|
| #include "ios/chrome/browser/ui/ui_util.h"
|
| -#import "ios/web/navigation/crw_session_entry.h"
|
| #include "ios/web/public/navigation_item.h"
|
| #include "ios/web/public/referrer.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -20,7 +19,7 @@
|
| #include "ui/gfx/ios/uikit_util.h"
|
|
|
| @interface TabHistoryPopupController (Testing)
|
| -- (CGFloat)calculatePopupWidth:(NSArray*)entries;
|
| ++ (CGFloat)popupWidthForItems:(const web::NavigationItemList)items;
|
| @property(nonatomic, retain)
|
| TabHistoryViewController* tabHistoryTableViewController;
|
| @end
|
| @@ -32,36 +31,26 @@ - (CGFloat)calculatePopupWidth:(NSArray*)entries;
|
| class TabHistoryPopupControllerTest : public PlatformTest {
|
| protected:
|
| void SetUp() override {
|
| + web::Referrer referrer(GURL("http://www.example.com"),
|
| + web::ReferrerPolicyDefault);
|
| + items_.push_back(web::NavigationItem::Create());
|
| + items_.back()->SetURL(GURL("http://www.example.com/0"));
|
| + items_.back()->SetReferrer(referrer);
|
| + items_.push_back(web::NavigationItem::Create());
|
| + items_.back()->SetURL(GURL("http://www.example.com/1"));
|
| + items_.back()->SetReferrer(referrer);
|
| + items_.push_back(web::NavigationItem::Create());
|
| + items_.back()->SetURL(GURL("http://www.example.com/0"));
|
| + items_.back()->SetReferrer(referrer);
|
| +
|
| parent_.reset([[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds]);
|
| popup_.reset([[TabHistoryPopupController alloc]
|
| initWithOrigin:CGPointZero
|
| parentView:parent_
|
| - entries:testEntriesArray()]);
|
| - }
|
| - void TearDown() override {
|
| - parent_.reset();
|
| - popup_.reset();
|
| - }
|
| - NSArray* testEntriesArray() {
|
| - web::Referrer referrer(GURL("http://www.example.com"),
|
| - web::ReferrerPolicyDefault);
|
| - std::unique_ptr<web::NavigationItem> item0 = web::NavigationItem::Create();
|
| - item0->SetURL(GURL("http://www.example.com/0"));
|
| - item0->SetReferrer(referrer);
|
| - CRWSessionEntry* entry0 =
|
| - [[CRWSessionEntry alloc] initWithNavigationItem:std::move(item0)];
|
| - std::unique_ptr<web::NavigationItem> item1 = web::NavigationItem::Create();
|
| - item1->SetURL(GURL("http://www.example.com/1"));
|
| - item1->SetReferrer(referrer);
|
| - CRWSessionEntry* entry1 =
|
| - [[CRWSessionEntry alloc] initWithNavigationItem:std::move(item1)];
|
| - std::unique_ptr<web::NavigationItem> item2 = web::NavigationItem::Create();
|
| - item2->SetURL(GURL("http://www.example.com/2"));
|
| - item2->SetReferrer(referrer);
|
| - CRWSessionEntry* entry2 =
|
| - [[CRWSessionEntry alloc] initWithNavigationItem:std::move(item2)];
|
| - return [NSArray arrayWithObjects:entry0, entry1, entry2, nil];
|
| + items:web::CreateRawNavigationItemList(items_)]);
|
| }
|
| +
|
| + web::ScopedNavigationItemList items_;
|
| base::scoped_nsobject<UIView> parent_;
|
| base::scoped_nsobject<TabHistoryPopupController> popup_;
|
| };
|
| @@ -81,30 +70,6 @@ void TearDown() override {
|
| }
|
|
|
| TEST_F(TabHistoryPopupControllerTest, TestCalculatePopupWidth) {
|
| - web::Referrer referrer(GURL("http://www.example.com"),
|
| - web::ReferrerPolicyDefault);
|
| - std::unique_ptr<web::NavigationItem> itemShort =
|
| - web::NavigationItem::Create();
|
| - itemShort->SetURL(GURL("http://foo.com/"));
|
| - itemShort->SetReferrer(referrer);
|
| - CRWSessionEntry* entryShort =
|
| - [[CRWSessionEntry alloc] initWithNavigationItem:std::move(itemShort)];
|
| - std::unique_ptr<web::NavigationItem> itemMedium =
|
| - web::NavigationItem::Create();
|
| - itemMedium->SetURL(GURL("http://www.example.com/mediumurl"));
|
| - itemMedium->SetReferrer(referrer);
|
| - CRWSessionEntry* entryMedium =
|
| - [[CRWSessionEntry alloc] initWithNavigationItem:std::move(itemMedium)];
|
| - std::string longURL =
|
| - "http://www.example.com/this/is/areally/long/url/that/"
|
| - "is/larger/than/the/maximum/table/width/so/its/text/will/get/cut/off/and/"
|
| - "the/max/width/is/used/";
|
| - std::unique_ptr<web::NavigationItem> itemLong = web::NavigationItem::Create();
|
| - itemLong->SetURL(GURL(longURL));
|
| - itemLong->SetReferrer(referrer);
|
| - CRWSessionEntry* entryLong =
|
| - [[CRWSessionEntry alloc] initWithNavigationItem:std::move(itemLong)];
|
| -
|
| CGFloat minWidth = kTabHistoryMinWidth;
|
| CGFloat maxWidth = kTabHistoryMinWidth;
|
| if (!IsIPadIdiom()) {
|
| @@ -117,19 +82,37 @@ void TearDown() override {
|
| [UIApplication sharedApplication].keyWindow.frame.size.width * .85);
|
| }
|
|
|
| - CGFloat width =
|
| - [popup_ calculatePopupWidth:[NSArray arrayWithObjects:entryShort, nil]];
|
| + // Add an item with a short URL and verify that the minimum width is returned.
|
| + web::ScopedNavigationItemList items;
|
| + web::Referrer referrer(GURL("http://www.example.com"),
|
| + web::ReferrerPolicyDefault);
|
| + items.push_back(web::NavigationItem::Create());
|
| + items.back()->SetURL(GURL("http://foo.com/"));
|
| + items.back()->SetReferrer(referrer);
|
| + web::NavigationItemList raw_items = web::CreateRawNavigationItemList(items);
|
| + CGFloat width = [TabHistoryPopupController popupWidthForItems:raw_items];
|
| EXPECT_EQ(minWidth, width);
|
|
|
| - width =
|
| - [popup_ calculatePopupWidth:[NSArray arrayWithObjects:entryShort,
|
| - entryMedium, nil]];
|
| + // Add an item with a medium URL and verify that the returned width is between
|
| + // the minimum and maximum.
|
| + items.push_back(web::NavigationItem::Create());
|
| + items.back()->SetURL(GURL("http://www.example.com/mediumurl"));
|
| + items.back()->SetReferrer(referrer);
|
| + raw_items.push_back(items.back().get());
|
| + width = [TabHistoryPopupController popupWidthForItems:raw_items];
|
| EXPECT_GE(width, minWidth);
|
| EXPECT_LE(width, maxWidth);
|
|
|
| - width = [popup_
|
| - calculatePopupWidth:[NSArray arrayWithObjects:entryShort, entryLong,
|
| - entryMedium, nil]];
|
| + // Add an item with a long URL and verify that the maximum width is returned.
|
| + std::string long_url =
|
| + "http://www.example.com/this/is/areally/long/url/that/"
|
| + "is/larger/than/the/maximum/table/width/so/its/text/will/get/cut/off/and/"
|
| + "the/max/width/is/used/";
|
| + items.push_back(web::NavigationItem::Create());
|
| + items.back()->SetURL(GURL(long_url));
|
| + items.back()->SetReferrer(referrer);
|
| + raw_items.push_back(items.back().get());
|
| + width = [TabHistoryPopupController popupWidthForItems:raw_items];
|
| EXPECT_EQ(maxWidth, width);
|
| }
|
|
|
|
|