summaryrefslogtreecommitdiff
path: root/tests/caps_word/caps_word_unicodemap
diff options
context:
space:
mode:
authorIsaac Elenbaas <isaacelenbaas@gmail.com>2023-09-24 22:45:49 -0400
committerGitHub <noreply@github.com>2023-09-25 12:45:49 +1000
commitdd94877ec6d2ee5c4cdb0e71287abd76585b0268 (patch)
tree26ded3ce8338286243d1b59d597f41329fea6ef4 /tests/caps_word/caps_word_unicodemap
parent1fb02d5ad87e69d459ae63235bbb3057083866ef (diff)
Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test cases (#15889)
Diffstat (limited to 'tests/caps_word/caps_word_unicodemap')
-rw-r--r--tests/caps_word/caps_word_unicodemap/config.h20
-rw-r--r--tests/caps_word/caps_word_unicodemap/test.mk18
-rw-r--r--tests/caps_word/caps_word_unicodemap/test_caps_word_unicodemap.cpp121
3 files changed, 0 insertions, 159 deletions
diff --git a/tests/caps_word/caps_word_unicodemap/config.h b/tests/caps_word/caps_word_unicodemap/config.h
deleted file mode 100644
index 0f770337b1..0000000000
--- a/tests/caps_word/caps_word_unicodemap/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2022 Google LLC
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-#pragma once
-
-#include "test_common.h"
-
-#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
diff --git a/tests/caps_word/caps_word_unicodemap/test.mk b/tests/caps_word/caps_word_unicodemap/test.mk
deleted file mode 100644
index 92bcba762c..0000000000
--- a/tests/caps_word/caps_word_unicodemap/test.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2022 Google LLC
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-CAPS_WORD_ENABLE = yes
-UNICODEMAP_ENABLE = yes
-
diff --git a/tests/caps_word/caps_word_unicodemap/test_caps_word_unicodemap.cpp b/tests/caps_word/caps_word_unicodemap/test_caps_word_unicodemap.cpp
deleted file mode 100644
index 21e5493526..0000000000
--- a/tests/caps_word/caps_word_unicodemap/test_caps_word_unicodemap.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2022 Google LLC
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-#include "keyboard_report_util.hpp"
-#include "keycode.h"
-#include "test_common.hpp"
-#include "test_fixture.hpp"
-#include "test_keymap_key.hpp"
-
-using ::testing::_;
-using ::testing::AnyNumber;
-using ::testing::AnyOf;
-using ::testing::InSequence;
-
-extern "C" {
-enum unicode_names {
- ENDASH,
- EMDASH,
- DELTA_LOWERCASE,
- DELTA_UPPERCASE,
-};
-
-const uint32_t unicode_map[] PROGMEM = {
- [ENDASH] = 0x2013,
- [EMDASH] = 0x2014,
- [DELTA_LOWERCASE] = 0x03b4,
- [DELTA_UPPERCASE] = 0x0394,
-};
-
-#define U_DASH UP(ENDASH, EMDASH)
-#define U_DELTA UP(DELTA_LOWERCASE, DELTA_UPPERCASE)
-
-bool caps_word_press_user(uint16_t keycode) {
- switch (keycode) {
- // Keycodes that continue Caps Word, with shift applied.
- case U_DELTA:
- add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to next key.
- return true;
-
- // Keycodes that continue Caps Word, without shifting.
- case U_DASH:
- return true;
-
- default:
- return false; // Deactivate Caps Word.
- }
-}
-} // extern "C"
-
-class CapsWord : public TestFixture {
- public:
- void SetUp() override {
- caps_word_off();
- }
-};
-
-// Tests that typing U_DELTA while Caps Word is on sends the uppercase Delta.
-TEST_F(CapsWord, ShiftedUnicodeMapKey) {
- TestDriver driver;
- KeymapKey key_delta(0, 0, 0, U_DELTA);
- KeymapKey key_spc(0, 1, 0, KC_SPC);
- set_keymap({key_delta, key_spc});
-
- // Allow any number of reports with no keys or only KC_LSFT and KC_LCTL.
- // clang-format off
- EXPECT_CALL(driver, send_keyboard_mock(AnyOf(
- KeyboardReport(),
- KeyboardReport(KC_LSFT),
- KeyboardReport(KC_LCTL, KC_LSFT))))
- .Times(AnyNumber());
- // clang-format on
- { // Expect: "Uppercase Delta, space, lowercase delta".
- InSequence s;
- EXPECT_UNICODE(driver, unicode_map[DELTA_UPPERCASE]);
- EXPECT_REPORT(driver, (KC_SPC));
- EXPECT_UNICODE(driver, unicode_map[DELTA_LOWERCASE]);
- }
-
- // Turn on Caps Word and tap "delta, space, delta".
- caps_word_on();
- tap_keys(key_delta, key_spc, key_delta);
-
- EXPECT_EQ(is_caps_word_on(), false);
- VERIFY_AND_CLEAR(driver);
-}
-
-// Tests typing U_ENDASH while Caps Word is on.
-TEST_F(CapsWord, UnshiftedUnicodeMapKey) {
- TestDriver driver;
- KeymapKey key_dash(0, 0, 0, U_DASH);
- set_keymap({key_dash});
-
- // Allow any number of reports with no keys or only KC_LSFT and KC_LCTL.
- // clang-format off
- EXPECT_CALL(driver, send_keyboard_mock(AnyOf(
- KeyboardReport(),
- KeyboardReport(KC_LSFT),
- KeyboardReport(KC_LCTL, KC_LSFT))))
- .Times(AnyNumber());
- // clang-format on
- EXPECT_UNICODE(driver, unicode_map[ENDASH]);
-
- // Turn on Caps Word and tap U_DASH key.
- caps_word_on();
- tap_key(key_dash);
-
- EXPECT_EQ(is_caps_word_on(), true);
- VERIFY_AND_CLEAR(driver);
-}