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