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:
co-authored by
Claude Opus 5.5
parent
756486d1fe
commit
0ad06e3238
@@ -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);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user