Files
orca/src/shared/binary-file-extensions.test.ts
T
OrcaWinandOrcaWin fe3cb24a04 test: consolidate UUID coverage and verify input boundaries (#33073)
* test: consolidate UUID coverage and exercise dotfile boundaries

* test: verify skill selector boundary and describe actual fixtures

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 00:28:32 -07:00

27 lines
1.1 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { hasBinaryFileExtension } from './binary-file-extensions'
describe('hasBinaryFileExtension', () => {
it('matches known binary extensions case-insensitively', () => {
expect(hasBinaryFileExtension('docs/Shot.PNG')).toBe(true)
expect(hasBinaryFileExtension('vendor/lib.tar.gz')).toBe(true)
expect(hasBinaryFileExtension('C:\\assets\\theme.woff2')).toBe(true)
})
it('treats svg as text because the diff view renders its source', () => {
expect(hasBinaryFileExtension('assets/map.svg')).toBe(false)
})
it('rejects text files, dotfiles, and extensionless paths', () => {
expect(hasBinaryFileExtension('src/index.ts')).toBe(false)
expect(hasBinaryFileExtension('.png')).toBe(false)
expect(hasBinaryFileExtension('scripts/.png')).toBe(false)
expect(hasBinaryFileExtension('Makefile')).toBe(false)
expect(hasBinaryFileExtension(undefined)).toBe(false)
})
it('does not match an extension that only appears in a directory name', () => {
expect(hasBinaryFileExtension('build.zip/manifest')).toBe(false)
})
})