https://github.com/python/cpython/commit/f2f9ff1550c9f94cdc1d8619755a037efe426a06
commit: f2f9ff1550c9f94cdc1d8619755a037efe426a06
branch: 3.14
author: Miss Islington (bot) <[email protected]>
committer: tomasr8 <[email protected]>
date: 2026-07-19T11:06:14Z
summary:

[3.14] Improve colorsys coverage (GH-153982) (#154077)

Improve colorsys coverage (GH-153982)

* improve colorsys coverage

* add subtest
(cherry picked from commit 54b00c055210d738f5c3fb590ab85bde80b46ac6)

Co-authored-by: MonadChains <[email protected]>

files:
M Lib/test/test_colorsys.py

diff --git a/Lib/test/test_colorsys.py b/Lib/test/test_colorsys.py
index 74d76294b0b4d4..9dfaef44a6a450 100644
--- a/Lib/test/test_colorsys.py
+++ b/Lib/test/test_colorsys.py
@@ -42,6 +42,10 @@ def test_hsv_values(self):
             self.assertTripleEqual(hsv, colorsys.rgb_to_hsv(*rgb))
             self.assertTripleEqual(rgb, colorsys.hsv_to_rgb(*hsv))
 
+            # test 360 phase shift in hue
+            h, s, v = hsv
+            self.assertTripleEqual(rgb, colorsys.hsv_to_rgb(h + 1.0, s, v))
+
     def test_hls_roundtrip(self):
         for r in frange(0.0, 1.0, 0.2):
             for g in frange(0.0, 1.0, 0.2):
@@ -89,6 +93,18 @@ def test_yiq_roundtrip(self):
                         colorsys.yiq_to_rgb(*colorsys.rgb_to_yiq(*rgb))
                     )
 
+    def test_yiq_to_rgb_clamping(self):
+        values = [
+            # rgb, yiq (invalid YIQ values clamped to RGB range)
+            ((1.0, 0.0, 1.0), (0.0, 0.5, 1.0)),
+            ((0.0, 1.0, 0.0), (0.25, -1.0, -1.0)),
+            ((0.0, 0.0, 1.0), (0.0, -1.0, 0.5))
+        ]
+
+        for (rgb, yiq) in values:
+            with self.subTest(rgb=rgb, yiq=yiq):
+                self.assertTripleEqual(rgb, colorsys.yiq_to_rgb(*yiq))
+
     def test_yiq_values(self):
         values = [
             # rgb, yiq

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to