Skip to content

Commit 5e3f99c

Browse files
committed
Merge branch 'main' into dependabot/npm_and_yarn/docs/prettier-3.7.1
2 parents 7dd2d0c + a2630db commit 5e3f99c

File tree

9 files changed

+1591
-12439
lines changed

9 files changed

+1591
-12439
lines changed

docs/.eslintrc.js

Lines changed: 0 additions & 12 deletions
This file was deleted.

docs/eslint.config.mjs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import babelParser from '@babel/eslint-parser';
2+
import docusaurus from '@docusaurus/eslint-plugin';
3+
4+
export default [
5+
{
6+
files: ['**/*.{js,mjs,cjs,jsx}'],
7+
plugins: {
8+
'@docusaurus': docusaurus,
9+
},
10+
languageOptions: {
11+
parser: babelParser,
12+
ecmaVersion: 'latest',
13+
sourceType: 'module',
14+
},
15+
rules: {
16+
...docusaurus.configs.recommended.rules,
17+
},
18+
},
19+
];

docs/package-lock.json

Lines changed: 1553 additions & 12412 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"@docusaurus/eslint-plugin": "^3.9.2",
3232
"@docusaurus/module-type-aliases": "3.9.2",
3333
"@tsconfig/docusaurus": "^2.0.7",
34-
"eslint": "^8.57.0",
34+
"eslint": "^9.39.1",
3535
"prettier": "^3.7.1",
3636
"typescript": "^5.9.3"
3737
},

flutter_news_example/lib/article/view/article_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class ArticlePage extends StatelessWidget {
5656
return BlocProvider<ArticleBloc>(
5757
create: (_) => ArticleBloc(
5858
articleId: id,
59-
shareLauncher: const ShareLauncher(),
59+
shareLauncher: ShareLauncher(),
6060
articleRepository: context.read<ArticleRepository>(),
6161
)..add(const ArticleRequested()),
6262
child: ArticleView(

flutter_news_example/lib/slideshow/view/slideshow_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class SlideshowPage extends StatelessWidget {
3030
return BlocProvider(
3131
create: (context) => ArticleBloc(
3232
articleId: articleId,
33-
shareLauncher: const ShareLauncher(),
33+
shareLauncher: ShareLauncher(),
3434
articleRepository: context.read<ArticleRepository>(),
3535
),
3636
child: SlideshowView(block: slideshow),

flutter_news_example/packages/share_launcher/lib/src/share_launcher.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,24 @@ class ShareFailure with EquatableMixin implements Exception {
1616
}
1717

1818
/// ShareProvider is a function type that provides the ability to share content.
19-
typedef ShareProvider = Future<void> Function(String);
19+
typedef ShareProvider = Future<ShareResult> Function(ShareParams);
2020

2121
/// {@template share_launcher}
2222
/// A class allowing opening native share bottom sheet.
2323
/// {@endtemplate}
2424
class ShareLauncher {
2525
/// {@macro share_launcher}
2626
27-
const ShareLauncher({ShareProvider? shareProvider})
28-
: _shareProvider = shareProvider ?? Share.share;
27+
ShareLauncher({ShareProvider? shareProvider})
28+
: _shareProvider = shareProvider ?? SharePlus.instance.share;
2929

3030
final ShareProvider _shareProvider;
3131

3232
/// Method for opening native share bottom sheet.
3333
Future<void> share({required String text}) async {
3434
try {
35-
return _shareProvider(text);
36-
} catch (error, stackTrace) {
35+
await _shareProvider(ShareParams(text: text));
36+
} on Exception catch (error, stackTrace) {
3737
Error.throwWithStackTrace(ShareFailure(error), stackTrace);
3838
}
3939
}

flutter_news_example/packages/share_launcher/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ dependencies:
1010
equatable: ^2.0.3
1111
flutter:
1212
sdk: flutter
13-
share_plus: ^10.0.2
14-
share_plus_platform_interface: ^5.0.0
13+
share_plus: ^12.0.1
14+
share_plus_platform_interface: ^6.1.0
1515

1616
dev_dependencies:
1717
flutter_test:

flutter_news_example/packages/share_launcher/test/src/share_launcher_test.dart

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ class MockSharePlatform extends Mock
1010
implements SharePlatform {}
1111

1212
void main() {
13+
setUpAll(() {
14+
registerFallbackValue(ShareParams(text: 'fallback'));
15+
});
1316
group('ShareFailure', () {
1417
test('supports value comparison', () {
1518
final shareFailure1 = ShareFailure('error');
@@ -25,9 +28,10 @@ void main() {
2528
var called = false;
2629

2730
final shareLauncher = ShareLauncher(
28-
shareProvider: (String text) async {
31+
shareProvider: (params) async {
2932
called = true;
30-
expect(text, equals('text'));
33+
expect(params.text, equals('text'));
34+
return ShareResult('raw', ShareResultStatus.success);
3135
},
3236
);
3337

@@ -38,7 +42,7 @@ void main() {
3842

3943
test('throws ShareFailure when shareLauncher throws', () async {
4044
final shareLauncher = ShareLauncher(
41-
shareProvider: (String text) => throw Exception(),
45+
shareProvider: (params) => throw Exception(),
4246
);
4347

4448
expect(shareLauncher.share(text: 'text'), throwsA(isA<ShareFailure>()));
@@ -49,12 +53,12 @@ void main() {
4953
final mock = MockSharePlatform();
5054
SharePlatform.instance = mock;
5155
when(
52-
() => SharePlatform.instance.share(any(that: isA<String>())),
56+
() => SharePlatform.instance.share(any(that: isA<ShareParams>())),
5357
).thenAnswer((_) async => ShareResult('raw', ShareResultStatus.success));
5458

5559
await ShareLauncher().share(text: 'text');
5660

57-
verify(() => mock.share('text')).called(1);
61+
verify(() => mock.share(any(that: isA<ShareParams>()))).called(1);
5862
});
5963
});
6064
}

0 commit comments

Comments
 (0)