Files
hkuds--vimax/tests/test_image_orientation.py
2026-07-13 12:23:54 +08:00

30 lines
1.1 KiB
Python

import os
import unittest
from unittest.mock import patch
from PIL import Image
from tools.image_orientation import ensure_not_portrait, landscape_guard_requested
class ImageOrientationTests(unittest.TestCase):
def test_landscape_guard_requested_defaults_to_all_images(self):
self.assertTrue(landscape_guard_requested(size="1600x900"))
self.assertTrue(landscape_guard_requested(size="512x512"))
self.assertTrue(landscape_guard_requested(size=None))
self.assertTrue(landscape_guard_requested(aspect_ratio="16:9", enforce_landscape=False))
self.assertFalse(landscape_guard_requested(allow_portrait=True))
def test_portrait_detection_allows_slightly_tall_images(self):
ensure_not_portrait(Image.new("RGB", (1000, 1040)))
with self.assertRaises(ValueError):
ensure_not_portrait(Image.new("RGB", (1000, 1100)))
def test_portrait_tolerance_env_override(self):
with patch.dict(os.environ, {"VIMAX_IMAGE_PORTRAIT_RETRY_TOLERANCE": "1.20"}):
ensure_not_portrait(Image.new("RGB", (1000, 1100)))
if __name__ == "__main__":
unittest.main()