committed by
dermotduffy
parent
591f466b92
commit
31d0c9322f
@@ -0,0 +1,50 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import { classifyMimeType } from '../../src/utils/mime-type';
|
||||
|
||||
describe('classifyMimeType', () => {
|
||||
it('classifies undefined as neither video nor HLS', () => {
|
||||
expect(classifyMimeType(undefined)).toEqual({ isHLS: false, isVideo: false });
|
||||
});
|
||||
|
||||
it('classifies an empty string as neither video nor HLS', () => {
|
||||
expect(classifyMimeType('')).toEqual({ isHLS: false, isVideo: false });
|
||||
});
|
||||
|
||||
it('classifies application/vnd.apple.mpegurl as HLS and video', () => {
|
||||
expect(classifyMimeType('application/vnd.apple.mpegurl')).toEqual({
|
||||
isHLS: true,
|
||||
isVideo: true,
|
||||
});
|
||||
});
|
||||
|
||||
it('classifies application/x-mpegurl as HLS and video', () => {
|
||||
expect(classifyMimeType('application/x-mpegurl')).toEqual({
|
||||
isHLS: true,
|
||||
isVideo: true,
|
||||
});
|
||||
});
|
||||
|
||||
it('treats HLS mime types as case-insensitive', () => {
|
||||
expect(classifyMimeType('application/x-mpegURL')).toEqual({
|
||||
isHLS: true,
|
||||
isVideo: true,
|
||||
});
|
||||
expect(classifyMimeType('APPLICATION/VND.APPLE.MPEGURL')).toEqual({
|
||||
isHLS: true,
|
||||
isVideo: true,
|
||||
});
|
||||
});
|
||||
|
||||
it('classifies video/* as video but not HLS', () => {
|
||||
expect(classifyMimeType('video/mp4')).toEqual({ isHLS: false, isVideo: true });
|
||||
expect(classifyMimeType('VIDEO/WEBM')).toEqual({ isHLS: false, isVideo: true });
|
||||
});
|
||||
|
||||
it('classifies non-video mime types as neither', () => {
|
||||
expect(classifyMimeType('image/jpeg')).toEqual({ isHLS: false, isVideo: false });
|
||||
expect(classifyMimeType('application/json')).toEqual({
|
||||
isHLS: false,
|
||||
isVideo: false,
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user