gabriel / musehub public
test_blob_language_detection.py python
60 lines 2.1 KB
Raw
sha256:d035733f21ccff27735fddebfbbe0ed24565a32a22db8de5885402262671ecd2 chore: bump version to 0.2.0rc15 for musehub#113 fix release Sonnet 4.6 patch 14 days ago
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") == ""
File History 11 commits
sha256:d035733f21ccff27735fddebfbbe0ed24565a32a22db8de5885402262671ecd2 chore: bump version to 0.2.0rc15 for musehub#113 fix release Sonnet 4.6 patch 14 days ago
sha256:0032d6cfa33bc3c8367436ad768e7dd0e339b4332153160247da8266cb5fa352 Merge branch 'task/version-tags-phase3-server' into dev Human 17 days ago
sha256:4669620efda9ff41c55bdefd1f7bfe1c239d468428744c84ead9957e5a003a53 merge: rescue snapshot-recovery hardening (c00aa21d) into d… Opus 4.8 minor 29 days ago
sha256:a59da49c4611b970fc4b6ae48678ce4943261c213a07ddbd73ce9201df869b4a fix: remove false-positive proposal_comments index drop fro… Sonnet 4.6 patch 33 days ago
sha256:0a240d6dbff234f07d98a28a4a9a68db702f3f9ff9260196f24219bdb1c0b6f3 feat: render markdown mists as HTML with heading anchor links Sonnet 4.6 patch 34 days ago
sha256:24a7d47486ebc4ebd1832830580e177ec6f877b48dced8c000e198cdec4ce9d6 Merge 'task/bump-version-rc12' into 'dev' — proposal: Bump … Human 35 days ago
sha256:b9ff931d147e0114a1f17060f415b89ed551c170a91ff226c70437aa5c85f9ee Merge 'task/bump-version-rc12' into 'dev' — proposal: Bump … Human 35 days ago
sha256:d1122d21e73471879b460037b22c0b50fded7c423444a176f248428f75dac39c Merge 'task/fix-issue-pagination-cursor' into 'dev' — propo… Human 35 days ago
sha256:01e18975e73d2b3cd5b6db7929c895bef9aa6e0d4391dc5b2adfc548b41318dd Merge 'feat/adding-debug-logs-to-staging' into 'dev' — prop… Human 35 days ago
sha256:6b1949fc2797ca4c1936a637a4cbfec828ef56cf52398a2e74ca3c4f494e728f fix: use wire_bytes not mpack_bytes_raw in compute_object_b… Sonnet 4.6 patch 48 days ago
sha256:b99f2455dc346966d040133f5203297e6e3ef5803a93728a2c30568d0a0f7583 rename: delta_add → delta_upsert across wire format, models… Sonnet 4.6 patch 50 days ago