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

Side by Side Diff: chrome/browser/ui/website_settings/permission_menu_model_unittest.cc

Issue 2408613002: Replace kPreferHtmlOverPlugins feature checks with PluginUtils::ShouldPreferHtmlOverPlugi… (Closed)
Patch Set: Replace remaining kPreferHtmlOverPlugins feature checks with PluginUtils::ShouldPreferHtmlOverPlugi… Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/website_settings/permission_menu_model.h" 5 #include "chrome/browser/ui/website_settings/permission_menu_model.h"
6 #include "chrome/grit/generated_resources.h" 6 #include "chrome/grit/generated_resources.h"
7 #include "chrome/test/base/testing_profile.h"
8 #include "content/public/test/test_browser_thread_bundle.h"
7 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
8 #include "ui/base/l10n/l10n_util.h" 10 #include "ui/base/l10n/l10n_util.h"
9 11
10 namespace { 12 namespace {
11 13
12 class TestCallback { 14 class TestCallback {
13 public: 15 public:
14 TestCallback() : current_(-1) {} 16 TestCallback() : current_(-1) {}
15 17
16 PermissionMenuModel::ChangeCallback callback() { 18 PermissionMenuModel::ChangeCallback callback() {
17 return base::Bind(&TestCallback::PermissionChanged, base::Unretained(this)); 19 return base::Bind(&TestCallback::PermissionChanged, base::Unretained(this));
18 } 20 }
19 void PermissionChanged(const WebsiteSettingsUI::PermissionInfo& permission) { 21 void PermissionChanged(const WebsiteSettingsUI::PermissionInfo& permission) {
20 current_ = permission.setting; 22 current_ = permission.setting;
21 } 23 }
22 24
23 int current_; 25 int current_;
24 }; 26 };
25 27
28 class PermissionMenuModelTest : public testing::Test {
29 protected:
30 TestingProfile* profile() { return &profile_; }
31
32 private:
33 content::TestBrowserThreadBundle thread_bundle_;
34 TestingProfile profile_;
35 };
36
26 } // namespace 37 } // namespace
27 38
28 TEST(PermissionMenuModelTest, TestDefault) { 39 TEST_F(PermissionMenuModelTest, TestDefault) {
29 TestCallback callback; 40 TestCallback callback;
30 WebsiteSettingsUI::PermissionInfo permission; 41 WebsiteSettingsUI::PermissionInfo permission;
31 permission.type = CONTENT_SETTINGS_TYPE_COOKIES; 42 permission.type = CONTENT_SETTINGS_TYPE_COOKIES;
32 permission.setting = CONTENT_SETTING_ALLOW; 43 permission.setting = CONTENT_SETTING_ALLOW;
33 permission.default_setting = CONTENT_SETTING_ALLOW; 44 permission.default_setting = CONTENT_SETTING_ALLOW;
34 permission.is_incognito = false; 45 permission.is_incognito = false;
35 PermissionMenuModel model( 46 PermissionMenuModel model(profile(), GURL("http://www.google.com"),
36 GURL("http://www.google.com"), permission, callback.callback()); 47 permission, callback.callback());
37 EXPECT_EQ(3, model.GetItemCount()); 48 EXPECT_EQ(3, model.GetItemCount());
38 } 49 }
39 50
40 TEST(PermissionMenuModelTest, TestDefaultMediaHttp) { 51 TEST_F(PermissionMenuModelTest, TestDefaultMediaHttp) {
41 for (int i = 0; i < 2; ++i) { 52 for (int i = 0; i < 2; ++i) {
42 ContentSettingsType type = i ? CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC 53 ContentSettingsType type = i ? CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC
43 : CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA; 54 : CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA;
44 TestCallback callback; 55 TestCallback callback;
45 WebsiteSettingsUI::PermissionInfo permission; 56 WebsiteSettingsUI::PermissionInfo permission;
46 permission.type = type; 57 permission.type = type;
47 permission.setting = CONTENT_SETTING_ALLOW; 58 permission.setting = CONTENT_SETTING_ALLOW;
48 permission.default_setting = CONTENT_SETTING_ALLOW; 59 permission.default_setting = CONTENT_SETTING_ALLOW;
49 permission.is_incognito = false; 60 permission.is_incognito = false;
50 PermissionMenuModel model( 61 PermissionMenuModel model(profile(), GURL("http://www.google.com"),
51 GURL("http://www.google.com"), permission, callback.callback()); 62 permission, callback.callback());
52 EXPECT_EQ(2, model.GetItemCount()); 63 EXPECT_EQ(2, model.GetItemCount());
53 } 64 }
54 } 65 }
55 66
56 TEST(PermissionMenuModelTest, TestAllowBlock) { 67 TEST_F(PermissionMenuModelTest, TestAllowBlock) {
57 TestCallback callback; 68 TestCallback callback;
58 PermissionMenuModel model(GURL("http://www.google.com"), 69 PermissionMenuModel model(profile(), GURL("http://www.google.com"),
59 CONTENT_SETTING_ALLOW, 70 CONTENT_SETTING_ALLOW, callback.callback());
60 callback.callback());
61 EXPECT_EQ(2, model.GetItemCount()); 71 EXPECT_EQ(2, model.GetItemCount());
62 } 72 }
63 73
64 TEST(PermissionMenuModelTest, TestFullscreenMouseLockFileUrl) { 74 TEST_F(PermissionMenuModelTest, TestFullscreenMouseLockFileUrl) {
65 TestCallback callback; 75 TestCallback callback;
66 WebsiteSettingsUI::PermissionInfo permission; 76 WebsiteSettingsUI::PermissionInfo permission;
67 permission.type = CONTENT_SETTINGS_TYPE_FULLSCREEN; 77 permission.type = CONTENT_SETTINGS_TYPE_FULLSCREEN;
68 permission.setting = CONTENT_SETTING_ASK; 78 permission.setting = CONTENT_SETTING_ASK;
69 permission.default_setting = CONTENT_SETTING_ASK; 79 permission.default_setting = CONTENT_SETTING_ASK;
70 permission.is_incognito = false; 80 permission.is_incognito = false;
71 PermissionMenuModel fullscreen_model(GURL("file:///test.html"), permission, 81 PermissionMenuModel fullscreen_model(profile(), GURL("file:///test.html"),
72 callback.callback()); 82 permission, callback.callback());
73 EXPECT_EQ(1, fullscreen_model.GetItemCount()); 83 EXPECT_EQ(1, fullscreen_model.GetItemCount());
74 EXPECT_EQ( 84 EXPECT_EQ(
75 l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_MENU_ITEM_DEFAULT_ASK), 85 l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_MENU_ITEM_DEFAULT_ASK),
76 fullscreen_model.GetLabelAt(0)); 86 fullscreen_model.GetLabelAt(0));
77 87
78 permission.type = CONTENT_SETTINGS_TYPE_MOUSELOCK; 88 permission.type = CONTENT_SETTINGS_TYPE_MOUSELOCK;
79 PermissionMenuModel mouselock_model(GURL("file:///test.html"), permission, 89 PermissionMenuModel mouselock_model(profile(), GURL("file:///test.html"),
80 callback.callback()); 90 permission, callback.callback());
81 EXPECT_EQ(1, mouselock_model.GetItemCount()); 91 EXPECT_EQ(1, mouselock_model.GetItemCount());
82 EXPECT_EQ( 92 EXPECT_EQ(
83 l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_MENU_ITEM_DEFAULT_ASK), 93 l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_MENU_ITEM_DEFAULT_ASK),
84 fullscreen_model.GetLabelAt(0)); 94 fullscreen_model.GetLabelAt(0));
85 } 95 }
86 96
87 TEST(PermissionMenuModelTest, TestIncognitoNotifications) { 97 TEST_F(PermissionMenuModelTest, TestIncognitoNotifications) {
88 TestCallback callback; 98 TestCallback callback;
89 WebsiteSettingsUI::PermissionInfo permission; 99 WebsiteSettingsUI::PermissionInfo permission;
90 permission.type = CONTENT_SETTINGS_TYPE_NOTIFICATIONS; 100 permission.type = CONTENT_SETTINGS_TYPE_NOTIFICATIONS;
91 permission.setting = CONTENT_SETTING_ASK; 101 permission.setting = CONTENT_SETTING_ASK;
92 permission.default_setting = CONTENT_SETTING_ASK; 102 permission.default_setting = CONTENT_SETTING_ASK;
93 103
94 permission.is_incognito = false; 104 permission.is_incognito = false;
95 PermissionMenuModel regular_model(GURL("https://www.google.com"), permission, 105 PermissionMenuModel regular_model(profile(), GURL("https://www.google.com"),
96 callback.callback()); 106 permission, callback.callback());
97 EXPECT_EQ(3, regular_model.GetItemCount()); 107 EXPECT_EQ(3, regular_model.GetItemCount());
98 108
99 permission.is_incognito = true; 109 permission.is_incognito = true;
100 PermissionMenuModel incognito_model(GURL("https://www.google.com"), 110 PermissionMenuModel incognito_model(profile(), GURL("https://www.google.com"),
101 permission, callback.callback()); 111 permission, callback.callback());
102 EXPECT_EQ(2, incognito_model.GetItemCount()); 112 EXPECT_EQ(2, incognito_model.GetItemCount());
103 } 113 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/website_settings/permission_menu_model.cc ('k') | chrome/browser/ui/website_settings/website_settings_ui.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698