Files
Qlyra/test/webview_scheme_test.dart
T
sevenhill 50816588e4
Build Android (FCM) / build-android-fcm (push) Canceled after 0s
Build Android / build-android (push) Canceled after 0s
Build iOS / build-ios (push) Canceled after 0s
Build Linux / build-linux (push) Canceled after 0s
Build macOS / build-macos (push) Canceled after 0s
Build Windows / build-windows (push) Canceled after 0s
Release (main) / android (oneme) (push) Canceled after 0s
Release (main) / android (qlyra) (push) Canceled after 0s
Release (main) / windows (push) Canceled after 0s
Release (main) / linux (push) Canceled after 0s
Release (main) / macos (push) Canceled after 0s
Release (main) / ios (push) Canceled after 0s
Release (main) / release (push) Canceled after 0s
Update Qlyra application
2026-08-30 22:53:15 +03:00

37 lines
1.0 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:qlyra/core/links/max_link.dart';
import 'package:qlyra/core/utils/link_opener.dart';
void main() {
group('leavesWebView', () {
test('keeps page navigation inside the web view', () {
for (final scheme in [
'http',
'https',
'HTTPS',
'about',
'data',
'blob',
]) {
expect(leavesWebView(scheme), isFalse, reason: scheme);
}
});
test('hands app schemes over to the app', () {
for (final scheme in ['max', 'MAX', 'qlyra', 'tel', 'mailto', 'intent']) {
expect(leavesWebView(scheme), isTrue, reason: scheme);
}
});
test('treats a missing scheme as in-page', () {
expect(leavesWebView(null), isFalse);
expect(leavesWebView(''), isFalse);
});
});
test('a max deep link from a web view resolves to in-app content', () {
expect(MaxLink.parse('max://max.ru/somechannel'), isA<MaxContentLink>());
expect(MaxLink.isMaxLink('max://max.ru/?cid=424242'), isTrue);
});
}