#include "content/test/mock_keyboard.h"
#include "base/check.h"
#include "base/notimplemented.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
namespace content {
MockKeyboard::MockKeyboard() {}
MockKeyboard::~MockKeyboard() {
}
int MockKeyboard::GetCharacters(Layout layout,
int key_code,
Modifiers modifiers,
std::u16string* output) {
#if BUILDFLAG(IS_WIN)
CHECK(output);
if (layout != keyboard_layout_) {
if (!driver_.SetLayout(layout))
return -1;
keyboard_layout_ = layout;
keyboard_modifiers_ = INVALID;
}
if (modifiers != keyboard_modifiers_) {
if (!driver_.SetModifiers(modifiers))
return -1;
keyboard_modifiers_ = modifiers;
}
std::wstring wide_output;
int result = driver_.GetCharacters(key_code, &wide_output);
*output = base::WideToUTF16(wide_output);
return result;
#else
NOTIMPLEMENTED();
return -1;
#endif
}
}