youtube_explode/test/user_name_test.dart

36 lines
1.2 KiB
Dart
Raw Normal View History

2020-06-05 16:17:08 +02:00
import 'package:test/test.dart';
import 'package:youtube_explode_dart/youtube_explode_dart.dart';
void main() {
group('Username', () {
test('ValidUsername', () {
var data = const {'TheTyrrr', 'KannibalenRecords', 'JClayton1994'};
// ignore: avoid_function_literals_in_foreach_calls
data.forEach((usernameStr) {
var username = Username(usernameStr);
expect(username.value, usernameStr);
});
});
test('ValidUsernameUrl', () {
var data = const {
'youtube.com/user/ProZD': 'ProZD',
'youtube.com/user/TheTyrrr': 'TheTyrrr',
};
data.forEach((url, usernameStr) {
var username = Username(url);
expect(username.value, usernameStr);
});
});
test('InvalidUsername', () {
expect(() => Username('The_Tyrrr'), throwsArgumentError);
expect(() => Username('0123456789ABCDEFGHIJK'), throwsArgumentError);
expect(() => Username('A1B2C3-'), throwsArgumentError);
expect(() => Username('=0123456789ABCDEF'), throwsArgumentError);
});
test('InvalidUsernameUrl', () {
expect(() => Username('youtube.com/user/P_roZD'), throwsArgumentError);
expect(() => Username('youtube.com/user/P_roZD'), throwsArgumentError);
});
});
}