import 'package:flutter_test/flutter_test.dart'; import 'package:pluriwave/servicios/musica_local_auto.dart'; void main() { group('esArchivoAudio', () { test('acepta cualquier MIME audio/*, en cualquier capitalización', () { expect(esArchivoAudio('audio/mpeg', 'cancion.mp3'), isTrue); expect(esArchivoAudio('audio/flac', 'cancion.flac'), isTrue); expect(esArchivoAudio('AUDIO/OGG', 'cancion.ogg'), isTrue); }); test( 'rechaza MIME no-audio aunque el nombre tenga una extensión de ' 'audio (defensa contra un MIME nativo incorrecto)', () { expect(esArchivoAudio('video/mp4', 'cancion.mp3'), isFalse); expect( esArchivoAudio('application/octet-stream', 'cancion.mp3'), isFalse, ); expect(esArchivoAudio('text/plain', 'notas.mp3'), isFalse); }, ); test('rechaza MIME null, vacío o en blanco', () { expect(esArchivoAudio(null, 'cancion.mp3'), isFalse); expect(esArchivoAudio('', 'cancion.mp3'), isFalse); expect(esArchivoAudio(' ', 'cancion.mp3'), isFalse); }); test( 'rechaza nombre null, vacío o en blanco aunque el MIME sea audio ' 'válido', () { expect(esArchivoAudio('audio/mpeg', null), isFalse); expect(esArchivoAudio('audio/mpeg', ''), isFalse); expect(esArchivoAudio('audio/mpeg', ' '), isFalse); }, ); }); }