Commit 50e42dd8 authored by Robbie Gibson's avatar Robbie Gibson Committed by Commit Bot

[iOS] Add test for TextZoom entry in PopupMenuMediator

This tests that the PopupMenu item is enabled/disabled based on the
state of page being displayed.

Bug: 1062101
Change-Id: Ide6f00c7e8315054bd74c68c584aaa81ae819e02
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2109765
Commit-Queue: Robbie Gibson <rkgibson@google.com>
Reviewed-by: default avatarEugene But <eugenebut@chromium.org>
Reviewed-by: default avatarGauthier Ambard <gambard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#751762}
parent 094686c6
......@@ -117,6 +117,8 @@ source_set("unit_tests") {
"//ios/chrome/browser/ui/popup_menu/cells",
"//ios/chrome/browser/ui/popup_menu/public:popup_menu_ui",
"//ios/chrome/browser/ui/toolbar/test",
"//ios/chrome/browser/web",
"//ios/chrome/browser/web:feature_flags",
"//ios/chrome/browser/web:test_support",
"//ios/chrome/browser/web:web_internal",
"//ios/chrome/browser/web_state_list",
......
......@@ -4,6 +4,7 @@
#import "ios/chrome/browser/ui/popup_menu/popup_menu_mediator.h"
#include "base/test/scoped_feature_list.h"
#include "base/time/default_clock.h"
#include "components/feature_engagement/test/mock_tracker.h"
#include "components/language/ios/browser/ios_language_detection_tab_helper.h"
......@@ -23,6 +24,8 @@
#import "ios/chrome/browser/ui/toolbar/test/toolbar_test_web_state.h"
#include "ios/chrome/browser/web/chrome_web_client.h"
#import "ios/chrome/browser/web/chrome_web_test.h"
#include "ios/chrome/browser/web/features.h"
#import "ios/chrome/browser/web/font_size_tab_helper.h"
#include "ios/chrome/browser/web_state_list/fake_web_state_list_delegate.h"
#include "ios/chrome/browser/web_state_list/web_state_list.h"
#import "ios/chrome/browser/web_state_list/web_state_list_observer_bridge.h"
......@@ -363,3 +366,25 @@ TEST_F(PopupMenuMediatorTest, TestReadLaterDisabled) {
queue->CancelAllRequests();
EXPECT_TRUE(HasItem(consumer, kToolsMenuReadLater, /*enabled=*/YES));
}
// Tests that the "Text Zoom..." button is disabled on non-HTML pages.
TEST_F(PopupMenuMediatorTest, TextTextZoomDisabled) {
base::test::ScopedFeatureList feature_list;
feature_list.InitAndEnableFeature(web::kWebPageTextAccessibility);
CreateMediator(PopupMenuTypeToolsMenu, /*is_incognito=*/NO,
/*trigger_incognito_hint=*/NO);
mediator_.webStateList = web_state_list_.get();
FakePopupMenuConsumer* consumer = [[FakePopupMenuConsumer alloc] init];
mediator_.popupMenu = consumer;
FontSizeTabHelper::CreateForWebState(web_state_list_->GetWebStateAt(0));
SetUpActiveWebState();
EXPECT_TRUE(HasItem(consumer, kToolsMenuTextZoom, /*enabled=*/YES));
web_state_->SetContentIsHTML(false);
// Fake a navigationFinished to force the popup menu items to update.
web::FakeNavigationContext context;
web_state_->OnNavigationFinished(&context);
EXPECT_TRUE(HasItem(consumer, kToolsMenuTextZoom, /*enabled=*/NO));
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment