youtube_explode/test/video_id_test.dart

42 lines
1.1 KiB
Dart

import 'package:test/test.dart';
import 'package:youtube_explode_dart/youtube_explode_dart.dart';
void main() {
group('These are valid video ids', () {
for (final val in {'9bZkp7q19f0', '_kmeFXjjGfk', 'AI7ULzgf8RU'}) {
test('VideoID - $val', () {
expect(VideoId(val).value, val);
});
}
});
group('These are valid video urls', () {
for (final val in {
['youtube.com/watch?v=yIVRs6YSbOM', 'yIVRs6YSbOM'],
['youtu.be/yIVRs6YSbOM', 'yIVRs6YSbOM'],
['youtube.com/embed/yIVRs6YSbOM', 'yIVRs6YSbOM'],
}) {
test('Video - $val', () {
expect(VideoId(val[0]).value, val[1]);
});
}
});
group('These are not valid video ids', () {
for (final val in {'', 'pI2I2zqzeK', 'pI2I2z zeKg'}) {
test('VideoID - $val', () {
expect(() => VideoId(val), throwsArgumentError);
});
}
});
group('These are not valid video urls', () {
for (final val in {
'youtube.com/xxx?v=pI2I2zqzeKg',
'youtu.be/watch?v=xxx',
'youtube.com/embed'
}) {
test('VideoURL - $val', () {
expect(() => VideoId(val), throwsArgumentError);
});
}
});
}