Skip to content

Commit 98d31e6

Browse files
committed
test: update share_plus_windows tests
1 parent 8ac8a22 commit 98d31e6

File tree

1 file changed

+55
-23
lines changed

1 file changed

+55
-23
lines changed

packages/share_plus/share_plus_windows/test/share_plus_windows_test.dart

Lines changed: 55 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,72 @@
11
import 'package:flutter_test/flutter_test.dart';
2-
import 'package:share_plus_platform_interface/share_plus_platform_interface.dart';
32
import 'package:share_plus_windows/share_plus_windows.dart';
3+
import 'package:share_plus_windows/src/version_helper.dart';
4+
import 'package:share_plus_platform_interface/share_plus_platform_interface.dart';
5+
import 'package:share_plus_platform_interface/method_channel/method_channel_share.dart';
6+
47
import 'package:url_launcher_platform_interface/url_launcher_platform_interface.dart';
58
import 'package:url_launcher_platform_interface/link.dart';
69

710
void main() {
8-
test('registered instance', () {
9-
ShareWindows.registerWith();
10-
expect(SharePlatform.instance, isA<ShareWindows>());
11-
});
12-
test('url encoding is correct for &', () async {
13-
final mock = MockUrlLauncherPlatform();
14-
UrlLauncherPlatform.instance = mock;
11+
test(
12+
'registered instance',
13+
() {
14+
ShareWindows.registerWith();
15+
expect(SharePlatform.instance, isA<ShareWindows>());
16+
},
17+
skip: VersionHelper.instance.isWindows10RS5OrGreater,
18+
);
19+
20+
test(
21+
'registered instance',
22+
() {
23+
ShareWindows.registerWith();
24+
expect(SharePlatform.instance, isA<MethodChannelShare>());
25+
},
26+
skip: !VersionHelper.instance.isWindows10RS5OrGreater,
27+
);
28+
29+
// These tests are only valid on Windows versions lower than 10.0.17763.0.
30+
31+
test(
32+
'url encoding is correct for &',
33+
() async {
34+
final mock = MockUrlLauncherPlatform();
35+
UrlLauncherPlatform.instance = mock;
1536

16-
await ShareWindows().share('foo&bar', subject: 'bar&foo');
37+
await ShareWindows().share('foo&bar', subject: 'bar&foo');
1738

18-
expect(mock.url, 'mailto:?subject=bar%26foo&body=foo%26bar');
19-
});
39+
expect(mock.url, 'mailto:?subject=bar%26foo&body=foo%26bar');
40+
},
41+
skip: VersionHelper.instance.isWindows10RS5OrGreater,
42+
);
2043

2144
// see https://github.com/dart-lang/sdk/issues/43838#issuecomment-823551891
22-
test('url encoding is correct for spaces', () async {
23-
final mock = MockUrlLauncherPlatform();
24-
UrlLauncherPlatform.instance = mock;
45+
test(
46+
'url encoding is correct for spaces',
47+
() async {
48+
final mock = MockUrlLauncherPlatform();
49+
UrlLauncherPlatform.instance = mock;
2550

26-
await ShareWindows().share('foo bar', subject: 'bar foo');
51+
await ShareWindows().share('foo bar', subject: 'bar foo');
2752

28-
expect(mock.url, 'mailto:?subject=bar%20foo&body=foo%20bar');
29-
});
53+
expect(mock.url, 'mailto:?subject=bar%20foo&body=foo%20bar');
54+
},
55+
skip: VersionHelper.instance.isWindows10RS5OrGreater,
56+
);
3057

31-
test('throws when url_launcher can\'t launch uri', () async {
32-
final mock = MockUrlLauncherPlatform();
33-
mock.canLaunchMockValue = false;
34-
UrlLauncherPlatform.instance = mock;
58+
test(
59+
'throws when url_launcher can\'t launch uri',
60+
() async {
61+
final mock = MockUrlLauncherPlatform();
62+
mock.canLaunchMockValue = false;
63+
UrlLauncherPlatform.instance = mock;
3564

36-
expect(() async => await ShareWindows().share('foo bar'), throwsException);
37-
});
65+
expect(
66+
() async => await ShareWindows().share('foo bar'), throwsException);
67+
},
68+
skip: VersionHelper.instance.isWindows10RS5OrGreater,
69+
);
3870
}
3971

4072
class MockUrlLauncherPlatform extends UrlLauncherPlatform {

0 commit comments

Comments
 (0)