youtube_explode/test/playlist_id_test.dart

60 lines
2.2 KiB
Dart

import 'package:test/test.dart';
import 'package:youtube_explode_dart/youtube_explode_dart.dart';
void main() {
group('PlaylistId', () {
test('ValidPlaylistId', () {
var data = const {
'PL601B2E69B03FAB9D',
'PLI5YfMzCfRtZ8eV576YoY3vIYrHjyVm_e',
'PLWwAypAcFRgKFlxtLbn_u14zddtDJj3mk',
'OLAK5uy_mtOdjCW76nDvf5yOzgcAVMYpJ5gcW5uKU',
'RD1hu8-y6fKg0',
'RDMMU-ty-2B02VY',
'RDCLAK5uy_lf8okgl2ygD075nhnJVjlfhwp8NsUgEbs',
'ULl6WWX-BgIiE',
'UUTMt7iMWa7jy0fNXIktwyLA',
'OLAK5uy_lLeonUugocG5J0EUAEDmbskX4emejKwcM',
'FLEnBXANsKmyj2r9xVyKoDiQ'
};
// ignore: avoid_function_literals_in_foreach_calls
data.forEach((playlistId) {
var playlist = PlaylistId(playlistId);
expect(playlist.value, playlistId);
});
});
test('ValidPlaylistUrl', () {
var data = const {
'youtube.com/playlist?list=PLOU2XLYxmsIJGErt5rrCqaSGTMyyqNt2H':
'PLOU2XLYxmsIJGErt5rrCqaSGTMyyqNt2H',
'youtube.com/watch?v=b8m9zhNAgKs&list=PL9tY0BWXOZFuFEG_GtOBZ8-8wbkH-NVAr':
'PL9tY0BWXOZFuFEG_GtOBZ8-8wbkH-NVAr',
'youtu.be/b8m9zhNAgKs/?list=PL9tY0BWXOZFuFEG_GtOBZ8-8wbkH-NVAr':
'PL9tY0BWXOZFuFEG_GtOBZ8-8wbkH-NVAr',
'youtube.com/embed/b8m9zhNAgKs/?list=PL9tY0BWXOZFuFEG_GtOBZ8-8wbkH-NVAr':
'PL9tY0BWXOZFuFEG_GtOBZ8-8wbkH-NVAr',
'youtube.com/watch?v=x2ZRoWQ0grU&list=RDEMNJhLy4rECJ_fG8NL-joqsg':
'RDEMNJhLy4rECJ_fG8NL-joqsg'
};
data.forEach((url, playlistId) {
var playlist = PlaylistId(playlistId);
expect(playlist.value, playlistId);
});
});
test('InvalidPlaylistId', () {
expect(() => PlaylistId('PLm_3vnTS-pvmZFuF L1Pyhqf8kTTYVKjW'),
throwsArgumentError);
expect(() => PlaylistId('PLm_3vnTS-pvmZFuF3L=Pyhqf8kTTYVKjW'),
throwsArgumentError);
});
test('InvalidPlaylistUrl', () {
expect(() => PlaylistId('youtube.com/playlist?lisp=PLOU2XLYxmsIJGErt5rrCqaSGTMyyqNt2H'),
throwsArgumentError);
expect(() => PlaylistId('youtube.com/playlist?list=asd'),
throwsArgumentError);
expect(() => PlaylistId('youtube.com/'),
throwsArgumentError);
});
});
}