| Index: chrome/browser/chromeos/login/captive_portal_window_browsertest.cc
|
| diff --git a/chrome/browser/chromeos/login/captive_portal_window_browsertest.cc b/chrome/browser/chromeos/login/captive_portal_window_browsertest.cc
|
| index e0e52473b56fd6621b3c82692d54625e2dda4e26..cccf9aefb5aaafde0c50b5b39910ff1928898532 100644
|
| --- a/chrome/browser/chromeos/login/captive_portal_window_browsertest.cc
|
| +++ b/chrome/browser/chromeos/login/captive_portal_window_browsertest.cc
|
| @@ -8,7 +8,12 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "chrome/browser/chromeos/login/captive_portal_window_proxy.h"
|
| #include "chrome/browser/chromeos/login/login_display_host_impl.h"
|
| +#include "chrome/browser/chromeos/login/login_manager_test.h"
|
| +#include "chrome/browser/chromeos/login/startup_utils.h"
|
| +#include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h"
|
| #include "chrome/browser/chromeos/login/webui_login_view.h"
|
| +#include "chrome/browser/chromeos/net/network_portal_detector.h"
|
| +#include "chrome/browser/chromeos/net/network_portal_detector_test_impl.h"
|
| #include "chrome/test/base/in_process_browser_test.h"
|
| #include "chromeos/chromeos_switches.h"
|
|
|
| @@ -16,6 +21,8 @@ namespace chromeos {
|
|
|
| namespace {
|
|
|
| +const char kStubEthernetServicePath[] = "eth1";
|
| +
|
| // Stub implementation of CaptivePortalWindowProxyDelegate, does
|
| // nothing and used to instantiate CaptivePortalWindowProxy.
|
| class CaptivePortalWindowProxyStubDelegate
|
| @@ -167,4 +174,53 @@ IN_PROC_BROWSER_TEST_F(CaptivePortalWindowTest, MultipleCalls) {
|
| CheckState(false, 2);
|
| }
|
|
|
| +class CaptivePortalWindowCtorDtorTest : public LoginManagerTest {
|
| + public:
|
| + CaptivePortalWindowCtorDtorTest()
|
| + : LoginManagerTest(false) {}
|
| + virtual ~CaptivePortalWindowCtorDtorTest() {}
|
| +
|
| + virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
|
| + LoginManagerTest::SetUpInProcessBrowserTestFixture();
|
| +
|
| + network_portal_detector_ = new NetworkPortalDetectorTestImpl();
|
| + NetworkPortalDetector::InitializeForTesting(network_portal_detector_);
|
| + NetworkPortalDetector::CaptivePortalState portal_state;
|
| + portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL;
|
| + portal_state.response_code = 200;
|
| + network_portal_detector_->SetDefaultNetworkPathForTesting(
|
| + kStubEthernetServicePath);
|
| + network_portal_detector_->SetDetectionResultsForTesting(
|
| + kStubEthernetServicePath, portal_state);
|
| + }
|
| +
|
| + protected:
|
| + NetworkPortalDetectorTestImpl* network_portal_detector() {
|
| + return network_portal_detector_;
|
| + }
|
| +
|
| + private:
|
| + NetworkPortalDetectorTestImpl* network_portal_detector_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(CaptivePortalWindowCtorDtorTest);
|
| +};
|
| +
|
| +IN_PROC_BROWSER_TEST_F(CaptivePortalWindowCtorDtorTest, PRE_OpenPortalDialog) {
|
| + StartupUtils::MarkOobeCompleted();
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(CaptivePortalWindowCtorDtorTest, OpenPortalDialog) {
|
| + network_portal_detector()->NotifyObserversForTesting();
|
| + OobeScreenWaiter(OobeDisplay::SCREEN_ERROR_MESSAGE).Wait();
|
| + LoginDisplayHostImpl* host =
|
| + static_cast<LoginDisplayHostImpl*>(LoginDisplayHostImpl::default_host());
|
| +
|
| + ASSERT_TRUE(host);
|
| + OobeUI* oobe = host->GetOobeUI();
|
| + ASSERT_TRUE(oobe);
|
| + ErrorScreenActor* actor = oobe->GetErrorScreenActor();
|
| + ASSERT_TRUE(actor);
|
| + actor->ShowCaptivePortal();
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|