aboutsummaryrefslogtreecommitdiff
path: root/webAO/__tests__/isAudio.test.ts
blob: f5b84ef9537efb35937306d7766b8146a03e6cea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { isAudio } from '../client/isAudio';

// Test cases
describe('isAudio', () => {
  test('should return true for valid audio file extensions', () => {
    expect(isAudio('song.wav')).toBe(true);
    expect(isAudio('music.mp3')).toBe(true);
    expect(isAudio('track.ogg')).toBe(true);
    expect(isAudio('audio.opus')).toBe(true);
  });

  test('should return false for non-audio file extensions', () => {
    expect(isAudio('image.jpg')).toBe(false);
    expect(isAudio('document.pdf')).toBe(false);
    expect(isAudio('text.txt')).toBe(false);
  });

  test('should handle edge cases', () => {
    expect(isAudio('')).toBe(false); // Empty string
    expect(isAudio(undefined)).toBe(false); // Undefined input
    expect(isAudio(null)).toBe(false); // Null input
  });

  test('should return true for files with multiple valid extensions', () => {
    expect(isAudio('file.wav.mp3')).toBe(true);
    expect(isAudio('track.ogg.opus')).toBe(true);
  });
});