Blink roll 25b6bd3a7a131ffe68d809546ad1a20707915cdc:3a503f41ae42e5b79cfcd2ff10e65afde...
[chromium-blink-merge.git] / content / browser / host_zoom_map_impl_unittest.cc
bloba96f15e288af6f31d9082c6476c7d8eeeda52b2f
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/browser/host_zoom_map_impl.h"
7 #include "base/memory/ref_counted.h"
8 #include "base/message_loop/message_loop.h"
9 #include "content/public/browser/browser_thread.h"
10 #include "content/public/test/test_browser_thread.h"
11 #include "testing/gtest/include/gtest/gtest.h"
13 namespace content {
15 class HostZoomMapTest : public testing::Test {
16 public:
17 HostZoomMapTest() : ui_thread_(BrowserThread::UI, &message_loop_) {
20 protected:
21 base::MessageLoop message_loop_;
22 TestBrowserThread ui_thread_;
25 TEST_F(HostZoomMapTest, GetSetZoomLevel) {
26 HostZoomMapImpl host_zoom_map;
28 double zoomed = 2.5;
29 host_zoom_map.SetZoomLevelForHost("zoomed.com", zoomed);
31 EXPECT_DOUBLE_EQ(0,
32 host_zoom_map.GetZoomLevelForHostAndScheme("http", "normal.com"));
33 EXPECT_DOUBLE_EQ(zoomed,
34 host_zoom_map.GetZoomLevelForHostAndScheme("http", "zoomed.com"));
37 TEST_F(HostZoomMapTest, GetSetZoomLevelWithScheme) {
38 HostZoomMapImpl host_zoom_map;
40 double zoomed = 2.5;
41 double default_zoom = 1.5;
43 host_zoom_map.SetZoomLevelForHostAndScheme("chrome", "login", 0);
45 host_zoom_map.SetDefaultZoomLevel(default_zoom);
47 EXPECT_DOUBLE_EQ(0,
48 host_zoom_map.GetZoomLevelForHostAndScheme("chrome", "login"));
49 EXPECT_DOUBLE_EQ(default_zoom,
50 host_zoom_map.GetZoomLevelForHostAndScheme("http", "login"));
52 host_zoom_map.SetZoomLevelForHost("login", zoomed);
54 EXPECT_DOUBLE_EQ(0,
55 host_zoom_map.GetZoomLevelForHostAndScheme("chrome", "login"));
56 EXPECT_DOUBLE_EQ(zoomed,
57 host_zoom_map.GetZoomLevelForHostAndScheme("http", "login"));
60 TEST_F(HostZoomMapTest, GetAllZoomLevels) {
61 HostZoomMapImpl host_zoom_map;
63 double zoomed = 2.5;
64 host_zoom_map.SetZoomLevelForHost("zoomed.com", zoomed);
65 host_zoom_map.SetZoomLevelForHostAndScheme("https", "zoomed.com", zoomed);
66 host_zoom_map.SetZoomLevelForHostAndScheme("chrome", "login", zoomed);
68 HostZoomMap::ZoomLevelVector levels = host_zoom_map.GetAllZoomLevels();
69 HostZoomMap::ZoomLevelChange expected[] = {
70 {HostZoomMap::ZOOM_CHANGED_FOR_HOST, "zoomed.com", std::string(), zoomed},
71 {HostZoomMap::ZOOM_CHANGED_FOR_SCHEME_AND_HOST, "login", "chrome",
72 zoomed},
73 {HostZoomMap::ZOOM_CHANGED_FOR_SCHEME_AND_HOST, "zoomed.com", "https",
74 zoomed}, };
75 ASSERT_EQ(arraysize(expected), levels.size());
76 for (size_t i = 0; i < arraysize(expected); ++i) {
77 SCOPED_TRACE(testing::Message() << "levels[" << i << "]");
78 EXPECT_EQ(expected[i].mode, levels[i].mode);
79 EXPECT_EQ(expected[i].scheme, levels[i].scheme);
80 EXPECT_EQ(expected[i].host, levels[i].host);
81 EXPECT_EQ(expected[i].zoom_level, levels[i].zoom_level);
85 } // namespace content