124 lines
3.3 KiB
Dart
124 lines
3.3 KiB
Dart
import 'package:core/presentation/utils/html_transformer/sanitize_url.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
group('SanitizeUrl test', () {
|
|
final sanitizeUrl = SanitizeUrl();
|
|
|
|
test('SHOULD return valid url WHEN input text is valid url start with https', () {
|
|
final validUrl = sanitizeUrl.process('https://linagora.com');
|
|
expect(
|
|
validUrl,
|
|
equals('https://linagora.com')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return valid url WHEN input text is valid url start with http', () {
|
|
final validUrl = sanitizeUrl.process('http://linagora.com');
|
|
expect(
|
|
validUrl,
|
|
equals('http://linagora.com')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return valid url WHEN input text start with www', () {
|
|
final validUrl = sanitizeUrl.process('www.linagora.com');
|
|
expect(
|
|
validUrl,
|
|
equals('https://www.linagora.com')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return valid url WHEN input text start with valid domain', () {
|
|
final validUrl = sanitizeUrl.process('linagora.com');
|
|
expect(
|
|
validUrl,
|
|
equals('https://linagora.com')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return empty string text WHEN input text is empty', () {
|
|
final validUrl = sanitizeUrl.process('');
|
|
expect(
|
|
validUrl,
|
|
equals('')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return empty string text WHEN input text not contain url', () {
|
|
final validUrl = sanitizeUrl.process('Linagora Company');
|
|
expect(
|
|
validUrl,
|
|
equals('')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return empty string text WHEN input text is email address', () {
|
|
final validUrl = sanitizeUrl.process('example@linagora.com');
|
|
expect(
|
|
validUrl,
|
|
equals('')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return empty string text WHEN input text is mailto link', () {
|
|
final validUrl = sanitizeUrl.process('mailto:example@linagora.com');
|
|
expect(
|
|
validUrl,
|
|
equals('')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return empty string text WHEN input text is invalid url', () {
|
|
final validUrl = sanitizeUrl.process('linagora mail.com');
|
|
expect(
|
|
validUrl,
|
|
equals('')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return empty string WHEN input text start with //', () {
|
|
final validUrl = sanitizeUrl.process('//linagora.com');
|
|
expect(
|
|
validUrl,
|
|
equals('')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return empty string WHEN input text start with /', () {
|
|
final validUrl = sanitizeUrl.process('/linagora.com');
|
|
expect(
|
|
validUrl,
|
|
equals('')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return valid url WHEN input text is url encoded start with https', () {
|
|
final validUrl = sanitizeUrl.process('https%3A%2F%2Flinagora.com');
|
|
expect(
|
|
validUrl,
|
|
equals('https://linagora.com')
|
|
);
|
|
});
|
|
|
|
test('SHOULD return valid url WHEN input text is url encoded start with http', () {
|
|
final validUrl = sanitizeUrl.process('http%3A%2F%2Flinagora.com');
|
|
expect(
|
|
validUrl,
|
|
equals('http://linagora.com')
|
|
);
|
|
});
|
|
|
|
test('SHOULD returns original input WHEN get an exception', () {
|
|
// Arrange
|
|
const inputText = "%E0%A4%A";
|
|
const expectedOutput = inputText;
|
|
|
|
// Act
|
|
final result = sanitizeUrl.process(inputText);
|
|
|
|
// Assert
|
|
expect(result, expectedOutput);
|
|
});
|
|
});
|
|
} |