iosWebViewFix/example/integration_test/chrome_safari_browser/trusted_web_activity.dart

74 lines
2.7 KiB
Dart
Raw Normal View History

part of 'main.dart';
2022-04-28 21:23:38 +00:00
void trustedWebActivity() {
2022-04-29 00:07:01 +00:00
final shouldSkip = kIsWeb
? true
: ![
TargetPlatform.android,
].contains(defaultTargetPlatform);
2022-04-28 21:23:38 +00:00
skippableGroup('Trusted Web Activity', () {
skippableTest('basic', () async {
2022-10-08 17:07:50 +00:00
var chromeSafariBrowser = MyChromeSafariBrowser();
2022-04-28 21:23:38 +00:00
expect(chromeSafariBrowser.isOpened(), false);
await chromeSafariBrowser.open(
url: TEST_TWA_URL,
2022-04-28 21:23:38 +00:00
settings: ChromeSafariBrowserSettings(isTrustedWebActivity: true));
await chromeSafariBrowser.opened.future;
2022-04-28 21:23:38 +00:00
expect(chromeSafariBrowser.isOpened(), true);
expect(() async {
await chromeSafariBrowser.open(url: TEST_TWA_URL);
}, throwsAssertionError);
2022-04-28 21:23:38 +00:00
await expectLater(chromeSafariBrowser.firstPageLoaded.future, completes);
await chromeSafariBrowser.close();
await chromeSafariBrowser.closed.future;
2022-04-28 21:23:38 +00:00
expect(chromeSafariBrowser.isOpened(), false);
});
skippableTest('single instance', () async {
2022-10-08 17:07:50 +00:00
var chromeSafariBrowser = MyChromeSafariBrowser();
2022-04-28 21:23:38 +00:00
expect(chromeSafariBrowser.isOpened(), false);
await chromeSafariBrowser.open(
url: TEST_TWA_URL,
2022-04-28 21:23:38 +00:00
settings: ChromeSafariBrowserSettings(
isTrustedWebActivity: true, isSingleInstance: true));
await chromeSafariBrowser.opened.future;
2022-04-28 21:23:38 +00:00
expect(chromeSafariBrowser.isOpened(), true);
expect(() async {
await chromeSafariBrowser.open(url: TEST_TWA_URL);
}, throwsAssertionError);
2022-04-28 21:23:38 +00:00
await expectLater(chromeSafariBrowser.firstPageLoaded.future, completes);
await chromeSafariBrowser.close();
await chromeSafariBrowser.closed.future;
expect(chromeSafariBrowser.isOpened(), false);
});
skippableTest('validate relationship', () async {
var chromeSafariBrowser = MyChromeSafariBrowser();
expect(chromeSafariBrowser.isOpened(), false);
await chromeSafariBrowser.open(
settings: ChromeSafariBrowserSettings(isTrustedWebActivity: true));
await chromeSafariBrowser.serviceConnected.future;
2022-10-26 15:52:35 +00:00
expect(
await chromeSafariBrowser.validateRelationship(
relation: CustomTabsRelationType.USE_AS_ORIGIN,
origin: TEST_TWA_URL),
2022-10-26 15:52:35 +00:00
true);
expect(
await chromeSafariBrowser.relationshipValidationResult.future, true);
await chromeSafariBrowser.launchUrl(url: TEST_TWA_URL);
await chromeSafariBrowser.opened.future;
expect(chromeSafariBrowser.isOpened(), true);
await expectLater(chromeSafariBrowser.firstPageLoaded.future, completes);
await chromeSafariBrowser.close();
await chromeSafariBrowser.closed.future;
2022-04-28 21:23:38 +00:00
expect(chromeSafariBrowser.isOpened(), false);
});
}, skip: shouldSkip);
}