37 lines
1.2 KiB
Dart
37 lines
1.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:reelbox/state/app_state.dart';
|
|
import 'package:reelbox/ui/common.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
void main() {
|
|
testWidgets(
|
|
'data saver never builds network images and retains artwork placeholder',
|
|
(tester) async {
|
|
SharedPreferences.setMockInitialValues({});
|
|
final state = AppState();
|
|
await state.updateSettings(state.prefs.copyWith(dataSaver: true));
|
|
await tester.pumpWidget(
|
|
AppScope(
|
|
state: state,
|
|
child: const MaterialApp(
|
|
home: Scaffold(
|
|
body: MediaArtwork(
|
|
url: 'https://example.test/poster.jpg',
|
|
width: 100,
|
|
height: 140,
|
|
),
|
|
),
|
|
),
|
|
),
|
|
);
|
|
expect(find.byType(Image), findsNothing);
|
|
expect(find.byIcon(Icons.local_movies_outlined), findsOneWidget);
|
|
final size = tester.getSize(find.byType(MediaArtwork));
|
|
expect(size, const Size(100, 140));
|
|
await tester.pumpWidget(const SizedBox());
|
|
state.dispose();
|
|
},
|
|
);
|
|
}
|