Add comprehensive unit tests to cover all code paths in the Bun
language implementation:
- Platform detection tests for darwin, linux, windows, and unsupported
platforms
- Version normalization tests for all format variations (default,
plain numbers, v-prefix, bun-v-prefix)
- HTTP error handling tests for 404 and other error codes
- Binary extraction edge case tests for missing directories and
missing executables
- System version installation path test to verify binary download
is skipped when using system bun
Coverage increased from 87% to 100% with no lines or branches missing.
All tests use mocks to avoid requiring network calls or platform-specific
behavior, ensuring fast and reliable test execution.
Implements Bun as a new language option for pre-commit hooks, enabling
hooks to run using the Bun JavaScript runtime and package manager.
- Add bun.py language implementation with binary download/install
- Support system-installed Bun or automatic version download
- Add comprehensive tests including version handling and hook execution
- Register bun in all_languages.py
- Include test repository fixture for integration tests