From 68ff032f4007ed514de2d55afcb088586b89153e Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Tue, 14 Feb 2017 08:57:44 -0800 Subject: [PATCH] Remove mentions of ScrollableViewport from flutter_markdown (#8132) Also, actually run the flutter_markdown tests. --- dev/bots/test.dart | 1 + .../flutter_markdown/lib/src/markdown.dart | 13 +++--- .../lib/src/markdown_raw.dart | 15 ++++--- .../test/flutter_markdown_test.dart | 44 +++++++++---------- 4 files changed, 40 insertions(+), 33 deletions(-) diff --git a/dev/bots/test.dart b/dev/bots/test.dart index 43b1d870537..ca445f15396 100644 --- a/dev/bots/test.dart +++ b/dev/bots/test.dart @@ -66,6 +66,7 @@ Future main() async { ); await _runAllDartTests(p.join(flutterRoot, 'packages', 'flutter_driver')); await _runFlutterTest(p.join(flutterRoot, 'packages', 'flutter_test')); + await _runFlutterTest(p.join(flutterRoot, 'packages', 'flutter_markdown')); await _runAllDartTests(p.join(flutterRoot, 'packages', 'flutter_tools'), environment: { 'FLUTTER_ROOT': flutterRoot }, ); diff --git a/packages/flutter_markdown/lib/src/markdown.dart b/packages/flutter_markdown/lib/src/markdown.dart index 40125106240..e9952325803 100644 --- a/packages/flutter_markdown/lib/src/markdown.dart +++ b/packages/flutter_markdown/lib/src/markdown.dart @@ -50,11 +50,14 @@ class Markdown extends MarkdownRaw { } } -/// A [Widget] that renders markdown formatted text. It supports all standard -/// markdowns from the original markdown specification found here: -/// https://daringfireball.net/projects/markdown/ This class doesn't implement -/// any scrolling behavior, if you want scrolling either wrap the widget in -/// a [ScrollableViewport] or use the [Markdown] widget. +/// A [Widget] that renders markdown formatted text. +/// +/// It supports all standard markdowns from the original markdown specification +/// found here: +/// +/// This class doesn't implement any scrolling behavior, if you want scrolling +/// either wrap the widget in a [SingleChildScrollView] or use the [Markdown] +/// widget. class MarkdownBody extends MarkdownBodyRaw { /// Creates a new Markdown [Widget] that renders the markdown formatted string diff --git a/packages/flutter_markdown/lib/src/markdown_raw.dart b/packages/flutter_markdown/lib/src/markdown_raw.dart index a00d48a8cb6..006714757db 100644 --- a/packages/flutter_markdown/lib/src/markdown_raw.dart +++ b/packages/flutter_markdown/lib/src/markdown_raw.dart @@ -80,11 +80,14 @@ class MarkdownRaw extends StatelessWidget { } } -/// A [Widget] that renders markdown formatted text. It supports all standard -/// markdowns from the original markdown specification found here: -/// https://daringfireball.net/projects/markdown/ This class doesn't implement -/// any scrolling behavior, if you want scrolling either wrap the widget in -/// a [ScrollableViewport] or use the [MarkdownRaw] widget. +/// A [Widget] that renders markdown formatted text. +/// +/// It supports all standard markdowns from the original markdown specification +/// found here: . +/// +/// This class doesn't implement any scrolling behavior, if you want scrolling +/// either wrap the widget in a [SingleChildScrollView] or use the [MarkdownRaw] +/// widget. class MarkdownBodyRaw extends StatefulWidget { /// Creates a new Markdown [Widget] that renders the markdown formatted string @@ -93,7 +96,7 @@ class MarkdownBodyRaw extends StatefulWidget { /// highlighting, but it's possible to pass in a custom [syntaxHighlighter]. /// /// Typically, you may want to wrap the [MarkdownBodyRaw] widget in a - /// a [ScrollableViewport], or use the [Markdown class]. + /// a [SingleChildScrollView], or use the [Markdown class]. /// /// ```dart /// new SingleChildScrollView( diff --git a/packages/flutter_markdown/test/flutter_markdown_test.dart b/packages/flutter_markdown/test/flutter_markdown_test.dart index c72fcd7ee64..0f5be57968e 100644 --- a/packages/flutter_markdown/test/flutter_markdown_test.dart +++ b/packages/flutter_markdown/test/flutter_markdown_test.dart @@ -9,31 +9,31 @@ import 'package:flutter/widgets.dart'; import 'package:flutter/material.dart'; void main() { - testWidgets('Simple string', (WidgetTester tester) { - tester.pumpWidget(new MarkdownBody(data: 'Hello')); + testWidgets('Simple string', (WidgetTester tester) async { + await tester.pumpWidget(new MarkdownBody(data: 'Hello')); Iterable widgets = tester.allWidgets; _expectWidgetTypes(widgets, [MarkdownBody, Column, Container, Padding, RichText]); _expectTextStrings(widgets, ['Hello']); }); - testWidgets('Header', (WidgetTester tester) { - tester.pumpWidget(new MarkdownBody(data: '# Header')); + testWidgets('Header', (WidgetTester tester) async { + await tester.pumpWidget(new MarkdownBody(data: '# Header')); Iterable widgets = tester.allWidgets; _expectWidgetTypes(widgets, [MarkdownBody, Column, Container, Padding, RichText]); _expectTextStrings(widgets, ['Header']); }); - testWidgets('Empty string', (WidgetTester tester) { - tester.pumpWidget(new MarkdownBody(data: '')); + testWidgets('Empty string', (WidgetTester tester) async { + await tester.pumpWidget(new MarkdownBody(data: '')); Iterable widgets = tester.allWidgets; _expectWidgetTypes(widgets, [MarkdownBody, Column]); }); - testWidgets('Ordered list', (WidgetTester tester) { - tester.pumpWidget(new MarkdownBody(data: '1. Item 1\n1. Item 2\n2. Item 3')); + testWidgets('Ordered list', (WidgetTester tester) async { + await tester.pumpWidget(new MarkdownBody(data: '1. Item 1\n1. Item 2\n2. Item 3')); Iterable widgets = tester.allWidgets; _expectTextStrings(widgets, [ @@ -46,8 +46,8 @@ void main() { ); }); - testWidgets('Unordered list', (WidgetTester tester) { - tester.pumpWidget(new MarkdownBody(data: '- Item 1\n- Item 2\n- Item 3')); + testWidgets('Unordered list', (WidgetTester tester) async { + await tester.pumpWidget(new MarkdownBody(data: '- Item 1\n- Item 2\n- Item 3')); Iterable widgets = tester.allWidgets; _expectTextStrings(widgets, [ @@ -60,13 +60,13 @@ void main() { ); }); - testWidgets('Scrollable wrapping', (WidgetTester tester) { - tester.pumpWidget(new Markdown(data: '')); + testWidgets('Scrollable wrapping', (WidgetTester tester) async { + await tester.pumpWidget(new Markdown(data: '')); List widgets = tester.allWidgets.toList(); _expectWidgetTypes(widgets.take(2), [ Markdown, - ScrollableViewport, + SingleChildScrollView, ]); _expectWidgetTypes(widgets.reversed.take(3).toList().reversed, [ Padding, @@ -75,8 +75,8 @@ void main() { ]); }); - testWidgets('Links', (WidgetTester tester) { - tester.pumpWidget(new Markdown(data: '[Link Text](href)')); + testWidgets('Links', (WidgetTester tester) async { + await tester.pumpWidget(new Markdown(data: '[Link Text](href)')); RichText textWidget = tester.allWidgets.firstWhere((Widget widget) => widget is RichText); TextSpan span = textWidget.text; @@ -84,29 +84,29 @@ void main() { expect(span.children[0].recognizer.runtimeType, equals(TapGestureRecognizer)); }); - testWidgets('Changing config - data', (WidgetTester tester) { - tester.pumpWidget(new Markdown(data: 'Data1')); + testWidgets('Changing config - data', (WidgetTester tester) async { + await tester.pumpWidget(new Markdown(data: 'Data1')); _expectTextStrings(tester.allWidgets, ['Data1']); String stateBefore = WidgetsBinding.instance.renderViewElement.toStringDeep(); - tester.pumpWidget(new Markdown(data: 'Data1')); + await tester.pumpWidget(new Markdown(data: 'Data1')); String stateAfter = WidgetsBinding.instance.renderViewElement.toStringDeep(); expect(stateBefore, equals(stateAfter)); - tester.pumpWidget(new Markdown(data: 'Data2')); + await tester.pumpWidget(new Markdown(data: 'Data2')); _expectTextStrings(tester.allWidgets, ['Data2']); }); - testWidgets('Changing config - style', (WidgetTester tester) { + testWidgets('Changing config - style', (WidgetTester tester) async { ThemeData theme = new ThemeData.light(); MarkdownStyle style1 = new MarkdownStyle.defaultFromTheme(theme); MarkdownStyle style2 = new MarkdownStyle.largeFromTheme(theme); - tester.pumpWidget(new Markdown(data: 'Test', markdownStyle: style1)); + await tester.pumpWidget(new Markdown(data: 'Test', markdownStyle: style1)); String stateBefore = WidgetsBinding.instance.renderViewElement.toStringDeep(); - tester.pumpWidget(new Markdown(data: 'Test', markdownStyle: style2)); + await tester.pumpWidget(new Markdown(data: 'Test', markdownStyle: style2)); String stateAfter = WidgetsBinding.instance.renderViewElement.toStringDeep(); expect(stateBefore, isNot(stateAfter)); });