fix(video): iOS video zoom
This commit is contained in:
@@ -4,6 +4,48 @@ import 'package:plezy/mpv/mpv.dart';
|
||||
import 'package:plezy/services/video_filter_manager.dart';
|
||||
|
||||
void main() {
|
||||
test('zoom scale snaps to whole percentages', () {
|
||||
final player = _RecordingPlayer();
|
||||
final manager = VideoFilterManager(player: player, availableVersions: const [], selectedMediaIndex: 0);
|
||||
addTearDown(manager.dispose);
|
||||
|
||||
expect(manager.setZoomScale(1.234), 1.23);
|
||||
expect(manager.zoomScale, 1.23);
|
||||
|
||||
expect(manager.adjustZoom(VideoFilterManager.zoomStep), 1.24);
|
||||
expect(manager.zoomScale, 1.24);
|
||||
});
|
||||
|
||||
test('zoom scale snaps near 100 percent to exact default', () {
|
||||
final player = _RecordingPlayer();
|
||||
final manager = VideoFilterManager(player: player, availableVersions: const [], selectedMediaIndex: 0);
|
||||
addTearDown(manager.dispose);
|
||||
|
||||
manager.setZoomScale(1.5);
|
||||
|
||||
expect(manager.setZoomScale(1.00008), 1.0);
|
||||
expect(manager.zoomScale, 1.0);
|
||||
expect(manager.resetZoom(), 1.0);
|
||||
});
|
||||
|
||||
test('video zoom property is exact zero at normalized default', () async {
|
||||
final player = _RecordingPlayer();
|
||||
final manager = VideoFilterManager(player: player, availableVersions: const [], selectedMediaIndex: 0);
|
||||
addTearDown(manager.dispose);
|
||||
|
||||
expect(VideoFilterManager.videoZoomPropertyForScale(1.00008), 0.0);
|
||||
|
||||
manager.setZoomScale(1.00008);
|
||||
await Future<void>.delayed(Duration.zero);
|
||||
player.writes.clear();
|
||||
|
||||
await manager.updateVideoFilter();
|
||||
|
||||
final zoomWrites = player.writes.where((write) => write.key == 'video-zoom').toList();
|
||||
expect(zoomWrites, isNotEmpty);
|
||||
expect(zoomWrites.last.value, '0.0');
|
||||
});
|
||||
|
||||
test('stretch mode applies the initial player size before a resize event', () async {
|
||||
final player = _RecordingPlayer();
|
||||
final manager = VideoFilterManager(
|
||||
|
||||
Reference in New Issue
Block a user