mirror of
https://github.com/flutter/packages.git
synced 2025-06-28 22:02:38 +08:00
[cross_file] adopt code excerpts in README (#5347)
Updates the README to use a compiled excerpt source for its example of instantiating an `XFile`. Part of [flutter/flutter#102679](https://github.com/flutter/flutter/issues/102679)
This commit is contained in:

committed by
GitHub

parent
f2fef4ed11
commit
2102327ab9
@ -1,5 +1,6 @@
|
|||||||
## NEXT
|
## 0.3.3+7
|
||||||
|
|
||||||
|
* Updates README to improve example of instantiating an XFile.
|
||||||
* Updates minimum supported SDK version to Flutter 3.10/Dart 3.0.
|
* Updates minimum supported SDK version to Flutter 3.10/Dart 3.0.
|
||||||
|
|
||||||
## 0.3.3+6
|
## 0.3.3+6
|
||||||
|
@ -10,18 +10,17 @@ access the file and its metadata.
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
<?code-excerpt "example/lib/readme_excerpts.dart (Instantiate)"?>
|
||||||
```dart
|
```dart
|
||||||
import 'package:cross_file/cross_file.dart';
|
final XFile file = XFile('assets/hello.txt');
|
||||||
|
|
||||||
final file = XFile('assets/hello.txt');
|
|
||||||
|
|
||||||
print('File information:');
|
print('File information:');
|
||||||
print('- Path: ${file.path}');
|
print('- Path: ${file.path}');
|
||||||
print('- Name: ${file.name}');
|
print('- Name: ${file.name}');
|
||||||
print('- MIME type: ${file.mimeType}');
|
print('- MIME type: ${file.mimeType}');
|
||||||
|
|
||||||
final fileContent = await file.readAsString();
|
final String fileContent = await file.readAsString();
|
||||||
print('Content of the file: ${fileContent}'); // e.g. "Moto G (4)"
|
print('Content of the file: $fileContent');
|
||||||
```
|
```
|
||||||
|
|
||||||
You will find links to the API docs on the [pub page](https://pub.dev/packages/cross_file).
|
You will find links to the API docs on the [pub page](https://pub.dev/packages/cross_file).
|
||||||
|
1
packages/cross_file/example/assets/hello.txt
Normal file
1
packages/cross_file/example/assets/hello.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Hello, world!
|
24
packages/cross_file/example/lib/readme_excerpts.dart
Normal file
24
packages/cross_file/example/lib/readme_excerpts.dart
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// 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.
|
||||||
|
|
||||||
|
// ignore_for_file: avoid_print
|
||||||
|
|
||||||
|
import 'package:cross_file/cross_file.dart';
|
||||||
|
|
||||||
|
/// Demonstrate instantiating an XFile for the README.
|
||||||
|
Future<XFile> instantiateXFile() async {
|
||||||
|
// #docregion Instantiate
|
||||||
|
final XFile file = XFile('assets/hello.txt');
|
||||||
|
|
||||||
|
print('File information:');
|
||||||
|
print('- Path: ${file.path}');
|
||||||
|
print('- Name: ${file.name}');
|
||||||
|
print('- MIME type: ${file.mimeType}');
|
||||||
|
|
||||||
|
final String fileContent = await file.readAsString();
|
||||||
|
print('Content of the file: $fileContent');
|
||||||
|
// #enddocregion Instantiate
|
||||||
|
|
||||||
|
return file;
|
||||||
|
}
|
18
packages/cross_file/example/pubspec.yaml
Normal file
18
packages/cross_file/example/pubspec.yaml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: cross_file_example
|
||||||
|
description: Demonstrates how to use cross files.
|
||||||
|
publish_to: none
|
||||||
|
|
||||||
|
environment:
|
||||||
|
sdk: ">=3.0.0 <4.0.0"
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
cross_file:
|
||||||
|
# When depending on this package from a real application you should use:
|
||||||
|
# cross_file: ^x.y.z
|
||||||
|
# See https://dart.dev/tools/pub/dependencies#version-constraints
|
||||||
|
# The example app is bundled with the plugin so we use a path dependency on
|
||||||
|
# the parent directory to use the current plugin's version.
|
||||||
|
path: ../
|
||||||
|
|
||||||
|
dev_dependencies:
|
||||||
|
test: ^1.24.0
|
23
packages/cross_file/example/test/readme_excerpts_test.dart
Normal file
23
packages/cross_file/example/test/readme_excerpts_test.dart
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// 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:cross_file/cross_file.dart';
|
||||||
|
import 'package:cross_file_example/readme_excerpts.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
|
const bool kIsWeb = bool.fromEnvironment('dart.library.js_util');
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
test('instantiateXFile loads asset file', () async {
|
||||||
|
// Ensure that the snippet code runs successfully.
|
||||||
|
final XFile xFile = await instantiateXFile();
|
||||||
|
// It should have a nonempty path and name.
|
||||||
|
expect(xFile.path, allOf(isNotNull, isNotEmpty));
|
||||||
|
expect(xFile.name, allOf(isNotNull, isNotEmpty));
|
||||||
|
|
||||||
|
// And the example file should have contents.
|
||||||
|
final String fileContent = await xFile.readAsString();
|
||||||
|
expect(fileContent, allOf(isNotNull, isNotEmpty));
|
||||||
|
}, skip: kIsWeb);
|
||||||
|
}
|
@ -2,7 +2,7 @@ name: cross_file
|
|||||||
description: An abstraction to allow working with files across multiple platforms.
|
description: An abstraction to allow working with files across multiple platforms.
|
||||||
repository: https://github.com/flutter/packages/tree/main/packages/cross_file
|
repository: https://github.com/flutter/packages/tree/main/packages/cross_file
|
||||||
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+cross_file%22
|
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+cross_file%22
|
||||||
version: 0.3.3+6
|
version: 0.3.3+7
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=3.0.0 <4.0.0"
|
sdk: ">=3.0.0 <4.0.0"
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
# TODO(stuartmorgan): Remove everything from this list. See
|
# TODO(stuartmorgan): Remove everything from this list. See
|
||||||
# https://github.com/flutter/flutter/issues/102679
|
# https://github.com/flutter/flutter/issues/102679
|
||||||
- cross_file
|
|
||||||
- css_colors
|
- css_colors
|
||||||
- espresso
|
- espresso
|
||||||
- extension_google_sign_in_as_googleapis_auth
|
- extension_google_sign_in_as_googleapis_auth
|
||||||
|
Reference in New Issue
Block a user