/
githubmirror
/
PowerToys
Обзор
Документация
Войти
/
githubmirror
/
PowerToys
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/modules/keyboardmanager/KeyboardManagerEngineTest/MockedInputSanityTests.cpp
57 строк
2 KB
Masaru Iritani
[KBM][CQ]Replace LPINPUT with std::vector<INPUT> (#32052)
22 июн 2024, 00:16
Не верифицирован
22 июн 2024, 00:16
62c7b0a
Код
Авторство
О чём код?
#include "pch.h" // Suppressing 26466 - Don't use static_cast downcasts - in CppUnitTest.h #pragma warning(push) #pragma warning(disable : 26466) #include "CppUnitTest.h" #pragma warning(pop) #include "MockedInput.h" #include <keyboardmanager/KeyboardManagerEngineLibrary/State.h> #include <keyboardmanager/common/KeyboardEventHandlers.h> #include "TestHelpers.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace RemappingLogicTests { // Tests for MockedInput test helper - to ensure simulated keyboard input behaves as expected TEST_CLASS (MockedInputSanityTests) { private: KeyboardManagerInput::MockedInput mockedInputHandler; State testState; public: TEST_METHOD_INITIALIZE(InitializeTestEnv) { // Reset test environment TestHelpers::ResetTestEnv(mockedInputHandler, testState); } // Test if mocked input is working TEST_METHOD (MockedInput_ShouldSetKeyboardState_OnKeyEvent) { // Send key down and key up for A key (0x41) and check keyboard state both times std::vector<INPUT> inputs1{ { .type = INPUT_KEYBOARD, .ki = { .wVk = 'A' } }, }; // Send A keydown mockedInputHandler.SendVirtualInput(inputs1); // A key state should be true Assert::AreEqual(mockedInputHandler.GetVirtualKeyState(0x41), true); std::vector<INPUT> inputs2{ { .type = INPUT_KEYBOARD, .ki = { .wVk = 'A', .dwFlags = KEYEVENTF_KEYUP } }, }; // Send A keyup mockedInputHandler.SendVirtualInput(inputs2); // A key state should be false Assert::AreEqual(mockedInputHandler.GetVirtualKeyState(0x41), false); } }; }