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.
4
5#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_MOCK_EULA_SCREEN_H_
6#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_MOCK_EULA_SCREEN_H_
7
8#include "chrome/browser/chromeos/login/screens/eula_screen.h"
9#include "chrome/browser/chromeos/login/screens/eula_screen_actor.h"
10#include "chrome/browser/chromeos/login/screens/screen_observer.h"
11#include "testing/gmock/include/gmock/gmock.h"
12
13namespace chromeos {
14
15class MockEulaScreen : public EulaScreen {
16 public:
17  MockEulaScreen(ScreenObserver* screen_observer, EulaScreenActor* actor);
18  virtual ~MockEulaScreen();
19};
20
21class MockEulaScreenActor : public EulaScreenActor {
22 public:
23  MockEulaScreenActor();
24  virtual ~MockEulaScreenActor();
25
26  virtual void SetDelegate(Delegate* delegate);
27
28  MOCK_METHOD0(PrepareToShow, void());
29  MOCK_METHOD0(Show, void());
30  MOCK_METHOD0(Hide, void());
31
32  MOCK_CONST_METHOD0(GetName, std::string());
33
34  MOCK_METHOD1(MockSetDelegate, void(Delegate* delegate));
35  MOCK_METHOD1(OnPasswordFetched, void(const std::string& tpm_password));
36
37 private:
38  Delegate* delegate_;
39};
40
41}  // namespace chromeos
42
43#endif  // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_MOCK_EULA_SCREEN_H_
44