blob: 9021aecb3352a136990ca9e3328c81ea3314b7ca [file] [log] [blame]
// Copyright 2013 The Flutter 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 "flutter/shell/platform/windows/testing/mock_window.h"
namespace flutter {
namespace testing {
MockWindow::MockWindow() : Window(){};
MockWindow::MockWindow(std::unique_ptr<WindowsProcTable> window_proc_table,
std::unique_ptr<TextInputManager> text_input_manager)
: Window(std::move(window_proc_table), std::move(text_input_manager)){};
MockWindow::~MockWindow() = default;
UINT MockWindow::GetDpi() {
return GetCurrentDPI();
}
LRESULT MockWindow::Win32DefWindowProc(HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam) {
return kWmResultDefault;
}
void MockWindow::SetDirectManipulationOwner(
std::unique_ptr<DirectManipulationOwner> owner) {
direct_manipulation_owner_ = std::move(owner);
}
LRESULT MockWindow::InjectWindowMessage(UINT const message,
WPARAM const wparam,
LPARAM const lparam) {
return HandleMessage(message, wparam, lparam);
}
void MockWindow::InjectMessageList(int count, const Win32Message* messages) {
for (int message_id = 0; message_id < count; message_id += 1) {
const Win32Message& message = messages[message_id];
LRESULT result =
InjectWindowMessage(message.message, message.wParam, message.lParam);
if (message.expected_result != kWmResultDontCheck) {
EXPECT_EQ(result, message.expected_result);
}
}
}
void MockWindow::CallOnImeComposition(UINT const message,
WPARAM const wparam,
LPARAM const lparam) {
Window::OnImeComposition(message, wparam, lparam);
}
} // namespace testing
} // namespace flutter