mirror of
https://gitlab.com/famedly/fluffychat.git
synced 2024-11-16 00:49:31 +01:00
46 lines
2.0 KiB
Dart
46 lines
2.0 KiB
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:fluffychat/utils/matrix_identifier_string_extension.dart';
|
|
|
|
void main() {
|
|
group('Matrix Identifier String Extension', () {
|
|
test('parseIdentifierIntoParts', () {
|
|
var res = '#alias:beep'.parseIdentifierIntoParts();
|
|
expect(res.primaryIdentifier, '#alias:beep');
|
|
expect(res.secondaryIdentifier, null);
|
|
expect(res.queryString, null);
|
|
res = 'blha'.parseIdentifierIntoParts();
|
|
expect(res, null);
|
|
res = '#alias:beep/\$event'.parseIdentifierIntoParts();
|
|
expect(res.primaryIdentifier, '#alias:beep');
|
|
expect(res.secondaryIdentifier, '\$event');
|
|
expect(res.queryString, null);
|
|
res = '#alias:beep?blubb'.parseIdentifierIntoParts();
|
|
expect(res.primaryIdentifier, '#alias:beep');
|
|
expect(res.secondaryIdentifier, null);
|
|
expect(res.queryString, 'blubb');
|
|
res = '#alias:beep/\$event?blubb'.parseIdentifierIntoParts();
|
|
expect(res.primaryIdentifier, '#alias:beep');
|
|
expect(res.secondaryIdentifier, '\$event');
|
|
expect(res.queryString, 'blubb');
|
|
res = '#/\$?:beep/\$event?blubb?b'.parseIdentifierIntoParts();
|
|
expect(res.primaryIdentifier, '#/\$?:beep');
|
|
expect(res.secondaryIdentifier, '\$event');
|
|
expect(res.queryString, 'blubb?b');
|
|
|
|
res = 'https://matrix.to/#/#alias:beep'.parseIdentifierIntoParts();
|
|
expect(res.primaryIdentifier, '#alias:beep');
|
|
expect(res.secondaryIdentifier, null);
|
|
expect(res.queryString, null);
|
|
res = 'https://matrix.to/#/%23alias%3abeep'.parseIdentifierIntoParts();
|
|
expect(res.primaryIdentifier, '#alias:beep');
|
|
expect(res.secondaryIdentifier, null);
|
|
expect(res.queryString, null);
|
|
res = 'https://matrix.to/#/%23alias%3abeep?boop%F0%9F%A7%A1%F0%9F%A6%8A'
|
|
.parseIdentifierIntoParts();
|
|
expect(res.primaryIdentifier, '#alias:beep');
|
|
expect(res.secondaryIdentifier, null);
|
|
expect(res.queryString, 'boop%F0%9F%A7%A1%F0%9F%A6%8A');
|
|
});
|
|
});
|
|
}
|