[url_launcher_web] Added support for mailto in url_launcher_web plugin (#2490)
* Unit tests
* Updated version and CHANGELOG
diff --git a/packages/url_launcher/url_launcher_web/CHANGELOG.md b/packages/url_launcher/url_launcher_web/CHANGELOG.md
index 088dc5f..df73939 100644
--- a/packages/url_launcher/url_launcher_web/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.1.1
+
+- Added support for mailto scheme
+
# 0.1.0+2
- Remove androidx references from the no-op android implemenation.
diff --git a/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart b/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart
index 8882303..c37d872 100644
--- a/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart
+++ b/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart
@@ -27,8 +27,9 @@
final Uri parsedUrl = Uri.tryParse(url);
if (parsedUrl == null) return Future<bool>.value(false);
- return Future<bool>.value(
- parsedUrl.isScheme('http') || parsedUrl.isScheme('https'));
+ return Future<bool>.value(parsedUrl.isScheme('http') ||
+ parsedUrl.isScheme('https') ||
+ parsedUrl.isScheme('mailto'));
}
@override
diff --git a/packages/url_launcher/url_launcher_web/pubspec.yaml b/packages/url_launcher/url_launcher_web/pubspec.yaml
index a831087..d02d250 100644
--- a/packages/url_launcher/url_launcher_web/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_web/pubspec.yaml
@@ -1,7 +1,7 @@
name: url_launcher_web
description: Web platform implementation of url_launcher
homepage: https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher_web
-version: 0.1.0+2
+version: 0.1.1
flutter:
plugin:
diff --git a/packages/url_launcher/url_launcher_web/test/url_launcher_web_test.dart b/packages/url_launcher/url_launcher_web/test/url_launcher_web_test.dart
index 6109ea7..3fb9b78 100644
--- a/packages/url_launcher/url_launcher_web/test/url_launcher_web_test.dart
+++ b/packages/url_launcher/url_launcher_web/test/url_launcher_web_test.dart
@@ -29,6 +29,10 @@
expect(canLaunch('https://google.com'), completion(isTrue));
});
+ test('can launch "mailto" URLs', () {
+ expect(canLaunch('mailto:name@mydomain.com'), completion(isTrue));
+ });
+
test('cannot launch "tel" URLs', () {
expect(canLaunch('tel:5551234567'), completion(isFalse));
});
@@ -37,6 +41,10 @@
expect(launch('https://www.google.com'), completion(isTrue));
});
+ test('launching a "mailto" returns true', () {
+ expect(launch('mailto:name@mydomain.com'), completion(isTrue));
+ });
+
test('the window that is launched is a new window', () {
final UrlLauncherPlugin urlLauncherPlugin = UrlLauncherPlugin();
final html.WindowBase newWindow =