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()); expect(MaxLink.isMaxLink('max://max.ru/?cid=424242'), isTrue); }); }