"""Unit tests for blob language detection (_detect_language in ui_blob.py). Covers: _detect_language - test_detects_toml_by_extension - test_detects_python_by_extension - test_detects_bash_by_sh_extension - test_detects_bash_by_bats_extension - test_detects_museattributes_as_toml - test_detects_museignore_as_plaintext - test_detects_muse_config_toml_as_toml - test_unknown_extension_returns_empty - test_no_extension_dotfile_without_mapping_returns_empty """ from __future__ import annotations import pytest from musehub.api.routes.musehub.ui_blob import _detect_language class TestDetectLanguage: def test_detects_toml_by_extension(self) -> None: assert _detect_language("pyproject.toml") == "toml" def test_detects_python_by_extension(self) -> None: assert _detect_language("main.py") == "python" def test_detects_bash_by_sh_extension(self) -> None: assert _detect_language("install.sh") == "bash" def test_detects_bash_by_bats_extension(self) -> None: assert _detect_language("tests/test_plugin.bats") == "bash" def test_detects_museattributes_as_toml(self) -> None: assert _detect_language(".museattributes") == "toml" def test_detects_museignore_as_toml(self) -> None: assert _detect_language(".museignore") == "toml" def test_detects_nested_museattributes_as_toml(self) -> None: assert _detect_language("subdir/.museattributes") == "toml" def test_detects_muse_config_toml_as_toml(self) -> None: assert _detect_language(".muse/code_config.toml") == "toml" def test_detects_zsh_completion_root(self) -> None: assert _detect_language("_muse") == "bash" def test_detects_zsh_completion_nested(self) -> None: assert _detect_language("completions/_muse") == "bash" def test_detects_zsh_completion_generic(self) -> None: assert _detect_language("_git") == "bash" def test_unknown_extension_returns_empty(self) -> None: assert _detect_language("data.bin") == "" def test_no_extension_unknown_dotfile_returns_empty(self) -> None: assert _detect_language(".somethingelse") == ""