2019-08-22 06:40:24 +00:00
import qmk . keymap
2019-08-22 06:46:51 +00:00
2021-01-05 00:52:31 +00:00
def test_template_c_pytest_basic ( ) :
templ = qmk . keymap . template_c ( ' handwired/pytest/basic ' )
2019-08-22 06:40:24 +00:00
assert templ == qmk . keymap . DEFAULT_KEYMAP_C
2021-01-05 00:52:31 +00:00
def test_template_json_pytest_basic ( ) :
templ = qmk . keymap . template_json ( ' handwired/pytest/basic ' )
assert templ == { ' keyboard ' : ' handwired/pytest/basic ' }
2020-10-07 00:10:19 +00:00
2021-01-05 00:52:31 +00:00
def test_template_c_pytest_has_template ( ) :
templ = qmk . keymap . template_c ( ' handwired/pytest/has_template ' )
2020-05-26 15:43:33 +00:00
assert templ == ' #include QMK_KEYBOARD_H \n const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {__KEYMAP_GOES_HERE__} ; \n '
2019-08-22 06:40:24 +00:00
2021-01-05 00:52:31 +00:00
def test_template_json_pytest_has_template ( ) :
templ = qmk . keymap . template_json ( ' handwired/pytest/has_template ' )
assert templ == { ' keyboard ' : ' handwired/pytest/has_template ' , " documentation " : " This file is a keymap.json file for handwired/pytest/has_template " }
2020-10-07 00:10:19 +00:00
2021-01-05 00:52:31 +00:00
def test_generate_c_pytest_has_template ( ) :
2021-11-22 19:11:35 +00:00
keymap_json = {
' keyboard ' : ' handwired/pytest/has_template ' ,
' layout ' : ' LAYOUT ' ,
' layers ' : [ [ ' KC_A ' ] ] ,
' macros ' : None ,
}
templ = qmk . keymap . generate_c ( keymap_json )
2020-05-26 15:43:33 +00:00
assert templ == ' #include QMK_KEYBOARD_H \n const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \t [0] = LAYOUT(KC_A)}; \n '
2019-08-22 06:40:24 +00:00
2021-01-05 00:52:31 +00:00
def test_generate_json_pytest_has_template ( ) :
templ = qmk . keymap . generate_json ( ' default ' , ' handwired/pytest/has_template ' , ' LAYOUT ' , [ [ ' KC_A ' ] ] )
assert templ == { " keyboard " : " handwired/pytest/has_template " , " documentation " : " This file is a keymap.json file for handwired/pytest/has_template " , " keymap " : " default " , " layout " : " LAYOUT " , " layers " : [ [ " KC_A " ] ] }
2020-10-07 00:10:19 +00:00
def test_parse_keymap_c ( ) :
2021-01-05 00:52:31 +00:00
parsed_keymap_c = qmk . keymap . parse_keymap_c ( ' keyboards/handwired/pytest/basic/keymaps/default/keymap.c ' )
2020-10-07 00:10:19 +00:00
assert parsed_keymap_c == { ' layers ' : [ { ' name ' : ' 0 ' , ' layout ' : ' LAYOUT_ortho_1x1 ' , ' keycodes ' : [ ' KC_A ' ] } ] }
2019-08-22 06:40:24 +00:00
# FIXME(skullydazed): Add a test for qmk.keymap.write that mocks up an FD.