at master 1.2 kB view raw
1import qmk.keymap 2 3 4def test_generate_c_pytest_basic(): 5 keymap_json = { 6 'keyboard': 'handwired/pytest/basic', 7 'layout': 'LAYOUT', 8 'layers': [['KC_A']], 9 'macros': None, 10 } 11 templ = qmk.keymap.generate_c(keymap_json) 12 assert templ == """#include QMK_KEYBOARD_H 13#if __has_include("keymap.h") 14# include "keymap.h" 15#endif 16 17 18/* THIS FILE WAS GENERATED! 19 * 20 * This file was generated by qmk json2c. You may or may not want to 21 * edit it directly. 22 */ 23 24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 25 [0] = LAYOUT(KC_A) 26}; 27 28 29 30 31#ifdef OTHER_KEYMAP_C 32# include OTHER_KEYMAP_C 33#endif // OTHER_KEYMAP_C 34""" 35 36 37def test_generate_json_pytest_basic(): 38 templ = qmk.keymap.generate_json('default', 'handwired/pytest/basic', 'LAYOUT', [['KC_A']]) 39 assert templ == {"keyboard": "handwired/pytest/basic", "keymap": "default", "layout": "LAYOUT", "layers": [["KC_A"]]} 40 41 42def test_parse_keymap_c(): 43 parsed_keymap_c = qmk.keymap.parse_keymap_c('keyboards/handwired/pytest/basic/keymaps/default/keymap.c') 44 assert parsed_keymap_c == {'layers': [{'name': '0', 'layout': 'LAYOUT_ortho_1x1', 'keycodes': ['KC_A']}]} 45 46 47# FIXME(skullydazed): Add a test for qmk.keymap.write that mocks up an FD.