Chromium Code Reviews| Index: chrome/browser/chromeos/screensaver/screensaver_controller_browsertest.cc |
| diff --git a/chrome/browser/chromeos/screensaver/screensaver_controller_browsertest.cc b/chrome/browser/chromeos/screensaver/screensaver_controller_browsertest.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f386db491e968aedaf263191afd31319402a4810 |
| --- /dev/null |
| +++ b/chrome/browser/chromeos/screensaver/screensaver_controller_browsertest.cc |
| @@ -0,0 +1,62 @@ |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/chromeos/screensaver/screensaver_controller.h" |
| + |
| +#include "ash/screensaver/screensaver_view.h" |
| +#include "chrome/browser/extensions/extension_browsertest.h" |
| +#include "chrome/browser/profiles/profile_manager.h" |
| +#include "chrome/test/base/in_process_browser_test.h" |
| + |
| +namespace chromeos { |
| + |
| +class ScreensaverControllerTest : public ExtensionBrowserTest { |
| +}; |
| + |
| +IN_PROC_BROWSER_TEST_F(ScreensaverControllerTest, Basic) { |
| + const extensions::Extension* extension = InstallExtension( |
|
Matt Perry
2013/01/31 00:37:23
This test could probably be made into a lighter-we
rkc
2013/01/31 02:15:46
I reworked the code quite a bit to try to make thi
rkc
2013/01/31 02:53:18
Fixed the tests, they pass now.
|
| + test_data_dir_.AppendASCII("screensaver_test_extension.crx"), 1); |
| + ASSERT_TRUE(extension); |
| + |
| + scoped_ptr<ScreensaverController> controller_; |
| + controller_.reset(new ScreensaverController()); |
| + MessageLoop::current()->RunUntilIdle(); |
| + |
| + // Trigger idle. |
| + controller_->IdleNotify(0); |
| + EXPECT_TRUE(ash::IsScreensaverShown()); |
| + |
| + // Trigger active. |
| + controller_->OnUserActivity(); |
| + EXPECT_FALSE(ash::IsScreensaverShown()); |
| +}; |
| + |
| +IN_PROC_BROWSER_TEST_F(ScreensaverControllerTest, OutOfOrder) { |
| + const extensions::Extension* extension = InstallExtension( |
| + test_data_dir_.AppendASCII("screensaver_test_extension.crx"), 1); |
| + ASSERT_TRUE(extension); |
| + |
| + scoped_ptr<ScreensaverController> controller_; |
| + controller_.reset(new ScreensaverController()); |
| + MessageLoop::current()->RunUntilIdle(); |
| + |
| + // Trigger active. |
| + controller_->OnUserActivity(); |
| + EXPECT_FALSE(ash::IsScreensaverShown()); |
| + |
| + // Trigger idle. |
| + controller_->IdleNotify(0); |
| + EXPECT_TRUE(ash::IsScreensaverShown()); |
| + |
| + |
| + // Trigger idle. |
| + controller_->IdleNotify(0); |
| + EXPECT_TRUE(ash::IsScreensaverShown()); |
| + |
| + // Trigger active. |
| + controller_->OnUserActivity(); |
| + EXPECT_FALSE(ash::IsScreensaverShown()); |
| +}; |
| + |
| +} // namespace chromeos. |