~aleteoryx/muditaos

ref: 97a2c8592674d5458a9caafd1d26f4185f9da13d muditaos/module-gui/test/test-catch/test-language-input-parser.cpp -rw-r--r-- 4.0 KiB
97a2c859 — Lefucjusz [MOS-1063] Fix device freeze after onboarding in Spanish 1 year, 9 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#include <catch2/catch.hpp>
#include <Translator.hpp>

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);
}