import { describe, it, expect } from 'vitest'; import path from 'path'; const { isMediaFile } = require('../utils/fileUtils'); describe('isMediaFile', () => { it('returns true for supported extensions', () => { expect(isMediaFile('/path/to/video.mp4')).toBe(true); expect(isMediaFile('/path/to/video.mkv')).toBe(true); expect(isMediaFile('/path/to/video.avi')).toBe(true); expect(isMediaFile('/path/to/video.mov')).toBe(true); expect(isMediaFile('/path/to/video.flv')).toBe(true); expect(isMediaFile('/path/to/video.webm')).toBe(true); }); it('returns false for non-media extensions', () => { expect(isMediaFile('/path/to/file.txt')).toBe(false); expect(isMediaFile('/path/to/file.pdf')).toBe(false); expect(isMediaFile('/path/to/file.jpg')).toBe(false); expect(isMediaFile('/path/to/file.mp3')).toBe(false); }); it('handles uppercase extensions', () => { expect(isMediaFile('/path/to/video.MP4')).toBe(true); expect(isMediaFile('/path/to/video.MKV')).toBe(true); }); it('handles files without extension', () => { expect(isMediaFile('/path/to/video')).toBe(false); }); it('handles empty path', () => { expect(isMediaFile('')).toBe(false); }); it('handles deep nested paths', () => { expect(isMediaFile('/very/deep/nested/path/to/episode.mp4')).toBe(true); }); it('handles windows-style paths', () => { expect(isMediaFile('C:\\Users\\video.mkv')).toBe(true); }); });