@@ -323,11 +323,20 @@ def bad_colors(self):
323
323
def bad_pairs (self ):
324
324
return (- 2 ** 31 - 1 , 2 ** 31 , - 2 ** 63 - 1 , 2 ** 63 , 2 ** 64 )
325
325
326
+ def test_start_color (self ):
327
+ if not curses .has_colors ():
328
+ self .skipTest ('requires colors support' )
329
+ curses .start_color ()
330
+ if verbose :
331
+ print (f'COLORS = { curses .COLORS } ' , file = sys .stderr )
332
+ print (f'COLOR_PAIRS = { curses .COLOR_PAIRS } ' , file = sys .stderr )
333
+
326
334
@requires_colors
327
335
def test_color_content (self ):
328
336
self .assertEqual (curses .color_content (curses .COLOR_BLACK ), (0 , 0 , 0 ))
329
337
curses .color_content (0 )
330
- curses .color_content (min (curses .COLORS - 1 , SHORT_MAX ))
338
+ maxcolor = min (curses .COLORS - 1 , SHORT_MAX )
339
+ curses .color_content (maxcolor )
331
340
332
341
for color in self .bad_colors ():
333
342
self .assertRaises (OverflowError , curses .color_content , color )
@@ -368,13 +377,18 @@ def test_init_color(self):
368
377
self .assertRaises (curses .error , curses .init_color , 0 , 0 , comp , 0 )
369
378
self .assertRaises (curses .error , curses .init_color , 0 , 0 , 0 , comp )
370
379
380
+ def get_pair_limit (self ):
381
+ return min (curses .COLOR_PAIRS , SHORT_MAX )
382
+
371
383
@requires_colors
372
384
def test_pair_content (self ):
373
385
if not hasattr (curses , 'use_default_colors' ):
374
386
self .assertEqual (curses .pair_content (0 ),
375
387
(curses .COLOR_WHITE , curses .COLOR_BLACK ))
376
388
curses .pair_content (0 )
377
- curses .pair_content (min (curses .COLOR_PAIRS - 1 , SHORT_MAX ))
389
+ maxpair = self .get_pair_limit () - 1
390
+ if maxpair > 0 :
391
+ curses .pair_content (maxpair )
378
392
379
393
for pair in self .bad_pairs ():
380
394
self .assertRaises (OverflowError , curses .pair_content , pair )
@@ -389,11 +403,14 @@ def test_init_pair(self):
389
403
curses .init_pair (1 , 0 , 0 )
390
404
self .assertEqual (curses .pair_content (1 ), (0 , 0 ))
391
405
maxcolor = min (curses .COLORS - 1 , SHORT_MAX )
392
- curses .init_pair (1 , maxcolor , maxcolor )
393
- self .assertEqual (curses .pair_content (1 ), (maxcolor , maxcolor ))
394
- maxpair = min (curses .COLOR_PAIRS - 1 , SHORT_MAX )
395
- curses .init_pair (maxpair , 2 , 3 )
396
- self .assertEqual (curses .pair_content (maxpair ), (2 , 3 ))
406
+ curses .init_pair (1 , maxcolor , 0 )
407
+ self .assertEqual (curses .pair_content (1 ), (maxcolor , 0 ))
408
+ curses .init_pair (1 , 0 , maxcolor )
409
+ self .assertEqual (curses .pair_content (1 ), (0 , maxcolor ))
410
+ maxpair = self .get_pair_limit () - 1
411
+ if maxpair > 1 :
412
+ curses .init_pair (maxpair , 0 , 0 )
413
+ self .assertEqual (curses .pair_content (maxpair ), (0 , 0 ))
397
414
398
415
for pair in self .bad_pairs ():
399
416
self .assertRaises (OverflowError , curses .init_pair , pair , 0 , 0 )
@@ -591,6 +608,8 @@ def test_update_lines_cols(self):
591
608
@requires_curses_func ('ncurses_version' )
592
609
def test_ncurses_version (self ):
593
610
v = curses .ncurses_version
611
+ if verbose :
612
+ print (f'ncurses_version = { curses .ncurses_version } ' , flush = True )
594
613
self .assertIsInstance (v [:], tuple )
595
614
self .assertEqual (len (v ), 3 )
596
615
self .assertIsInstance (v [0 ], int )
0 commit comments