#include "content/browser/host_zoom_map_impl.h"
#include "base/test/scoped_feature_list.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_features.h"
#include "content/public/test/test_renderer_host.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
namespace content {
namespace {
constexpr char kPageUrl[] = "http://example.com";
}
class HostZoomMapAndroidTest : public content::RenderViewHostTestHarness {
public:
HostZoomMapAndroidTest() = default;
protected:
void SetUp() override;
};
void HostZoomMapAndroidTest::SetUp() {
content::RenderViewHostTestHarness::SetUp();
NavigateAndCommit(GURL(kPageUrl));
}
TEST_F(HostZoomMapAndroidTest, GetDesktopSiteZoomScale_DesktopUserAgent) {
base::test::ScopedFeatureList scoped_list;
scoped_list.InitAndEnableFeature(features::kRequestDesktopSiteZoom);
web_contents()
->GetController()
.GetLastCommittedEntry()
->SetIsOverridingUserAgent(true);
bool is_overriding_user_agent = web_contents()
->GetController()
.GetLastCommittedEntry()
->GetIsOverridingUserAgent();
HostZoomMapImpl host_zoom_map;
EXPECT_DOUBLE_EQ(
1.1, host_zoom_map.GetDesktopSiteZoomScale(is_overriding_user_agent));
}
TEST_F(HostZoomMapAndroidTest,
GetDesktopSiteZoomScale_NonDefault_DesktopUserAgent) {
base::test::ScopedFeatureList scoped_list;
base::FieldTrialParams params{{"desktop_site_zoom_scale", "1.3"}};
scoped_list.InitAndEnableFeatureWithParameters(
features::kRequestDesktopSiteZoom, params);
web_contents()
->GetController()
.GetLastCommittedEntry()
->SetIsOverridingUserAgent(true);
bool is_overriding_user_agent = web_contents()
->GetController()
.GetLastCommittedEntry()
->GetIsOverridingUserAgent();
HostZoomMapImpl host_zoom_map;
EXPECT_DOUBLE_EQ(
1.3, host_zoom_map.GetDesktopSiteZoomScale(is_overriding_user_agent));
}
TEST_F(HostZoomMapAndroidTest, GetDesktopSiteZoomScale_MobileUserAgent) {
base::test::ScopedFeatureList scoped_list;
scoped_list.InitAndEnableFeature(features::kRequestDesktopSiteZoom);
web_contents()
->GetController()
.GetLastCommittedEntry()
->SetIsOverridingUserAgent(false);
bool is_overriding_user_agent = web_contents()
->GetController()
.GetLastCommittedEntry()
->GetIsOverridingUserAgent();
HostZoomMapImpl host_zoom_map;
EXPECT_DOUBLE_EQ(
1.0, host_zoom_map.GetDesktopSiteZoomScale(is_overriding_user_agent));
}
}