OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 <memory> | 5 #include <memory> |
6 #include <string> | 6 #include <string> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/feature_list.h" | 10 #include "base/feature_list.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 | 61 |
62 const int kNotificationVibrationPattern[] = { 100, 200, 300 }; | 62 const int kNotificationVibrationPattern[] = { 100, 200, 300 }; |
63 const double kNotificationTimestamp = 621046800000.; | 63 const double kNotificationTimestamp = 621046800000.; |
64 | 64 |
65 class PlatformNotificationServiceBrowserTest : public InProcessBrowserTest { | 65 class PlatformNotificationServiceBrowserTest : public InProcessBrowserTest { |
66 public: | 66 public: |
67 PlatformNotificationServiceBrowserTest(); | 67 PlatformNotificationServiceBrowserTest(); |
68 ~PlatformNotificationServiceBrowserTest() override {} | 68 ~PlatformNotificationServiceBrowserTest() override {} |
69 | 69 |
70 // InProcessBrowserTest overrides. | 70 // InProcessBrowserTest overrides. |
71 void SetUpDefaultCommandLine(base::CommandLine* command_line) override; | 71 void SetUpCommandLine(base::CommandLine* command_line) override; |
72 | |
73 void SetUp() override; | 72 void SetUp() override; |
74 void SetUpOnMainThread() override; | 73 void SetUpOnMainThread() override; |
75 void TearDown() override; | 74 void TearDown() override; |
76 | 75 |
77 protected: | 76 protected: |
78 // Returns the Platform Notification Service these unit tests are for. | 77 // Returns the Platform Notification Service these unit tests are for. |
79 PlatformNotificationServiceImpl* service() const { | 78 PlatformNotificationServiceImpl* service() const { |
80 return PlatformNotificationServiceImpl::GetInstance(); | 79 return PlatformNotificationServiceImpl::GetInstance(); |
81 } | 80 } |
82 | 81 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 namespace { | 129 namespace { |
131 const char kTestFileName[] = "notifications/platform_notification_service.html"; | 130 const char kTestFileName[] = "notifications/platform_notification_service.html"; |
132 } | 131 } |
133 | 132 |
134 PlatformNotificationServiceBrowserTest::PlatformNotificationServiceBrowserTest() | 133 PlatformNotificationServiceBrowserTest::PlatformNotificationServiceBrowserTest() |
135 : server_root_(FILE_PATH_LITERAL("chrome/test/data")), | 134 : server_root_(FILE_PATH_LITERAL("chrome/test/data")), |
136 // The test server has a base directory that doesn't exist in the | 135 // The test server has a base directory that doesn't exist in the |
137 // filesystem. | 136 // filesystem. |
138 test_page_url_(std::string("/") + kTestFileName) {} | 137 test_page_url_(std::string("/") + kTestFileName) {} |
139 | 138 |
140 void PlatformNotificationServiceBrowserTest::SetUpDefaultCommandLine( | 139 void PlatformNotificationServiceBrowserTest::SetUpCommandLine( |
141 base::CommandLine* command_line) { | 140 base::CommandLine* command_line) { |
142 InProcessBrowserTest::SetUpDefaultCommandLine(command_line); | |
143 | |
144 // Needed for the Reply button tests | |
145 command_line->AppendSwitch(switches::kEnableExperimentalWebPlatformFeatures); | 141 command_line->AppendSwitch(switches::kEnableExperimentalWebPlatformFeatures); |
146 | 142 |
147 #if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) | 143 InProcessBrowserTest::SetUpCommandLine(command_line); |
148 // TODO(crbug.com/714679): Temporary change while tests are upgraded to deal | |
149 // with native notifications. | |
150 command_line->AppendSwitchASCII(switches::kDisableFeatures, | |
151 features::kNativeNotifications.name); | |
152 #endif // BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) | |
153 } | 144 } |
154 | 145 |
155 void PlatformNotificationServiceBrowserTest::SetUp() { | 146 void PlatformNotificationServiceBrowserTest::SetUp() { |
156 ui_manager_.reset(new StubNotificationUIManager); | 147 ui_manager_.reset(new StubNotificationUIManager); |
157 https_server_.reset( | 148 https_server_.reset( |
158 new net::EmbeddedTestServer(net::EmbeddedTestServer::TYPE_HTTPS)); | 149 new net::EmbeddedTestServer(net::EmbeddedTestServer::TYPE_HTTPS)); |
159 https_server_->ServeFilesFromSourceDirectory(server_root_); | 150 https_server_->ServeFilesFromSourceDirectory(server_root_); |
160 ASSERT_TRUE(https_server_->Start()); | 151 ASSERT_TRUE(https_server_->Start()); |
161 InProcessBrowserTest::SetUp(); | 152 InProcessBrowserTest::SetUp(); |
162 } | 153 } |
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
826 const Notification& notification = ui_manager()->GetNotificationAt(0); | 817 const Notification& notification = ui_manager()->GetNotificationAt(0); |
827 EXPECT_FALSE(notification.delegate()->ShouldDisplayOverFullscreen()); | 818 EXPECT_FALSE(notification.delegate()->ShouldDisplayOverFullscreen()); |
828 } | 819 } |
829 #endif | 820 #endif |
830 | 821 |
831 class PlatformNotificationServiceWithoutContentImageBrowserTest | 822 class PlatformNotificationServiceWithoutContentImageBrowserTest |
832 : public PlatformNotificationServiceBrowserTest { | 823 : public PlatformNotificationServiceBrowserTest { |
833 public: | 824 public: |
834 // InProcessBrowserTest overrides. | 825 // InProcessBrowserTest overrides. |
835 void SetUpInProcessBrowserTestFixture() override { | 826 void SetUpInProcessBrowserTestFixture() override { |
836 #if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) | 827 scoped_feature_list_.InitAndDisableFeature( |
837 scoped_feature_list_.InitWithFeatures( | 828 features::kNotificationContentImage); |
838 {}, | |
839 {features::kNotificationContentImage, features::kNativeNotifications}); | |
840 #else | |
841 scoped_feature_list_.InitWithFeatures( | |
842 {}, {features::kNotificationContentImage}); | |
843 #endif // BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) | |
844 InProcessBrowserTest::SetUpInProcessBrowserTestFixture(); | 829 InProcessBrowserTest::SetUpInProcessBrowserTestFixture(); |
845 } | 830 } |
846 | 831 |
847 private: | 832 private: |
848 base::test::ScopedFeatureList scoped_feature_list_; | 833 base::test::ScopedFeatureList scoped_feature_list_; |
849 }; | 834 }; |
850 | 835 |
851 IN_PROC_BROWSER_TEST_F( | 836 IN_PROC_BROWSER_TEST_F( |
852 PlatformNotificationServiceWithoutContentImageBrowserTest, | 837 PlatformNotificationServiceWithoutContentImageBrowserTest, |
853 KillSwitch) { | 838 KillSwitch) { |
854 ASSERT_NO_FATAL_FAILURE(GrantNotificationPermissionForTest()); | 839 ASSERT_NO_FATAL_FAILURE(GrantNotificationPermissionForTest()); |
855 | 840 |
856 std::string script_result; | 841 std::string script_result; |
857 ASSERT_TRUE( | 842 ASSERT_TRUE( |
858 RunScript("DisplayPersistentAllOptionsNotification()", &script_result)); | 843 RunScript("DisplayPersistentAllOptionsNotification()", &script_result)); |
859 EXPECT_EQ("ok", script_result); | 844 EXPECT_EQ("ok", script_result); |
860 | 845 |
861 ASSERT_EQ(1u, ui_manager()->GetNotificationCount()); | 846 ASSERT_EQ(1u, ui_manager()->GetNotificationCount()); |
862 const Notification& notification = ui_manager()->GetNotificationAt(0); | 847 const Notification& notification = ui_manager()->GetNotificationAt(0); |
863 | 848 |
864 // Since the kNotificationContentImage kill switch has disabled images, the | 849 // Since the kNotificationContentImage kill switch has disabled images, the |
865 // notification should be shown without an image. | 850 // notification should be shown without an image. |
866 EXPECT_TRUE(notification.image().IsEmpty()); | 851 EXPECT_TRUE(notification.image().IsEmpty()); |
867 } | 852 } |
OLD | NEW |