// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md #include #include TEST_CASE("Parsing English input language") { gui::KeyInputMappedTranslation translator; RawKey key; SECTION("Getting charKey from lower letters") { key.keyCode = bsp::KeyCodes::NumericKey1; REQUIRE(translator.handle(key, "English_lower") == 46); key.keyCode = bsp::KeyCodes::NumericKey2; REQUIRE(translator.handle(key, "English_lower") == 97); key.keyCode = bsp::KeyCodes::NumericKey3; REQUIRE(translator.handle(key, "English_lower") == 100); key.keyCode = bsp::KeyCodes::NumericKey4; REQUIRE(translator.handle(key, "English_lower") == 103); key.keyCode = bsp::KeyCodes::NumericKey5; REQUIRE(translator.handle(key, "English_lower") == 106); key.keyCode = bsp::KeyCodes::NumericKey6; REQUIRE(translator.handle(key, "English_lower") == 109); key.keyCode = bsp::KeyCodes::NumericKey7; REQUIRE(translator.handle(key, "English_lower") == 112); key.keyCode = bsp::KeyCodes::NumericKey8; REQUIRE(translator.handle(key, "English_lower") == 116); key.keyCode = bsp::KeyCodes::NumericKey9; REQUIRE(translator.handle(key, "English_lower") == 119); key.keyCode = bsp::KeyCodes::NumericKey0; REQUIRE(translator.handle(key, "English_lower") == 32); } SECTION("Getting charKey from upper letters") { key.keyCode = bsp::KeyCodes::NumericKey1; REQUIRE(translator.handle(key, "English_upper") == 46); key.keyCode = bsp::KeyCodes::NumericKey2; REQUIRE(translator.handle(key, "English_upper") == 65); key.keyCode = bsp::KeyCodes::NumericKey3; REQUIRE(translator.handle(key, "English_upper") == 68); key.keyCode = bsp::KeyCodes::NumericKey4; REQUIRE(translator.handle(key, "English_upper") == 71); key.keyCode = bsp::KeyCodes::NumericKey5; REQUIRE(translator.handle(key, "English_upper") == 74); key.keyCode = bsp::KeyCodes::NumericKey6; REQUIRE(translator.handle(key, "English_upper") == 77); key.keyCode = bsp::KeyCodes::NumericKey7; REQUIRE(translator.handle(key, "English_upper") == 80); key.keyCode = bsp::KeyCodes::NumericKey8; REQUIRE(translator.handle(key, "English_upper") == 84); key.keyCode = bsp::KeyCodes::NumericKey9; REQUIRE(translator.handle(key, "English_upper") == 87); key.keyCode = bsp::KeyCodes::NumericKey0; REQUIRE(translator.handle(key, "English_upper") == 32); } } TEST_CASE("Parsing numeric keyboard") { gui::KeyInputMappedTranslation translator; RawKey key; key.keyCode = bsp::KeyCodes::NumericKey1; REQUIRE(translator.handle(key, "numeric") == 49); key.keyCode = bsp::KeyCodes::NumericKey2; REQUIRE(translator.handle(key, "numeric") == 50); key.keyCode = bsp::KeyCodes::NumericKey3; REQUIRE(translator.handle(key, "numeric") == 51); key.keyCode = bsp::KeyCodes::NumericKey4; REQUIRE(translator.handle(key, "numeric") == 52); key.keyCode = bsp::KeyCodes::NumericKey5; REQUIRE(translator.handle(key, "numeric") == 53); key.keyCode = bsp::KeyCodes::NumericKey6; REQUIRE(translator.handle(key, "numeric") == 54); key.keyCode = bsp::KeyCodes::NumericKey7; REQUIRE(translator.handle(key, "numeric") == 55); key.keyCode = bsp::KeyCodes::NumericKey8; REQUIRE(translator.handle(key, "numeric") == 56); key.keyCode = bsp::KeyCodes::NumericKey9; REQUIRE(translator.handle(key, "numeric") == 57); key.keyCode = bsp::KeyCodes::NumericKey0; REQUIRE(translator.handle(key, "numeric") == 48); } TEST_CASE("Getting charKey after clicking button twice") { gui::KeyInputMappedTranslation translator; RawKey key; key.keyCode = bsp::KeyCodes::NumericKey2; key.state = RawKey::State::Released; translator.handle(key, "English_lower"); REQUIRE(translator.handle(key, "English_lower") == 98); }