blob: 43d07f154e66deb35ed266a578e78938772aa652 [file] [log] [blame]
// Copyright 2021 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.
#ifndef ASH_PUBLIC_CPP_TEST_MOCK_PROJECTOR_CLIENT_H_
#define ASH_PUBLIC_CPP_TEST_MOCK_PROJECTOR_CLIENT_H_
#include "ash/public/cpp/projector/annotator_tool.h"
#include "ash/public/cpp/projector/projector_annotator_controller.h"
#include "ash/public/cpp/projector/projector_client.h"
#include "ash/public/cpp/projector/projector_new_screencast_precondition.h"
#include "base/files/scoped_temp_dir.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace base {
class FilePath;
}
namespace ash {
// A mock implementation of ProjectorClient for use in tests.
class MockProjectorClient : public ProjectorClient,
public ProjectorAnnotatorController {
public:
MockProjectorClient();
MockProjectorClient(const MockProjectorClient&) = delete;
MockProjectorClient& operator=(const MockProjectorClient&) = delete;
~MockProjectorClient() override;
// ProjectorClient:
MOCK_METHOD0(StartSpeechRecognition, void());
MOCK_METHOD0(StopSpeechRecognition, void());
bool GetDriveFsMountPointPath(base::FilePath* result) const override;
MOCK_CONST_METHOD0(IsDriveFsMounted, bool());
MOCK_CONST_METHOD0(IsDriveFsMountFailed, bool());
MOCK_CONST_METHOD0(OpenProjectorApp, void());
MOCK_CONST_METHOD0(MinimizeProjectorApp, void());
MOCK_CONST_METHOD0(CloseProjectorApp, void());
MOCK_CONST_METHOD1(OnNewScreencastPreconditionChanged,
void(const NewScreencastPrecondition&));
// ProjectorAnnotatorController:
MOCK_METHOD1(SetTool, void(const AnnotatorTool&));
MOCK_METHOD0(Undo, void());
MOCK_METHOD0(Redo, void());
MOCK_METHOD0(Clear, void());
private:
base::ScopedTempDir screencast_container_path_;
};
} // namespace ash
#endif // ASH_PROJECTOR_TEST_MOCK_PROJECTOR_CLIENT_H_