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); }); }