test_qmk_keymap.py (1248B)
- import qmk.keymap
- def test_generate_c_pytest_basic():
- keymap_json = {
- 'keyboard': 'handwired/pytest/basic',
- 'layout': 'LAYOUT',
- 'layers': [['KC_A']],
- 'macros': None,
- }
- templ = qmk.keymap.generate_c(keymap_json)
- assert templ == """#include QMK_KEYBOARD_H
- #if __has_include("keymap.h")
- # include "keymap.h"
- #endif
- /* THIS FILE WAS GENERATED!
- *
- * This file was generated by qmk json2c. You may or may not want to
- * edit it directly.
- */
- const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(KC_A)
- };
- #ifdef OTHER_KEYMAP_C
- # include OTHER_KEYMAP_C
- #endif // OTHER_KEYMAP_C
- """
- def test_generate_json_pytest_basic():
- templ = qmk.keymap.generate_json('default', 'handwired/pytest/basic', 'LAYOUT', [['KC_A']])
- assert templ == {"keyboard": "handwired/pytest/basic", "keymap": "default", "layout": "LAYOUT", "layers": [["KC_A"]]}
- def test_parse_keymap_c():
- parsed_keymap_c = qmk.keymap.parse_keymap_c('keyboards/handwired/pytest/basic/keymaps/default/keymap.c')
- assert parsed_keymap_c == {'layers': [{'name': '0', 'layout': 'LAYOUT_ortho_1x1', 'keycodes': ['KC_A']}]}
- # FIXME(skullydazed): Add a test for qmk.keymap.write that mocks up an FD.