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

Unified Diff: chrome/browser/notifications/notifications_prefs_cache_unittest.cc

Issue 2842043: Add a default content setting to the notifications service. (Closed)
Patch Set: '' Created 10 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/notifications/notifications_prefs_cache_unittest.cc
diff --git a/chrome/browser/notifications/notifications_prefs_cache_unittest.cc b/chrome/browser/notifications/notifications_prefs_cache_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..0cbea9e6a80dd728817264550334b6b222df0c5c
--- /dev/null
+++ b/chrome/browser/notifications/notifications_prefs_cache_unittest.cc
@@ -0,0 +1,63 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/notifications/notifications_prefs_cache.h"
+
+#include "base/message_loop.h"
+#include "chrome/browser/chrome_thread.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebNotificationPresenter.h"
+
+TEST(NotificationsPrefsCacheTest, CanCreate) {
+ scoped_refptr<NotificationsPrefsCache> cache(new NotificationsPrefsCache());
+ std::vector<GURL> allowed_origins;
+ allowed_origins.push_back(GURL("http://allowed.com"));
+ std::vector<GURL> denied_origins;
+ denied_origins.push_back(GURL("http://denied.com"));
+
+ {
+ MessageLoop loop;
+ ChromeThread ui_thread(ChromeThread::UI, &loop);
+
+ cache->SetCacheAllowedOrigins(allowed_origins);
+ cache->SetCacheDeniedOrigins(denied_origins);
+ cache->SetCacheDefaultContentSetting(CONTENT_SETTING_DEFAULT);
+ }
+
+ cache->set_is_initialized(true);
+
+ {
+ MessageLoop loop;
+ ChromeThread io_thread(ChromeThread::IO, &loop);
+
+ cache->CacheAllowedOrigin(GURL("http://allowed2.com"));
+ cache->CacheDeniedOrigin(GURL("http://denied2.com"));
+
+ EXPECT_EQ(cache->HasPermission(GURL("http://allowed.com")),
+ WebKit::WebNotificationPresenter::PermissionAllowed);
+ EXPECT_EQ(cache->HasPermission(GURL("http://allowed2.com")),
+ WebKit::WebNotificationPresenter::PermissionAllowed);
+
+ EXPECT_EQ(cache->HasPermission(GURL("http://denied.com")),
+ WebKit::WebNotificationPresenter::PermissionDenied);
+ EXPECT_EQ(cache->HasPermission(GURL("http://denied2.com")),
+ WebKit::WebNotificationPresenter::PermissionDenied);
+
+ EXPECT_EQ(cache->HasPermission(GURL("http://unkown.com")),
+ WebKit::WebNotificationPresenter::PermissionNotAllowed);
+
+ cache->SetCacheDefaultContentSetting(CONTENT_SETTING_ASK);
+ EXPECT_EQ(cache->HasPermission(GURL("http://unkown.com")),
+ WebKit::WebNotificationPresenter::PermissionNotAllowed);
+
+ cache->SetCacheDefaultContentSetting(CONTENT_SETTING_ALLOW);
+ EXPECT_EQ(cache->HasPermission(GURL("http://unkown.com")),
+ WebKit::WebNotificationPresenter::PermissionAllowed);
+
+ cache->SetCacheDefaultContentSetting(CONTENT_SETTING_BLOCK);
+ EXPECT_EQ(cache->HasPermission(GURL("http://unkown.com")),
+ WebKit::WebNotificationPresenter::PermissionDenied);
+ }
+}
+

Powered by Google App Engine
This is Rietveld 408576698