MCPcopy Index your code
hub / github.com/python/cpython / CurrentColorKeysTest

Class CurrentColorKeysTest

Lib/idlelib/idle_test/test_config.py:589–697  ·  view source on GitHub ↗

Test colorkeys function with user config [Theme] and [Keys] patterns. colorkeys = config.IdleConf.current_colors_and_keys Test all patterns written by IDLE and some errors Item 'default' should really be 'builtin' (versus 'custom).

Source from the content-addressed store, hash-verified

587
588
589class CurrentColorKeysTest(unittest.TestCase):
590 """ Test colorkeys function with user config [Theme] and [Keys] patterns.
591
592 colorkeys = config.IdleConf.current_colors_and_keys
593 Test all patterns written by IDLE and some errors
594 Item 'default' should really be 'builtin' (versus 'custom).
595 """
596 colorkeys = idleConf.current_colors_and_keys
597 default_theme = 'IDLE Classic'
598 default_keys = idleConf.default_keys()
599
600 def test_old_builtin_theme(self):
601 # On initial installation, user main is blank.
602 self.assertEqual(self.colorkeys('Theme'), self.default_theme)
603 # For old default, name2 must be blank.
604 usermain.read_string('''
605 [Theme]
606 default = True
607 ''')
608 # IDLE omits 'name' for default old builtin theme.
609 self.assertEqual(self.colorkeys('Theme'), self.default_theme)
610 # IDLE adds 'name' for non-default old builtin theme.
611 usermain['Theme']['name'] = 'IDLE New'
612 self.assertEqual(self.colorkeys('Theme'), 'IDLE New')
613 # Erroneous non-default old builtin reverts to default.
614 usermain['Theme']['name'] = 'non-existent'
615 self.assertEqual(self.colorkeys('Theme'), self.default_theme)
616 usermain.remove_section('Theme')
617
618 def test_new_builtin_theme(self):
619 # IDLE writes name2 for new builtins.
620 usermain.read_string('''
621 [Theme]
622 default = True
623 name2 = IDLE Dark
624 ''')
625 self.assertEqual(self.colorkeys('Theme'), 'IDLE Dark')
626 # Leftover 'name', not removed, is ignored.
627 usermain['Theme']['name'] = 'IDLE New'
628 self.assertEqual(self.colorkeys('Theme'), 'IDLE Dark')
629 # Erroneous non-default new builtin reverts to default.
630 usermain['Theme']['name2'] = 'non-existent'
631 self.assertEqual(self.colorkeys('Theme'), self.default_theme)
632 usermain.remove_section('Theme')
633
634 def test_user_override_theme(self):
635 # Erroneous custom name (no definition) reverts to default.
636 usermain.read_string('''
637 [Theme]
638 default = False
639 name = Custom Dark
640 ''')
641 self.assertEqual(self.colorkeys('Theme'), self.default_theme)
642 # Custom name is valid with matching Section name.
643 userhigh.read_string('[Custom Dark]\na=b')
644 self.assertEqual(self.colorkeys('Theme'), 'Custom Dark')
645 # Name2 is ignored.
646 usermain['Theme']['name2'] = 'non-existent'

Callers

nothing calls this directly

Calls 1

default_keysMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…