Home | History | Annotate | Download | only in notifications
      1 // Copyright (c) 2010 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.
      4 
      5 #include "chrome/browser/notifications/notifications_prefs_cache.h"
      6 
      7 #include "base/message_loop.h"
      8 #include "content/browser/browser_thread.h"
      9 #include "testing/gtest/include/gtest/gtest.h"
     10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebNotificationPresenter.h"
     11 
     12 TEST(NotificationsPrefsCacheTest, CanCreate) {
     13   scoped_refptr<NotificationsPrefsCache> cache(new NotificationsPrefsCache());
     14   std::vector<GURL> allowed_origins;
     15   allowed_origins.push_back(GURL("http://allowed.com"));
     16   std::vector<GURL> denied_origins;
     17   denied_origins.push_back(GURL("http://denied.com"));
     18 
     19   {
     20     MessageLoop loop;
     21     BrowserThread ui_thread(BrowserThread::UI, &loop);
     22 
     23     cache->SetCacheAllowedOrigins(allowed_origins);
     24     cache->SetCacheDeniedOrigins(denied_origins);
     25     cache->SetCacheDefaultContentSetting(CONTENT_SETTING_DEFAULT);
     26   }
     27 
     28   cache->set_is_initialized(true);
     29 
     30   {
     31     MessageLoop loop;
     32     BrowserThread io_thread(BrowserThread::IO, &loop);
     33 
     34     cache->CacheAllowedOrigin(GURL("http://allowed2.com"));
     35     cache->CacheDeniedOrigin(GURL("http://denied2.com"));
     36 
     37     EXPECT_EQ(cache->HasPermission(GURL("http://allowed.com")),
     38               WebKit::WebNotificationPresenter::PermissionAllowed);
     39     EXPECT_EQ(cache->HasPermission(GURL("http://allowed2.com")),
     40               WebKit::WebNotificationPresenter::PermissionAllowed);
     41 
     42     EXPECT_EQ(cache->HasPermission(GURL("http://denied.com")),
     43               WebKit::WebNotificationPresenter::PermissionDenied);
     44     EXPECT_EQ(cache->HasPermission(GURL("http://denied2.com")),
     45               WebKit::WebNotificationPresenter::PermissionDenied);
     46 
     47     EXPECT_EQ(cache->HasPermission(GURL("http://unkown.com")),
     48               WebKit::WebNotificationPresenter::PermissionNotAllowed);
     49 
     50     cache->SetCacheDefaultContentSetting(CONTENT_SETTING_ASK);
     51     EXPECT_EQ(cache->HasPermission(GURL("http://unkown.com")),
     52               WebKit::WebNotificationPresenter::PermissionNotAllowed);
     53 
     54     cache->SetCacheDefaultContentSetting(CONTENT_SETTING_ALLOW);
     55     EXPECT_EQ(cache->HasPermission(GURL("http://unkown.com")),
     56               WebKit::WebNotificationPresenter::PermissionAllowed);
     57 
     58     cache->SetCacheDefaultContentSetting(CONTENT_SETTING_BLOCK);
     59     EXPECT_EQ(cache->HasPermission(GURL("http://unkown.com")),
     60               WebKit::WebNotificationPresenter::PermissionDenied);
     61   }
     62 }
     63 
     64