import { describe, it, expect } from 'vitest'; import { extractExtension, stripExtension } from '../src/archiveExtensions.js'; describe('extractExtension', () => { it('returns the simple extension for a normal filename', () => { expect(extractExtension('photo.PNG')).toBe('png'); }); it('recognizes tar.gz as a single compound extension', () => { expect(extractExtension('backup.TAR.GZ')).toBe('tar.gz'); }); it('recognizes tar.bz2 as a single compound extension', () => { expect(extractExtension('backup.tar.bz2')).toBe('tar.bz2'); }); it('recognizes tar.7z as a single compound extension', () => { expect(extractExtension('backup.tar.7z')).toBe('tar.7z'); }); it('does not treat an unrelated double extension as compound', () => { expect(extractExtension('archive.zip.bak')).toBe('bak'); }); }); describe('stripExtension', () => { it('strips a simple extension', () => { expect(stripExtension('photo.png')).toBe('photo'); }); it('strips a compound tar.gz extension, keeping the rest of the name intact', () => { expect(stripExtension('my.backup.tar.gz')).toBe('my.backup'); }); });