Move render_view_context_menu.* and related files out of tab_contents.
[chromium-blink-merge.git] / ash / screensaver / screensaver_view_unittest.cc
blob0901ba4e6cae8747cc4e0af2b7dbde88cffac44a
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
3 // found in the LICENSE file.
5 #include "ash/screensaver/screensaver_view.h"
7 #include "ash/test/ash_test_base.h"
8 #include "base/bind.h"
9 #include "content/public/browser/browser_context.h"
10 #include "content/public/browser/web_contents.h"
11 #include "ui/views/controls/webview/webview.h"
12 #include "ui/views/test/webview_test_helper.h"
14 namespace ash {
15 namespace test {
17 class ScreensaverViewTest : public ash::test::AshTestBase {
18 public:
19 ScreensaverViewTest() {
20 url_ = GURL("http://www.google.com");
21 views_delegate_.reset(new AshTestViewsDelegate());
22 webview_test_helper_.reset(new views::WebViewTestHelper());
25 virtual ~ScreensaverViewTest() {}
27 virtual void SetUp() OVERRIDE {
28 AshTestBase::SetUp();
29 RunAllPendingInMessageLoop();
32 void ExpectOpenScreensaver() {
33 internal::ScreensaverView* screensaver =
34 internal::ScreensaverView::GetInstance();
35 EXPECT_TRUE(screensaver != NULL);
36 if (!screensaver) return;
37 EXPECT_TRUE(screensaver->IsScreensaverShowingURL(url_));
40 void ExpectClosedScreensaver() {
41 EXPECT_TRUE(internal::ScreensaverView::GetInstance() == NULL);
44 protected:
45 GURL url_;
47 private:
48 scoped_ptr<AshTestViewsDelegate> views_delegate_;
49 scoped_ptr<views::WebViewTestHelper> webview_test_helper_;
51 DISALLOW_COPY_AND_ASSIGN(ScreensaverViewTest);
54 TEST_F(ScreensaverViewTest, ShowScreensaverAndClose) {
55 ash::ShowScreensaver(url_);
56 RunAllPendingInMessageLoop();
57 ExpectOpenScreensaver();
59 ash::CloseScreensaver();
60 ExpectClosedScreensaver();
63 TEST_F(ScreensaverViewTest, OutOfOrderMultipleShowAndClose) {
64 ash::CloseScreensaver();
65 ExpectClosedScreensaver();
67 ash::ShowScreensaver(url_);
68 ExpectOpenScreensaver();
69 RunAllPendingInMessageLoop();
70 ash::ShowScreensaver(url_);
71 ExpectOpenScreensaver();
72 RunAllPendingInMessageLoop();
74 ash::CloseScreensaver();
75 ExpectClosedScreensaver();
76 ash::CloseScreensaver();
77 ExpectClosedScreensaver();
80 } // namespace test
81 } // namespace ash