]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-91221: fix `test_curses.test_use_default_colors` for xterm-256color (GH...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 26 Apr 2025 11:02:17 +0000 (13:02 +0200)
committerGitHub <noreply@github.com>
Sat, 26 Apr 2025 11:02:17 +0000 (11:02 +0000)
gh-91221: fix `test_curses.test_use_default_colors` for xterm-256color (GH-132990)

Terminals with `xterm-256color` Xterm support may use 15 (bright white) as their default foreground color.
(cherry picked from commit 7f02ded29fb0e7f4ee115b5be32a591ff7b449b8)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Lib/test/test_curses.py

index cc3aa561cd4c42833696a2191c2a8a2bdbf7d3d8..6fe0e7fd4b7fe9d35d85bbe69909b75f59e5a829 100644 (file)
@@ -51,6 +51,12 @@ def requires_colors(test):
 
 term = os.environ.get('TERM')
 SHORT_MAX = 0x7fff
+DEFAULT_PAIR_CONTENTS = [
+    (curses.COLOR_WHITE, curses.COLOR_BLACK),
+    (0, 0),
+    (-1, -1),
+    (15, 0),  # for xterm-256color (15 is for BRIGHT WHITE)
+]
 
 # If newterm was supported we could use it instead of initscr and not exit
 @unittest.skipIf(not term or term == 'unknown',
@@ -751,7 +757,6 @@ class TestCurses(unittest.TestCase):
         curses.nl(False)
         curses.nl()
 
-
     def test_input_options(self):
         stdscr = self.stdscr
 
@@ -944,8 +949,7 @@ class TestCurses(unittest.TestCase):
     @requires_colors
     def test_pair_content(self):
         if not hasattr(curses, 'use_default_colors'):
-            self.assertEqual(curses.pair_content(0),
-                             (curses.COLOR_WHITE, curses.COLOR_BLACK))
+            self.assertIn(curses.pair_content(0), DEFAULT_PAIR_CONTENTS)
         curses.pair_content(0)
         maxpair = self.get_pair_limit() - 1
         if maxpair > 0:
@@ -996,7 +1000,7 @@ class TestCurses(unittest.TestCase):
         except curses.error:
             self.skipTest('cannot change color (use_default_colors() failed)')
         self.assertEqual(curses.pair_content(0), (-1, -1))
-        self.assertIn(old, [(curses.COLOR_WHITE, curses.COLOR_BLACK), (-1, -1), (0, 0)])
+        self.assertIn(old, DEFAULT_PAIR_CONTENTS)
 
     def test_keyname(self):
         # TODO: key_name()