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. |