- Notifications
You must be signed in to change notification settings - Fork 37
Open
Description
After having disabled mypy (because of issue #221), I get the following error:
$ poetry run make ruff format kalamine 16 files left unchanged ruff check --fix kalamine All checks passed! ruff format --check kalamine 16 files already formatted ruff check kalamine All checks passed! # mypy kalamine python3 -m kalamine.cli guide > docs/README.md python3 -m kalamine.cli build layouts/*.toml ... dist/q-ansi.ahk `us` is not a valid locale ... dist/q-ansi.klc ... dist/q-ansi.keylayout ... dist/q-ansi.xkb_keymap ... dist/q-ansi.xkb_symbols ... dist/q-ansi.json ... dist/q-ansi.svg ... dist/q-intl.ahk `us` is not a valid locale ... dist/q-intl.klc ... dist/q-intl.keylayout ... dist/q-intl.xkb_keymap ... dist/q-intl.xkb_symbols ... dist/q-intl.json ... dist/q-intl.svg ... dist/q-prog.ahk `us` is not a valid locale ... dist/q-prog.klc ... dist/q-prog.keylayout ... dist/q-prog.xkb_keymap ... dist/q-prog.xkb_symbols ... dist/q-prog.json ... dist/q-prog.svg python3 -m pytest ======================================= test session starts ======================================= platform darwin -- Python 3.10.9, pytest-8.4.1, pluggy-1.6.0 rootdir: /Users/nojhan/code/kalamine configfile: pyproject.toml collected 19 items tests/test_macos.py F [ 5%] tests/test_parser.py ... [ 21%] tests/test_serializer_ahk.py ... [ 36%] tests/test_serializer_keylayout.py ... [ 52%] tests/test_serializer_klc.py ...... [ 84%] tests/test_serializer_xkb.py ... [100%] ============================================ FAILURES ============================================= _________________________________________ test_keylayouts _________________________________________ def test_keylayouts(): > check_keylayout("q-ansi") tests/test_macos.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = 'q-ansi' def check_keylayout(filename: str): path = Path(__file__).parent.parent / f"dist/{filename}.keylayout" tree = etree.parse(path, etree.XMLParser(recover=True)) dead_keys = [] # check all keymaps/layers: base, shift, caps, option, option+shift for keymap_index in range(5): keymap_query = f'//keyMap[@index="{keymap_index}"]' keymap = tree.xpath(keymap_query) assert len(keymap) == 1, f"{keymap_query} should be unique" # check all key codes for this keymap / layer # (the key codes below are not used, I don't know why) excluded_keys = [ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 68, 73, 74, 90, 93, 94, 95, ] for key_index in range(126): if key_index in excluded_keys: continue # ensure the key is defined and unique key_query = f'{keymap_query}/key[@code="{key_index}"]' key = tree.xpath(key_query) assert len(key) == 1, f"{key_query} should be unique" # ensure the key has either a direct output or a valid action action_id = key[0].get("action") if action_id: if action_id.startswith("dead_"): dead_keys.append(action_id[5:]) action_query = f'//actions/action[@id="{action_id}"]' action = tree.xpath(action_query) assert len(action) == 1, f"{action_query} should be unique" assert ( len(action_id) > 1 ), f"{key_query} should have a multi-char action ID" else: assert ( > len(key[0].get("output")) <= 1 ), f"{key_query} should have a one-char output" E TypeError: object of type 'NoneType' has no len() tests/test_macos.py:60: TypeError ===================================== short test summary info ===================================== FAILED tests/test_macos.py::test_keylayouts - TypeError: object of type 'NoneType' has no len() ================================== 1 failed, 18 passed in 1.79s =================================== make: *** [test] Error 1 Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels