Add support for asset images
diff --git a/packages/flutter_markdown/lib/src/builder.dart b/packages/flutter_markdown/lib/src/builder.dart
index 059bbad..7f462ed 100644
--- a/packages/flutter_markdown/lib/src/builder.dart
+++ b/packages/flutter_markdown/lib/src/builder.dart
@@ -262,6 +262,8 @@
child = new Image.network(uri.toString(), width: width, height: height);
} else if (uri.scheme == 'data') {
child = _handleDataSchemeUri(uri, width, height);
+ } else if (uri.scheme == "resource") {
+ child = new Image.asset(path.substring(9), width: width, height: height);
} else {
String filePath = (imageDirectory == null
? uri.toFilePath()
diff --git a/packages/flutter_markdown/test/flutter_markdown_test.dart b/packages/flutter_markdown/test/flutter_markdown_test.dart
index ca341f6..7b0989a 100644
--- a/packages/flutter_markdown/test/flutter_markdown_test.dart
+++ b/packages/flutter_markdown/test/flutter_markdown_test.dart
@@ -217,6 +217,16 @@
expect(image.image is FileImage, isTrue);
});
+ testWidgets('should work with resources', (WidgetTester tester) async {
+ await tester.pumpWidget(_boilerplate(
+ const Markdown(data: '')));
+
+ final Image image =
+ tester.allWidgets.firstWhere((Widget widget) => widget is Image);
+ expect(image.image is AssetImage, isTrue);
+ expect((image.image as AssetImage).assetName == 'assets/logo.png', isTrue);
+ });
+
testWidgets('should work with local image files', (WidgetTester tester) async {
await tester
.pumpWidget(_boilerplate(const Markdown(data: '')));