From 44a8ce1d5524f245507ec766f5f532b9d12b11f4 Mon Sep 17 00:00:00 2001 From: Michael McGuiness Date: Fri, 1 Dec 2023 06:22:33 -0800 Subject: [PATCH] [flutter_image] Adopt code excerpts in README (#5498) Updates the README to use a compiled excerpt source for its example of using `NetworkImageWithRetry`. Part of [flutter/flutter#102679](https://github.com/flutter/flutter/issues/102679) --- packages/flutter_image/CHANGELOG.md | 1 + packages/flutter_image/README.md | 5 +++-- .../example/lib/readme_excerpts.dart | 17 ++++++++++++++ .../example/test/readme_excerpts_test.dart | 22 +++++++++++++++++++ script/configs/temp_exclude_excerpt.yaml | 1 - 5 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 packages/flutter_image/example/lib/readme_excerpts.dart create mode 100644 packages/flutter_image/example/test/readme_excerpts_test.dart diff --git a/packages/flutter_image/CHANGELOG.md b/packages/flutter_image/CHANGELOG.md index a69f2869f5..987e7a5bb2 100644 --- a/packages/flutter_image/CHANGELOG.md +++ b/packages/flutter_image/CHANGELOG.md @@ -2,6 +2,7 @@ * Fixes image asset link to use image within package. * Updates minimum supported SDK version to Flutter 3.10/Dart 3.0. +* Updates README to improve example of using `NetworkImageWithRetry`. ## 4.1.9 diff --git a/packages/flutter_image/README.md b/packages/flutter_image/README.md index f31adcd98f..11529c1468 100644 --- a/packages/flutter_image/README.md +++ b/packages/flutter_image/README.md @@ -7,9 +7,10 @@ network with a retry mechanism. Example: + ```dart -var avatar = new Image( - image: new NetworkImageWithRetry('http://example.com/avatars/123.jpg'), +const Image avatar = Image( + image: NetworkImageWithRetry('http://example.com/avatars/123.jpg'), ); ``` diff --git a/packages/flutter_image/example/lib/readme_excerpts.dart b/packages/flutter_image/example/lib/readme_excerpts.dart new file mode 100644 index 0000000000..226fe91fdd --- /dev/null +++ b/packages/flutter_image/example/lib/readme_excerpts.dart @@ -0,0 +1,17 @@ +// 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/widgets.dart'; +import 'package:flutter_image/flutter_image.dart'; + +/// Demonstrates loading an image for the README. +Image networkImageWithRetry() { +// #docregion NetworkImageWithRetry + const Image avatar = Image( + image: NetworkImageWithRetry('http://example.com/avatars/123.jpg'), + ); +// #enddocregion NetworkImageWithRetry + + return avatar; +} diff --git a/packages/flutter_image/example/test/readme_excerpts_test.dart b/packages/flutter_image/example/test/readme_excerpts_test.dart new file mode 100644 index 0000000000..92365379e3 --- /dev/null +++ b/packages/flutter_image/example/test/readme_excerpts_test.dart @@ -0,0 +1,22 @@ +// 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/widgets.dart'; +import 'package:flutter_image/flutter_image.dart'; +import 'package:flutter_image_example/readme_excerpts.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + test('networkImageWithRetry returns an Image with NetworkImageWithRetry', () { + // Ensure that the snippet code runs successfully. + final Image result = networkImageWithRetry(); + + // It should have a image property of the right type. + expect(result.image, isInstanceOf()); + // And the NetworkImageWithRetry should have a url property. + final NetworkImageWithRetry networkImage = + result.image as NetworkImageWithRetry; + expect(networkImage.url, equals('http://example.com/avatars/123.jpg')); + }); +} diff --git a/script/configs/temp_exclude_excerpt.yaml b/script/configs/temp_exclude_excerpt.yaml index c1fe3e9aa8..8fd0a51f13 100644 --- a/script/configs/temp_exclude_excerpt.yaml +++ b/script/configs/temp_exclude_excerpt.yaml @@ -8,7 +8,6 @@ - css_colors - espresso - extension_google_sign_in_as_googleapis_auth -- flutter_image - go_router_builder - google_sign_in/google_sign_in - image_picker_for_web