OLD | NEW |
(Empty) | |
| 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 |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "base/bind.h" |
| 6 #include "base/strings/utf_string_conversions.h" |
| 7 #include "chrome/browser/notifications/desktop_notification_profile_util.h" |
| 8 #include "chrome/browser/notifications/desktop_notification_service.h" |
| 9 #include "chrome/test/base/chrome_render_view_host_test_harness.h" |
| 10 #include "chrome/test/base/testing_profile.h" |
| 11 #include "testing/gtest/include/gtest/gtest.h" |
| 12 |
| 13 typedef testing::Test DesktopNotificationServiceTest; |
| 14 |
| 15 typedef ChromeRenderViewHostTestHarness DesktopNotificationServiceSettingsTest; |
| 16 |
| 17 TEST_F(DesktopNotificationServiceSettingsTest, GetNotificationsSettings) { |
| 18 DesktopNotificationProfileUtil::GrantPermission(profile(), |
| 19 GURL("http://allowed2.com")); |
| 20 DesktopNotificationProfileUtil::GrantPermission(profile(), |
| 21 GURL("http://allowed.com")); |
| 22 DesktopNotificationProfileUtil::DenyPermission(profile(), |
| 23 GURL("http://denied2.com")); |
| 24 DesktopNotificationProfileUtil::DenyPermission(profile(), |
| 25 GURL("http://denied.com")); |
| 26 |
| 27 ContentSettingsForOneType settings; |
| 28 DesktopNotificationProfileUtil::GetNotificationsSettings(profile(), |
| 29 &settings); |
| 30 // |settings| contains the default setting and 4 exceptions. |
| 31 ASSERT_EQ(5u, settings.size()); |
| 32 |
| 33 EXPECT_EQ( |
| 34 ContentSettingsPattern::FromURLNoWildcard(GURL("http://allowed.com")), |
| 35 settings[0].primary_pattern); |
| 36 EXPECT_EQ(CONTENT_SETTING_ALLOW, settings[0].setting); |
| 37 EXPECT_EQ( |
| 38 ContentSettingsPattern::FromURLNoWildcard(GURL("http://allowed2.com")), |
| 39 settings[1].primary_pattern); |
| 40 EXPECT_EQ(CONTENT_SETTING_ALLOW, settings[1].setting); |
| 41 EXPECT_EQ( |
| 42 ContentSettingsPattern::FromURLNoWildcard(GURL("http://denied.com")), |
| 43 settings[2].primary_pattern); |
| 44 EXPECT_EQ(CONTENT_SETTING_BLOCK, settings[2].setting); |
| 45 EXPECT_EQ( |
| 46 ContentSettingsPattern::FromURLNoWildcard(GURL("http://denied2.com")), |
| 47 settings[3].primary_pattern); |
| 48 EXPECT_EQ(CONTENT_SETTING_BLOCK, settings[3].setting); |
| 49 EXPECT_EQ(ContentSettingsPattern::Wildcard(), settings[4].primary_pattern); |
| 50 EXPECT_EQ(CONTENT_SETTING_ASK, settings[4].setting); |
| 51 } |
| 52 |
| 53 TEST_F(DesktopNotificationServiceTest, TestOriginDisplayName) { |
| 54 std::string language("en-us"); |
| 55 |
| 56 GURL https_origin("https://mail.google.com/"); |
| 57 base::string16 expected_display_name = base::ASCIIToUTF16("mail.google.com"); |
| 58 EXPECT_EQ( |
| 59 expected_display_name, |
| 60 DesktopNotificationService::OriginDisplayName(https_origin, language)); |
| 61 |
| 62 GURL https_origin_standard_port("https://mail.google.com:443/"); |
| 63 expected_display_name = base::ASCIIToUTF16("mail.google.com"); |
| 64 EXPECT_EQ(expected_display_name, |
| 65 DesktopNotificationService::OriginDisplayName( |
| 66 https_origin_standard_port, language)); |
| 67 |
| 68 GURL https_origin_nonstandard_port("https://mail.google.com:444/"); |
| 69 expected_display_name = base::ASCIIToUTF16("mail.google.com:444"); |
| 70 EXPECT_EQ(expected_display_name, |
| 71 DesktopNotificationService::OriginDisplayName( |
| 72 https_origin_nonstandard_port, language)); |
| 73 |
| 74 GURL http_origin("http://mail.google.com/"); |
| 75 expected_display_name = base::ASCIIToUTF16("mail.google.com"); |
| 76 EXPECT_EQ( |
| 77 expected_display_name, |
| 78 DesktopNotificationService::OriginDisplayName(http_origin, language)); |
| 79 |
| 80 GURL http_origin_standard_port("http://mail.google.com:80/"); |
| 81 expected_display_name = base::ASCIIToUTF16("mail.google.com"); |
| 82 EXPECT_EQ(expected_display_name, |
| 83 DesktopNotificationService::OriginDisplayName( |
| 84 http_origin_standard_port, language)); |
| 85 |
| 86 GURL http_origin_nonstandard_port("http://mail.google.com:81/"); |
| 87 expected_display_name = base::ASCIIToUTF16("mail.google.com:81"); |
| 88 EXPECT_EQ(expected_display_name, |
| 89 DesktopNotificationService::OriginDisplayName( |
| 90 http_origin_nonstandard_port, language)); |
| 91 // TODO(dewittj): Add file origin once it's supported. |
| 92 } |
OLD | NEW |