summaryrefslogtreecommitdiff
path: root/lib/python/qmk/tests
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2024-11-24 20:32:30 +1100
committerGitHub <noreply@github.com>2024-11-24 20:32:30 +1100
commit7d8f193988495deb0e12ad79d5104d30c0724bf9 (patch)
treebff63d89048b699e393e8f65ec1c059f0d953d0c /lib/python/qmk/tests
parent859dab864a0738f577d1da8e7189748ed8109c44 (diff)
Allow codegen of `keymap.json` => `keymap.c` without requiring layers/layout etc. (#23451)
Diffstat (limited to 'lib/python/qmk/tests')
-rw-r--r--lib/python/qmk/tests/test_cli_commands.py24
-rw-r--r--lib/python/qmk/tests/test_qmk_keymap.py9
2 files changed, 12 insertions, 21 deletions
diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py
index b10fd8d19d..dd659fe0f2 100644
--- a/lib/python/qmk/tests/test_cli_commands.py
+++ b/lib/python/qmk/tests/test_cli_commands.py
@@ -152,17 +152,16 @@ def test_json2c():
152 * This file was generated by qmk json2c. You may or may not want to 152 * This file was generated by qmk json2c. You may or may not want to
153 * edit it directly. 153 * edit it directly.
154 */ 154 */
155
155const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 156const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
156 [0] = LAYOUT_ortho_1x1(KC_A) 157 [0] = LAYOUT_ortho_1x1(KC_A)
157}; 158};
158 159
159#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
160const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
161
162};
163#endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
164 160
165 161
162#ifdef OTHER_KEYMAP_C
163# include OTHER_KEYMAP_C
164#endif // OTHER_KEYMAP_C
166 165
167 166
168""" 167"""
@@ -190,28 +189,21 @@ def test_json2c_stdin():
190 * This file was generated by qmk json2c. You may or may not want to 189 * This file was generated by qmk json2c. You may or may not want to
191 * edit it directly. 190 * edit it directly.
192 */ 191 */
192
193const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 193const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
194 [0] = LAYOUT_ortho_1x1(KC_A) 194 [0] = LAYOUT_ortho_1x1(KC_A)
195}; 195};
196 196
197#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
198const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
199
200};
201#endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
202 197
203 198
199#ifdef OTHER_KEYMAP_C
200# include OTHER_KEYMAP_C
201#endif // OTHER_KEYMAP_C
204 202
205 203
206""" 204"""
207 205
208 206
209def test_json2c_wrong_json():
210 result = check_subcommand('json2c', 'keyboards/handwired/pytest/info.json')
211 check_returncode(result, [1])
212 assert 'Invalid JSON keymap' in result.stdout
213
214
215def test_json2c_no_json(): 207def test_json2c_no_json():
216 result = check_subcommand('json2c', 'keyboards/handwired/pytest/basic/keymaps/default/keymap.c') 208 result = check_subcommand('json2c', 'keyboards/handwired/pytest/basic/keymaps/default/keymap.c')
217 check_returncode(result, [1]) 209 check_returncode(result, [1])
diff --git a/lib/python/qmk/tests/test_qmk_keymap.py b/lib/python/qmk/tests/test_qmk_keymap.py
index 7482848eff..80cc679b00 100644
--- a/lib/python/qmk/tests/test_qmk_keymap.py
+++ b/lib/python/qmk/tests/test_qmk_keymap.py
@@ -20,17 +20,16 @@ def test_generate_c_pytest_basic():
20 * This file was generated by qmk json2c. You may or may not want to 20 * This file was generated by qmk json2c. You may or may not want to
21 * edit it directly. 21 * edit it directly.
22 */ 22 */
23
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 [0] = LAYOUT(KC_A) 25 [0] = LAYOUT(KC_A)
25}; 26};
26 27
27#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
28const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
29
30};
31#endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
32 28
33 29
30#ifdef OTHER_KEYMAP_C
31# include OTHER_KEYMAP_C
32#endif // OTHER_KEYMAP_C
34""" 33"""
35 34
36 35