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

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

Issue 2577043002: Fix content settings for hosted apps not displayed correctly. (Closed)
Patch Set: add tests to verify kDisplayName is set for exceptions and exceptions for hosted apps Created 4 years 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
« no previous file with comments | « no previous file | chrome/browser/ui/webui/site_settings_helper.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/chrome_notification_types.h" 9 #include "chrome/browser/chrome_notification_types.h"
10 #include "chrome/browser/ui/webui/site_settings_helper.h" 10 #include "chrome/browser/ui/webui/site_settings_helper.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 std::string setting; 63 std::string setting;
64 ASSERT_TRUE(default_value->GetString(kSetting, &setting)); 64 ASSERT_TRUE(default_value->GetString(kSetting, &setting));
65 EXPECT_EQ(expected_setting, setting); 65 EXPECT_EQ(expected_setting, setting);
66 std::string source; 66 std::string source;
67 if (default_value->GetString(kSource, &source)) 67 if (default_value->GetString(kSource, &source))
68 EXPECT_EQ(expected_source, source); 68 EXPECT_EQ(expected_source, source);
69 } 69 }
70 70
71 void ValidateOrigin( 71 void ValidateOrigin(
72 const std::string& expected_origin, 72 const std::string& expected_origin,
73 const std::string& expected_display_name,
73 const std::string& expected_embedding, 74 const std::string& expected_embedding,
74 const std::string& expected_setting, 75 const std::string& expected_setting,
75 const std::string& expected_source, 76 const std::string& expected_source,
76 size_t expected_total_calls) { 77 size_t expected_total_calls) {
77 EXPECT_EQ(expected_total_calls, web_ui()->call_data().size()); 78 EXPECT_EQ(expected_total_calls, web_ui()->call_data().size());
78 79
79 const content::TestWebUI::CallData& data = *web_ui()->call_data().back(); 80 const content::TestWebUI::CallData& data = *web_ui()->call_data().back();
80 EXPECT_EQ("cr.webUIResponse", data.function_name()); 81 EXPECT_EQ("cr.webUIResponse", data.function_name());
81 82
82 std::string callback_id; 83 std::string callback_id;
83 ASSERT_TRUE(data.arg1()->GetAsString(&callback_id)); 84 ASSERT_TRUE(data.arg1()->GetAsString(&callback_id));
84 EXPECT_EQ(kCallbackId, callback_id); 85 EXPECT_EQ(kCallbackId, callback_id);
85 bool success = false; 86 bool success = false;
86 ASSERT_TRUE(data.arg2()->GetAsBoolean(&success)); 87 ASSERT_TRUE(data.arg2()->GetAsBoolean(&success));
87 ASSERT_TRUE(success); 88 ASSERT_TRUE(success);
88 89
89 const base::ListValue* exceptions; 90 const base::ListValue* exceptions;
90 ASSERT_TRUE(data.arg3()->GetAsList(&exceptions)); 91 ASSERT_TRUE(data.arg3()->GetAsList(&exceptions));
91 EXPECT_EQ(1U, exceptions->GetSize()); 92 EXPECT_EQ(1U, exceptions->GetSize());
92 const base::DictionaryValue* exception; 93 const base::DictionaryValue* exception;
93 ASSERT_TRUE(exceptions->GetDictionary(0, &exception)); 94 ASSERT_TRUE(exceptions->GetDictionary(0, &exception));
94 std::string origin, embedding_origin, setting, source; 95 std::string origin, embedding_origin, display_name, setting, source;
95 ASSERT_TRUE(exception->GetString(site_settings::kOrigin, &origin)); 96 ASSERT_TRUE(exception->GetString(site_settings::kOrigin, &origin));
96 ASSERT_EQ(expected_origin, origin); 97 ASSERT_EQ(expected_origin, origin);
98 ASSERT_TRUE(
99 exception->GetString(site_settings::kDisplayName, &display_name));
100 ASSERT_EQ(expected_display_name, display_name);
97 ASSERT_TRUE(exception->GetString( 101 ASSERT_TRUE(exception->GetString(
98 site_settings::kEmbeddingOrigin, &embedding_origin)); 102 site_settings::kEmbeddingOrigin, &embedding_origin));
99 ASSERT_EQ(expected_embedding, embedding_origin); 103 ASSERT_EQ(expected_embedding, embedding_origin);
100 ASSERT_TRUE(exception->GetString(site_settings::kSetting, &setting)); 104 ASSERT_TRUE(exception->GetString(site_settings::kSetting, &setting));
101 ASSERT_EQ(expected_setting, setting); 105 ASSERT_EQ(expected_setting, setting);
102 ASSERT_TRUE(exception->GetString(site_settings::kSource, &source)); 106 ASSERT_TRUE(exception->GetString(site_settings::kSource, &source));
103 ASSERT_EQ(expected_source, source); 107 ASSERT_EQ(expected_source, source);
104 } 108 }
105 109
106 void ValidateNoOrigin(size_t expected_total_calls) { 110 void ValidateNoOrigin(size_t expected_total_calls) {
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 setArgs.AppendString("block"); 246 setArgs.AppendString("block");
243 setArgs.AppendBoolean(false); // Incognito. 247 setArgs.AppendBoolean(false); // Incognito.
244 handler()->HandleSetCategoryPermissionForOrigin(&setArgs); 248 handler()->HandleSetCategoryPermissionForOrigin(&setArgs);
245 EXPECT_EQ(1U, web_ui()->call_data().size()); 249 EXPECT_EQ(1U, web_ui()->call_data().size());
246 250
247 // Verify the change was successful. 251 // Verify the change was successful.
248 base::ListValue listArgs; 252 base::ListValue listArgs;
249 listArgs.AppendString(kCallbackId); 253 listArgs.AppendString(kCallbackId);
250 listArgs.AppendString("notifications"); 254 listArgs.AppendString("notifications");
251 handler()->HandleGetExceptionList(&listArgs); 255 handler()->HandleGetExceptionList(&listArgs);
252 ValidateOrigin(google, google, "block", "preference", 2U); 256 ValidateOrigin(google, google, google, "block", "preference", 2U);
253 257
254 // Reset things back to how they were. 258 // Reset things back to how they were.
255 base::ListValue resetArgs; 259 base::ListValue resetArgs;
256 resetArgs.AppendString(google); 260 resetArgs.AppendString(google);
257 resetArgs.AppendString(google); 261 resetArgs.AppendString(google);
258 resetArgs.AppendString("notifications"); 262 resetArgs.AppendString("notifications");
259 resetArgs.AppendBoolean(false); // Incognito. 263 resetArgs.AppendBoolean(false); // Incognito.
260 handler()->HandleResetCategoryPermissionForOrigin(&resetArgs); 264 handler()->HandleResetCategoryPermissionForOrigin(&resetArgs);
261 EXPECT_EQ(3U, web_ui()->call_data().size()); 265 EXPECT_EQ(3U, web_ui()->call_data().size());
262 266
263 // Verify the reset was successful. 267 // Verify the reset was successful.
264 handler()->HandleGetExceptionList(&listArgs); 268 handler()->HandleGetExceptionList(&listArgs);
265 ValidateNoOrigin(4U); 269 ValidateNoOrigin(4U);
266 } 270 }
267 271
268 TEST_F(SiteSettingsHandlerTest, ExceptionHelpers) { 272 TEST_F(SiteSettingsHandlerTest, ExceptionHelpers) {
269 ContentSettingsPattern pattern = 273 ContentSettingsPattern pattern =
270 ContentSettingsPattern::FromString("[*.]google.com"); 274 ContentSettingsPattern::FromString("[*.]google.com");
271 std::unique_ptr<base::DictionaryValue> exception = 275 std::unique_ptr<base::DictionaryValue> exception =
272 site_settings::GetExceptionForPage(pattern, pattern, pattern.ToString(), 276 site_settings::GetExceptionForPage(pattern, pattern, pattern.ToString(),
273 CONTENT_SETTING_BLOCK, "preference", 277 CONTENT_SETTING_BLOCK, "preference",
274 false); 278 false);
275 279
276 std::string primary_pattern, secondary_pattern, type; 280 std::string primary_pattern, secondary_pattern, display_name, type;
277 bool incognito; 281 bool incognito;
278 CHECK(exception->GetString(site_settings::kOrigin, &primary_pattern)); 282 CHECK(exception->GetString(site_settings::kOrigin, &primary_pattern));
283 CHECK(exception->GetString(site_settings::kDisplayName, &display_name));
279 CHECK(exception->GetString(site_settings::kEmbeddingOrigin, 284 CHECK(exception->GetString(site_settings::kEmbeddingOrigin,
280 &secondary_pattern)); 285 &secondary_pattern));
281 CHECK(exception->GetString(site_settings::kSetting, &type)); 286 CHECK(exception->GetString(site_settings::kSetting, &type));
282 CHECK(exception->GetBoolean(site_settings::kIncognito, &incognito)); 287 CHECK(exception->GetBoolean(site_settings::kIncognito, &incognito));
283 288
284 base::ListValue args; 289 base::ListValue args;
285 args.AppendString(primary_pattern); 290 args.AppendString(primary_pattern);
286 args.AppendString(secondary_pattern); 291 args.AppendString(secondary_pattern);
287 args.AppendString("notifications"); // Chosen arbitrarily. 292 args.AppendString("notifications"); // Chosen arbitrarily.
288 args.AppendString(type); 293 args.AppendString(type);
(...skipping 13 matching lines...) Expand all
302 .SetID("ahfgeienlihckogmohjhadlkjgocpleb") 307 .SetID("ahfgeienlihckogmohjhadlkjgocpleb")
303 .Build(); 308 .Build();
304 309
305 std::unique_ptr<base::ListValue> exceptions(new base::ListValue); 310 std::unique_ptr<base::ListValue> exceptions(new base::ListValue);
306 site_settings::AddExceptionForHostedApp( 311 site_settings::AddExceptionForHostedApp(
307 "[*.]google.com", *extension.get(), exceptions.get()); 312 "[*.]google.com", *extension.get(), exceptions.get());
308 313
309 const base::DictionaryValue* dictionary; 314 const base::DictionaryValue* dictionary;
310 CHECK(exceptions->GetDictionary(0, &dictionary)); 315 CHECK(exceptions->GetDictionary(0, &dictionary));
311 CHECK(dictionary->GetString(site_settings::kOrigin, &primary_pattern)); 316 CHECK(dictionary->GetString(site_settings::kOrigin, &primary_pattern));
317 CHECK(dictionary->GetString(site_settings::kDisplayName, &display_name));
312 CHECK(dictionary->GetString(site_settings::kEmbeddingOrigin, 318 CHECK(dictionary->GetString(site_settings::kEmbeddingOrigin,
313 &secondary_pattern)); 319 &secondary_pattern));
314 CHECK(dictionary->GetString(site_settings::kSetting, &type)); 320 CHECK(dictionary->GetString(site_settings::kSetting, &type));
315 CHECK(dictionary->GetBoolean(site_settings::kIncognito, &incognito)); 321 CHECK(dictionary->GetBoolean(site_settings::kIncognito, &incognito));
316 322
317 // Again, don't need to check the results. 323 // Again, don't need to check the results.
318 handler()->HandleSetCategoryPermissionForOrigin(&args); 324 handler()->HandleSetCategoryPermissionForOrigin(&args);
319 } 325 }
320 326
321 TEST_F(SiteSettingsHandlerTest, Patterns) { 327 TEST_F(SiteSettingsHandlerTest, Patterns) {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 args.AppendString("http://www.google.com"); 368 args.AppendString("http://www.google.com");
363 handler()->HandleRemoveZoomLevel(&args); 369 handler()->HandleRemoveZoomLevel(&args);
364 ValidateZoom("", "", 3U); 370 ValidateZoom("", "", 3U);
365 371
366 double default_level = host_zoom_map->GetDefaultZoomLevel(); 372 double default_level = host_zoom_map->GetDefaultZoomLevel();
367 double level = host_zoom_map->GetZoomLevelForHostAndScheme("http", host); 373 double level = host_zoom_map->GetZoomLevelForHostAndScheme("http", host);
368 EXPECT_EQ(default_level, level); 374 EXPECT_EQ(default_level, level);
369 } 375 }
370 376
371 } // namespace settings 377 } // namespace settings
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/webui/site_settings_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698