chore: flutter_markdown (eingestellt) -> flutter_markdown_plus

Gleiche API, gepflegter Nachfolger. Rendertest für die Markdown-Vorschau
(test/document_markdown_test.dart).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Bernd Steckmeister
2026-10-07 22:13:27 +02:00
co-authored by Claude Opus 5.5
parent 756486d1fe
commit 0ad06e3238
4 changed files with 48 additions and 6 deletions
+42
View File
@@ -0,0 +1,42 @@
import 'dart:convert';
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:pyramid/core/theme.dart';
import 'package:pyramid/features/chat/document_viewer.dart';
/// Markdown-Vorschau (seit 2026-10-07 mit flutter_markdown_plus statt dem
/// eingestellten flutter_markdown): Überschrift, Liste, Code und Link werden
/// gezeichnet.
void main() {
testWidgets('Markdown-Datei wird in der Vorschau dargestellt', (
tester,
) async {
const md = '# Einkaufsliste\n\n'
'- **Milch**\n- _Brot_\n\n'
'`code` und [ein Link](https://example.org)\n\n'
'> Zitat\n';
await tester.pumpWidget(
PyramidTheme(
child: MaterialApp(
home: DocumentViewer(
filename: 'notizen.md',
bytes: Uint8List.fromList(utf8.encode(md)),
senderName: 'Test',
),
),
),
);
await tester.pumpAndSettle();
expect(tester.takeException(), isNull);
// Auswählbarer Text (SelectableText → EditableText) oder RichText.
bool shows(String text) =>
find.textContaining(text, findRichText: true).evaluate().isNotEmpty;
expect(shows('Einkaufsliste'), isTrue);
expect(shows('Milch'), isTrue);
expect(shows('ein Link'), isTrue);
expect(shows('Zitat'), isTrue);
});
}