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

Side by Side Diff: chrome/browser/ui/webui/settings/site_settings_handler_unittest.cc

Issue 2282603002: [HBD] Update MD SiteSettingsHandler to support 3 modes. (Closed)
Patch Set: Created 4 years, 3 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/webui/settings/site_settings_handler.h" 5 #include "chrome/browser/ui/webui/settings/site_settings_handler.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "chrome/browser/ui/webui/site_settings_helper.h" 9 #include "chrome/browser/ui/webui/site_settings_helper.h"
10 #include "chrome/test/base/testing_profile.h" 10 #include "chrome/test/base/testing_profile.h"
(...skipping 19 matching lines...) Expand all
30 void SetUp() override { 30 void SetUp() override {
31 handler()->set_web_ui(web_ui()); 31 handler()->set_web_ui(web_ui());
32 handler()->AllowJavascript(); 32 handler()->AllowJavascript();
33 web_ui()->ClearTrackedCalls(); 33 web_ui()->ClearTrackedCalls();
34 } 34 }
35 35
36 Profile* profile() { return &profile_; } 36 Profile* profile() { return &profile_; }
37 content::TestWebUI* web_ui() { return &web_ui_; } 37 content::TestWebUI* web_ui() { return &web_ui_; }
38 SiteSettingsHandler* handler() { return &handler_; } 38 SiteSettingsHandler* handler() { return &handler_; }
39 39
40 void ValidateDefault(bool expected_default, size_t expected_total_calls) { 40 void ValidateDefault(const std::string& expected_default,
41 size_t expected_total_calls) {
41 EXPECT_EQ(expected_total_calls, web_ui()->call_data().size()); 42 EXPECT_EQ(expected_total_calls, web_ui()->call_data().size());
42 43
43 const content::TestWebUI::CallData& data = *web_ui()->call_data().back(); 44 const content::TestWebUI::CallData& data = *web_ui()->call_data().back();
44 EXPECT_EQ("cr.webUIResponse", data.function_name()); 45 EXPECT_EQ("cr.webUIResponse", data.function_name());
45 46
46 std::string callback_id; 47 std::string callback_id;
47 ASSERT_TRUE(data.arg1()->GetAsString(&callback_id)); 48 ASSERT_TRUE(data.arg1()->GetAsString(&callback_id));
48 EXPECT_EQ(kCallbackId, callback_id); 49 EXPECT_EQ(kCallbackId, callback_id);
49 50
50 bool success = false; 51 bool success = false;
51 ASSERT_TRUE(data.arg2()->GetAsBoolean(&success)); 52 ASSERT_TRUE(data.arg2()->GetAsBoolean(&success));
52 ASSERT_TRUE(success); 53 ASSERT_TRUE(success);
53 54
54 bool enabled; 55 std::string default_value;
55 ASSERT_TRUE(data.arg3()->GetAsBoolean(&enabled)); 56 ASSERT_TRUE(data.arg3()->GetAsString(&default_value));
56 EXPECT_EQ(expected_default, enabled); 57 EXPECT_EQ(expected_default, default_value);
57 } 58 }
58 59
59 void ValidateOrigin( 60 void ValidateOrigin(
60 const std::string& expected_origin, 61 const std::string& expected_origin,
61 const std::string& expected_embedding, 62 const std::string& expected_embedding,
62 const std::string& expected_setting, 63 const std::string& expected_setting,
63 const std::string& expected_source, 64 const std::string& expected_source,
64 size_t expected_total_calls) { 65 size_t expected_total_calls) {
65 EXPECT_EQ(expected_total_calls, web_ui()->call_data().size()); 66 EXPECT_EQ(expected_total_calls, web_ui()->call_data().size());
66 67
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 content::TestWebUI web_ui_; 136 content::TestWebUI web_ui_;
136 SiteSettingsHandler handler_; 137 SiteSettingsHandler handler_;
137 }; 138 };
138 139
139 TEST_F(SiteSettingsHandlerTest, GetAndSetDefault) { 140 TEST_F(SiteSettingsHandlerTest, GetAndSetDefault) {
140 // Test the JS -> C++ -> JS callback path for getting and setting defaults. 141 // Test the JS -> C++ -> JS callback path for getting and setting defaults.
141 base::ListValue getArgs; 142 base::ListValue getArgs;
142 getArgs.AppendString(kCallbackId); 143 getArgs.AppendString(kCallbackId);
143 getArgs.AppendString("notifications"); 144 getArgs.AppendString("notifications");
144 handler()->HandleGetDefaultValueForContentType(&getArgs); 145 handler()->HandleGetDefaultValueForContentType(&getArgs);
145 ValidateDefault(true, 1U); 146 ValidateDefault("ask", 1U);
146 147
147 // Set the default to 'Blocked'. 148 // Set the default to 'Blocked'.
148 base::ListValue setArgs; 149 base::ListValue setArgs;
149 setArgs.AppendString("notifications"); 150 setArgs.AppendString("notifications");
150 setArgs.AppendString("block"); 151 setArgs.AppendString("block");
151 handler()->HandleSetDefaultValueForContentType(&setArgs); 152 handler()->HandleSetDefaultValueForContentType(&setArgs);
152 153
153 EXPECT_EQ(2U, web_ui()->call_data().size()); 154 EXPECT_EQ(2U, web_ui()->call_data().size());
154 155
155 // Verify that the default has been set to 'Blocked'. 156 // Verify that the default has been set to 'Blocked'.
156 handler()->HandleGetDefaultValueForContentType(&getArgs); 157 handler()->HandleGetDefaultValueForContentType(&getArgs);
157 ValidateDefault(false, 3U); 158 ValidateDefault("block", 3U);
158 } 159 }
159 160
160 TEST_F(SiteSettingsHandlerTest, Origins) { 161 TEST_F(SiteSettingsHandlerTest, Origins) {
161 // Test the JS -> C++ -> JS callback path for configuring origins, by setting 162 // Test the JS -> C++ -> JS callback path for configuring origins, by setting
162 // Google.com to blocked. 163 // Google.com to blocked.
163 base::ListValue setArgs; 164 base::ListValue setArgs;
164 std::string google("http://www.google.com"); 165 std::string google("http://www.google.com");
165 setArgs.AppendString(google); // Primary pattern. 166 setArgs.AppendString(google); // Primary pattern.
166 setArgs.AppendString(google); // Secondary pattern. 167 setArgs.AppendString(google); // Secondary pattern.
167 setArgs.AppendString("notifications"); 168 setArgs.AppendString("notifications");
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 200
200 base::ListValue invalid; 201 base::ListValue invalid;
201 std::string bad_pattern(";"); 202 std::string bad_pattern(";");
202 invalid.AppendString(kCallbackId); 203 invalid.AppendString(kCallbackId);
203 invalid.AppendString(bad_pattern); 204 invalid.AppendString(bad_pattern);
204 handler()->HandleIsPatternValid(&invalid); 205 handler()->HandleIsPatternValid(&invalid);
205 ValidatePattern(false, 2U); 206 ValidatePattern(false, 2U);
206 } 207 }
207 208
208 } // namespace settings 209 } // namespace settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698