gabriel / musehub public

test_blob_language_detection.py file-level

at sha256:3 · View file ↗ · Intel ↗

History
1 files
1 commits
0 hotspots
0 🧊 dead
0 💥 blast risk
sha256:0 fix: fall back to any indexed mpack in read_object_bytes when push mpac… · gabriel · Jun 17, 2026
1 """Unit tests for blob language detection (_detect_language in ui_blob.py).
2
3 Covers:
4 _detect_language
5 - test_detects_toml_by_extension
6 - test_detects_python_by_extension
7 - test_detects_bash_by_sh_extension
8 - test_detects_bash_by_bats_extension
9 - test_detects_museattributes_as_toml
10 - test_detects_museignore_as_plaintext
11 - test_detects_muse_config_toml_as_toml
12 - test_unknown_extension_returns_empty
13 - test_no_extension_dotfile_without_mapping_returns_empty
14 """
15 from __future__ import annotations
16
17 import pytest
18
19 from musehub.api.routes.musehub.ui_blob import _detect_language
20
21
22 class TestDetectLanguage:
23 def test_detects_toml_by_extension(self) -> None:
24 assert _detect_language("pyproject.toml") == "toml"
25
26 def test_detects_python_by_extension(self) -> None:
27 assert _detect_language("main.py") == "python"
28
29 def test_detects_bash_by_sh_extension(self) -> None:
30 assert _detect_language("install.sh") == "bash"
31
32 def test_detects_bash_by_bats_extension(self) -> None:
33 assert _detect_language("tests/test_plugin.bats") == "bash"
34
35 def test_detects_museattributes_as_toml(self) -> None:
36 assert _detect_language(".museattributes") == "toml"
37
38 def test_detects_museignore_as_toml(self) -> None:
39 assert _detect_language(".museignore") == "toml"
40
41 def test_detects_nested_museattributes_as_toml(self) -> None:
42 assert _detect_language("subdir/.museattributes") == "toml"
43
44 def test_detects_muse_config_toml_as_toml(self) -> None:
45 assert _detect_language(".muse/code_config.toml") == "toml"
46
47 def test_detects_zsh_completion_root(self) -> None:
48 assert _detect_language("_muse") == "bash"
49
50 def test_detects_zsh_completion_nested(self) -> None:
51 assert _detect_language("completions/_muse") == "bash"
52
53 def test_detects_zsh_completion_generic(self) -> None:
54 assert _detect_language("_git") == "bash"
55
56 def test_unknown_extension_returns_empty(self) -> None:
57 assert _detect_language("data.bin") == ""
58
59 def test_no_extension_unknown_dotfile_returns_empty(self) -> None:
60 assert _detect_language(".somethingelse") == ""