123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- // Copyright 2013 The Flutter Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- import 'package:flutter_test/flutter_test.dart';
- import 'package:plugin_platform_interface/plugin_platform_interface.dart';
- import 'package:url_launcher_platform_interface/link.dart';
- import 'package:url_launcher_platform_interface/url_launcher_platform_interface.dart';
- class MockUrlLauncher extends Fake
- with MockPlatformInterfaceMixin
- implements UrlLauncherPlatform {
- String? url;
- PreferredLaunchMode? launchMode;
- bool? useSafariVC;
- bool? useWebView;
- bool? enableJavaScript;
- bool? enableDomStorage;
- bool? universalLinksOnly;
- Map<String, String>? headers;
- String? webOnlyWindowName;
- bool? response;
- bool closeWebViewCalled = false;
- bool canLaunchCalled = false;
- bool launchCalled = false;
- // ignore: use_setters_to_change_properties
- void setCanLaunchExpectations(String url) {
- this.url = url;
- }
- void setLaunchExpectations({
- required String url,
- PreferredLaunchMode? launchMode,
- bool? useSafariVC,
- bool? useWebView,
- required bool enableJavaScript,
- required bool enableDomStorage,
- required bool universalLinksOnly,
- required Map<String, String> headers,
- required String? webOnlyWindowName,
- }) {
- this.url = url;
- this.launchMode = launchMode;
- this.useSafariVC = useSafariVC;
- this.useWebView = useWebView;
- this.enableJavaScript = enableJavaScript;
- this.enableDomStorage = enableDomStorage;
- this.universalLinksOnly = universalLinksOnly;
- this.headers = headers;
- this.webOnlyWindowName = webOnlyWindowName;
- }
- // ignore: use_setters_to_change_properties
- void setResponse(bool response) {
- this.response = response;
- }
- @override
- LinkDelegate? get linkDelegate => null;
- @override
- Future<bool> canLaunch(String url) async {
- expect(url, this.url);
- canLaunchCalled = true;
- return response!;
- }
- @override
- Future<bool> launch(
- String url, {
- required bool useSafariVC,
- required bool useWebView,
- required bool enableJavaScript,
- required bool enableDomStorage,
- required bool universalLinksOnly,
- required Map<String, String> headers,
- String? webOnlyWindowName,
- }) async {
- expect(url, this.url);
- expect(useSafariVC, this.useSafariVC);
- expect(useWebView, this.useWebView);
- expect(enableJavaScript, this.enableJavaScript);
- expect(enableDomStorage, this.enableDomStorage);
- expect(universalLinksOnly, this.universalLinksOnly);
- expect(headers, this.headers);
- expect(webOnlyWindowName, this.webOnlyWindowName);
- launchCalled = true;
- return response!;
- }
- @override
- Future<bool> launchUrl(String url, LaunchOptions options) async {
- expect(url, this.url);
- expect(options.mode, launchMode);
- expect(options.webViewConfiguration.enableJavaScript, enableJavaScript);
- expect(options.webViewConfiguration.enableDomStorage, enableDomStorage);
- expect(options.webViewConfiguration.headers, headers);
- expect(options.webOnlyWindowName, webOnlyWindowName);
- launchCalled = true;
- return response!;
- }
- @override
- Future<void> closeWebView() async {
- closeWebViewCalled = true;
- }
- }
|