mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 13:22:31 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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)
 | |
| };
 | |
| 
 | |
| #if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
 | |
| const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | |
| 
 | |
| };
 | |
| #endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
 | |
| 
 | |
| 
 | |
| """
 | |
| 
 | |
| 
 | |
| 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.
 | 
