fix(images): preserve fallback placeholder size

close #1293
This commit is contained in:
edde746
2026-06-10 09:55:22 +02:00
parent 9b48f26463
commit e7efa458e5
2 changed files with 47 additions and 2 deletions
@@ -0,0 +1,42 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:material_symbols_icons/symbols.dart';
import 'package:plezy/utils/media_image_helper.dart';
import 'package:plezy/widgets/optimized_media_image.dart';
void main() {
testWidgets('failed image placeholders keep explicit dimensions in loose layouts', (tester) async {
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
OptimizedMediaImage(
client: null,
imagePath: 'https://example.invalid/broken-actor-image.jpg',
width: 96,
height: 96,
imageType: ImageType.avatar,
fallbackIcon: Symbols.person_rounded,
),
const SizedBox(height: 8),
const Text('Actor Name'),
],
),
),
),
),
);
await tester.pumpAndSettle();
expect(find.byIcon(Symbols.person_rounded), findsOneWidget);
final placeholder = find.descendant(of: find.byType(OptimizedMediaImage), matching: find.byType(Container));
expect(placeholder, findsOneWidget);
expect(tester.getSize(placeholder), const Size(96, 96));
});
}