60 lines
2.2 KiB
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);
|
|
});
|
|
});
|
|
}
|