OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/captive_portal/captive_portal_tab_helper.h" | 5 #include "chrome/browser/captive_portal/captive_portal_tab_helper.h" |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "chrome/browser/captive_portal/captive_portal_service.h" | 9 #include "chrome/browser/captive_portal/captive_portal_service.h" |
10 #include "chrome/browser/captive_portal/captive_portal_tab_reloader.h" | 10 #include "chrome/browser/captive_portal/captive_portal_tab_reloader.h" |
11 #include "chrome/common/chrome_notification_types.h" | 11 #include "chrome/common/chrome_notification_types.h" |
12 #include "chrome/test/base/chrome_render_view_host_test_harness.h" | 12 #include "chrome/test/base/chrome_render_view_host_test_harness.h" |
13 #include "content/public/browser/notification_details.h" | 13 #include "content/public/browser/notification_details.h" |
14 #include "content/public/browser/notification_service.h" | 14 #include "content/public/browser/notification_service.h" |
15 #include "content/public/browser/notification_source.h" | 15 #include "content/public/browser/notification_source.h" |
16 #include "content/public/browser/notification_types.h" | 16 #include "content/public/browser/notification_types.h" |
17 #include "content/public/browser/render_view_host.h" | 17 #include "content/public/browser/render_view_host.h" |
18 #include "content/public/browser/render_process_host.h" | 18 #include "content/public/browser/render_process_host.h" |
19 #include "content/public/browser/web_contents.h" | 19 #include "content/public/browser/web_contents.h" |
20 #include "content/public/test/test_browser_thread.h" | |
21 #include "net/base/net_errors.h" | 20 #include "net/base/net_errors.h" |
22 #include "testing/gmock/include/gmock/gmock.h" | 21 #include "testing/gmock/include/gmock/gmock.h" |
23 #include "testing/gtest/include/gtest/gtest.h" | 22 #include "testing/gtest/include/gtest/gtest.h" |
24 | 23 |
25 namespace captive_portal { | 24 namespace captive_portal { |
26 | 25 |
27 namespace { | 26 namespace { |
28 | 27 |
29 const char* const kHttpUrl = "http://whatever.com/"; | 28 const char* const kHttpUrl = "http://whatever.com/"; |
30 const char* const kHttpsUrl = "https://whatever.com/"; | 29 const char* const kHttpsUrl = "https://whatever.com/"; |
(...skipping 28 matching lines...) Expand all Loading... |
59 }; | 58 }; |
60 | 59 |
61 // Inherits from the ChromeRenderViewHostTestHarness to gain access to | 60 // Inherits from the ChromeRenderViewHostTestHarness to gain access to |
62 // CreateTestWebContents. Since the tests need to micromanage order of | 61 // CreateTestWebContents. Since the tests need to micromanage order of |
63 // WebContentsObserver function calls, does not actually make sure of | 62 // WebContentsObserver function calls, does not actually make sure of |
64 // the harness in any other way. | 63 // the harness in any other way. |
65 class CaptivePortalTabHelperTest : public ChromeRenderViewHostTestHarness { | 64 class CaptivePortalTabHelperTest : public ChromeRenderViewHostTestHarness { |
66 public: | 65 public: |
67 CaptivePortalTabHelperTest() | 66 CaptivePortalTabHelperTest() |
68 : tab_helper_(NULL), | 67 : tab_helper_(NULL), |
69 mock_reloader_(new testing::StrictMock<MockCaptivePortalTabReloader>), | 68 mock_reloader_(new testing::StrictMock<MockCaptivePortalTabReloader>) { |
70 ui_thread_(content::BrowserThread::UI, &message_loop_) { | |
71 tab_helper_.SetTabReloaderForTest(mock_reloader_); | 69 tab_helper_.SetTabReloaderForTest(mock_reloader_); |
72 } | 70 } |
73 virtual ~CaptivePortalTabHelperTest() {} | 71 virtual ~CaptivePortalTabHelperTest() {} |
74 | 72 |
75 virtual void SetUp() OVERRIDE { | 73 virtual void SetUp() OVERRIDE { |
76 ChromeRenderViewHostTestHarness::SetUp(); | 74 ChromeRenderViewHostTestHarness::SetUp(); |
77 web_contents1_.reset(CreateTestWebContents()); | 75 web_contents1_.reset(CreateTestWebContents()); |
78 web_contents2_.reset(CreateTestWebContents()); | 76 web_contents2_.reset(CreateTestWebContents()); |
79 } | 77 } |
80 | 78 |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 private: | 211 private: |
214 // Only the RenderViewHosts are used. | 212 // Only the RenderViewHosts are used. |
215 scoped_ptr<content::WebContents> web_contents1_; | 213 scoped_ptr<content::WebContents> web_contents1_; |
216 scoped_ptr<content::WebContents> web_contents2_; | 214 scoped_ptr<content::WebContents> web_contents2_; |
217 | 215 |
218 CaptivePortalTabHelper tab_helper_; | 216 CaptivePortalTabHelper tab_helper_; |
219 | 217 |
220 // Owned by |tab_helper_|. | 218 // Owned by |tab_helper_|. |
221 testing::StrictMock<MockCaptivePortalTabReloader>* mock_reloader_; | 219 testing::StrictMock<MockCaptivePortalTabReloader>* mock_reloader_; |
222 | 220 |
223 content::TestBrowserThread ui_thread_; | |
224 | |
225 DISALLOW_COPY_AND_ASSIGN(CaptivePortalTabHelperTest); | 221 DISALLOW_COPY_AND_ASSIGN(CaptivePortalTabHelperTest); |
226 }; | 222 }; |
227 | 223 |
228 TEST_F(CaptivePortalTabHelperTest, HttpSuccess) { | 224 TEST_F(CaptivePortalTabHelperTest, HttpSuccess) { |
229 SimulateSuccess(GURL(kHttpUrl), render_view_host1()); | 225 SimulateSuccess(GURL(kHttpUrl), render_view_host1()); |
230 tab_helper().DidStopLoading(render_view_host1()); | 226 tab_helper().DidStopLoading(render_view_host1()); |
231 } | 227 } |
232 | 228 |
233 TEST_F(CaptivePortalTabHelperTest, HttpTimeout) { | 229 TEST_F(CaptivePortalTabHelperTest, HttpTimeout) { |
234 SimulateTimeout(GURL(kHttpUrl), render_view_host1()); | 230 SimulateTimeout(GURL(kHttpUrl), render_view_host1()); |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 EXPECT_FALSE(tab_helper().IsLoginTab()); | 600 EXPECT_FALSE(tab_helper().IsLoginTab()); |
605 | 601 |
606 ObservePortalResult(RESULT_BEHIND_CAPTIVE_PORTAL, RESULT_NO_RESPONSE); | 602 ObservePortalResult(RESULT_BEHIND_CAPTIVE_PORTAL, RESULT_NO_RESPONSE); |
607 EXPECT_FALSE(tab_helper().IsLoginTab()); | 603 EXPECT_FALSE(tab_helper().IsLoginTab()); |
608 | 604 |
609 ObservePortalResult(RESULT_NO_RESPONSE, RESULT_INTERNET_CONNECTED); | 605 ObservePortalResult(RESULT_NO_RESPONSE, RESULT_INTERNET_CONNECTED); |
610 EXPECT_FALSE(tab_helper().IsLoginTab()); | 606 EXPECT_FALSE(tab_helper().IsLoginTab()); |
611 } | 607 } |
612 | 608 |
613 } // namespace captive_portal | 609 } // namespace captive_portal |
OLD | NEW |