• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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.
4 
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREEN_LOCKER_TESTER_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREEN_LOCKER_TESTER_H_
7 
8 #include <string>
9 
10 #include "base/basictypes.h"
11 
12 namespace views {
13 class Widget;
14 }  // namespace views
15 
16 namespace chromeos {
17 
18 namespace test {
19 
20 // ScreenLockerTester provides access to the private state/function
21 // of ScreenLocker class. Used to implement unit tests.
22 class ScreenLockerTester {
23  public:
24   ScreenLockerTester();
25   virtual ~ScreenLockerTester();
26 
27   // Returns true if the screen is locked.
28   virtual bool IsLocked();
29 
30   // Injects MockAuthenticate that uses given |user| and |password|.
31   virtual void InjectMockAuthenticator(const std::string& user,
32                                        const std::string& password);
33 
34   // Sets the password text.
35   virtual void SetPassword(const std::string& password) = 0;
36 
37   // Gets the password text.
38   virtual std::string GetPassword() = 0;
39 
40   // Emulates entring a password.
41   virtual void EnterPassword(const std::string& password) = 0;
42 
43   // Emulates the ready message from window manager.
44   virtual void EmulateWindowManagerReady() = 0;
45 
46   // Returns the widget for screen locker window.
47   virtual views::Widget* GetWidget() const = 0;
48 
49   virtual views::Widget* GetChildWidget() const = 0;
50 };
51 
52 }  // namespace test
53 
54 }  // namespace chromeos
55 
56 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_SCREEN_LOCKER_TESTER_H_
57