Skip to content

Commit

Permalink
use FCITX_ASSERT
Browse files Browse the repository at this point in the history
  • Loading branch information
eagleoflqj committed Jan 1, 2025
1 parent 1439d2e commit 4403464
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 43 deletions.
13 changes: 7 additions & 6 deletions tests/testconfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include <iostream>
#include <nlohmann/json.hpp>
#include "fcitx-public.h"
#include "fcitx-utils/log.h"
#include "config/config-public.h"

int main() {
Expand All @@ -14,17 +15,17 @@ int main() {
// Can get config.
{
auto j = nlohmann::json::parse(getConfig("fcitx://config/global"));
assert(j.is_object() && j.find("ERROR") == j.end());
FCITX_ASSERT(j.is_object() && j.find("ERROR") == j.end());
}
{
auto j =
nlohmann::json::parse(getConfig("fcitx://config/addon/unicode"));
assert(j.is_object() && j.find("ERROR") == j.end());
FCITX_ASSERT(j.is_object() && j.find("ERROR") == j.end());
}
{
auto j = nlohmann::json::parse(
getConfig("fcitx://config/inputmethod/keyboard-us"));
assert(j.is_object() && j.find("ERROR") == j.end());
FCITX_ASSERT(j.is_object() && j.find("ERROR") == j.end());
}

// Can get available input methods.
Expand All @@ -34,15 +35,15 @@ int main() {
std::vector<std::string> values{"False", "True"};
for (const auto &value : values) {
nlohmann::json j{{"Behavior", {{"ActiveByDefault", value}}}};
assert(setConfig("fcitx://config/global", j.dump().c_str()));
FCITX_ASSERT(setConfig("fcitx://config/global", j.dump().c_str()));
auto updated =
nlohmann::json::parse(getConfig("fcitx://config/global"));
for (const auto &child : updated["Children"]) {
if (child["Option"] == "Behavior") {
for (const auto &grand_child : child["Children"]) {
if (grand_child["Option"] == "ActiveByDefault") {
assert(grand_child["Value"].get<std::string>() ==
value);
FCITX_ASSERT(grand_child["Value"].get<std::string>() ==
value);
break;
}
}
Expand Down
77 changes: 40 additions & 37 deletions tests/testkey.cpp
Original file line number Diff line number Diff line change
@@ -1,54 +1,57 @@
#include <cassert>
#include "fcitx-utils/log.h"
#include "keycode.h"

void test_osx_to_fcitx() {
assert(osx_unicode_to_fcitx_keysym('0', 0, 0) == FcitxKey_0);
assert(osx_unicode_to_fcitx_keysym('0', 0, OSX_VK_KEYPAD_0) ==
FcitxKey_KP_0);
assert(osx_unicode_to_fcitx_keysym('a', 0, 0) == FcitxKey_a);
assert(osx_unicode_to_fcitx_keysym('a', OSX_MODIFIER_SHIFT, 0) ==
FcitxKey_A);

assert(osx_keycode_to_fcitx_keycode(OSX_VK_KEY_0) == 11 + 8);
assert(osx_keycode_to_fcitx_keycode(OSX_VK_KEYPAD_0) == 82 + 8);
assert(osx_keycode_to_fcitx_keycode(OSX_VK_SHIFT_L) == 42 + 8);
assert(osx_keycode_to_fcitx_keycode(OSX_VK_SHIFT_R) == 54 + 8);

assert(
FCITX_ASSERT(osx_unicode_to_fcitx_keysym('0', 0, 0) == FcitxKey_0);
FCITX_ASSERT(osx_unicode_to_fcitx_keysym('0', 0, OSX_VK_KEYPAD_0) ==
FcitxKey_KP_0);
FCITX_ASSERT(osx_unicode_to_fcitx_keysym('a', 0, 0) == FcitxKey_a);
FCITX_ASSERT(osx_unicode_to_fcitx_keysym('a', OSX_MODIFIER_SHIFT, 0) ==
FcitxKey_A);

FCITX_ASSERT(osx_keycode_to_fcitx_keycode(OSX_VK_KEY_0) == 11 + 8);
FCITX_ASSERT(osx_keycode_to_fcitx_keycode(OSX_VK_KEYPAD_0) == 82 + 8);
FCITX_ASSERT(osx_keycode_to_fcitx_keycode(OSX_VK_SHIFT_L) == 42 + 8);
FCITX_ASSERT(osx_keycode_to_fcitx_keycode(OSX_VK_SHIFT_R) == 54 + 8);

FCITX_ASSERT(
osx_modifiers_to_fcitx_keystates(OSX_MODIFIER_CONTROL |
OSX_MODIFIER_SHIFT) ==
(fcitx::KeyStates{} | fcitx::KeyState::Ctrl | fcitx::KeyState::Shift));
}

void test_fcitx_to_osx() {
assert(fcitx_keysym_to_osx_keysym(FcitxKey_Up) == "\u{1e}");
assert(fcitx_keysym_to_osx_keysym(FcitxKey_0) == "0");
assert(fcitx_keysym_to_osx_keysym(FcitxKey_KP_0) == "");
assert(fcitx_keysym_to_osx_keysym(FcitxKey_grave) == "`");
assert(fcitx_keysym_to_osx_keysym(FcitxKey_a) == "a");
assert(fcitx_keysym_to_osx_keysym(FcitxKey_A) == "a");

assert(fcitx_keysym_to_osx_keycode(FcitxKey_KP_0) == OSX_VK_KEYPAD_0);
assert(fcitx_keysym_to_osx_keycode(FcitxKey_Shift_L) == OSX_VK_SHIFT_L);
assert(fcitx_keysym_to_osx_keycode(FcitxKey_Shift_R) == OSX_VK_SHIFT_R);

assert(fcitx_keystates_to_osx_modifiers(fcitx::KeyStates{} |
fcitx::KeyState::Super |
fcitx::KeyState::Alt) ==
(OSX_MODIFIER_COMMAND | OSX_MODIFIER_OPTION));
FCITX_ASSERT(fcitx_keysym_to_osx_keysym(FcitxKey_Up) == "\u{1e}");
FCITX_ASSERT(fcitx_keysym_to_osx_keysym(FcitxKey_0) == "0");
FCITX_ASSERT(fcitx_keysym_to_osx_keysym(FcitxKey_KP_0) == "");
FCITX_ASSERT(fcitx_keysym_to_osx_keysym(FcitxKey_grave) == "`");
FCITX_ASSERT(fcitx_keysym_to_osx_keysym(FcitxKey_a) == "a");
FCITX_ASSERT(fcitx_keysym_to_osx_keysym(FcitxKey_A) == "a");

FCITX_ASSERT(fcitx_keysym_to_osx_keycode(FcitxKey_KP_0) == OSX_VK_KEYPAD_0);
FCITX_ASSERT(fcitx_keysym_to_osx_keycode(FcitxKey_Shift_L) ==
OSX_VK_SHIFT_L);
FCITX_ASSERT(fcitx_keysym_to_osx_keycode(FcitxKey_Shift_R) ==
OSX_VK_SHIFT_R);

FCITX_ASSERT(fcitx_keystates_to_osx_modifiers(fcitx::KeyStates{} |
fcitx::KeyState::Super |
fcitx::KeyState::Alt) ==
(OSX_MODIFIER_COMMAND | OSX_MODIFIER_OPTION));
}

void test_fcitx_string() {
assert(fcitx_string_to_osx_keysym("Left") == "\u{1c}");
assert(fcitx_string_to_osx_keysym("Control+0") == "0");
assert(fcitx_string_to_osx_keysym("Control+Shift+KP_0") == "");
assert(fcitx_string_to_osx_keysym("Control+slash") == "/");
FCITX_ASSERT(fcitx_string_to_osx_keysym("Left") == "\u{1c}");
FCITX_ASSERT(fcitx_string_to_osx_keysym("Control+0") == "0");
FCITX_ASSERT(fcitx_string_to_osx_keysym("Control+Shift+KP_0") == "");
FCITX_ASSERT(fcitx_string_to_osx_keysym("Control+slash") == "/");

assert(fcitx_string_to_osx_modifiers("Control+Super+K") ==
(OSX_MODIFIER_CONTROL | OSX_MODIFIER_COMMAND));
FCITX_ASSERT(fcitx_string_to_osx_modifiers("Control+Super+K") ==
(OSX_MODIFIER_CONTROL | OSX_MODIFIER_COMMAND));

assert(fcitx_string_to_osx_keycode("Alt+Shift+Shift_L") == OSX_VK_SHIFT_L);
assert(fcitx_string_to_osx_keycode("Shift_R") == OSX_VK_SHIFT_R);
FCITX_ASSERT(fcitx_string_to_osx_keycode("Alt+Shift+Shift_L") ==
OSX_VK_SHIFT_L);
FCITX_ASSERT(fcitx_string_to_osx_keycode("Shift_R") == OSX_VK_SHIFT_R);
}

int main() {
Expand Down

0 comments on commit 4403464

Please sign in to comment.