def mock_config(self): """Return a mocked idleConf Both default and user config used the same config-*.def """ conf = config.IdleConf(_utest=True) for ctype in conf.config_types: conf.defaultCfg[ctype] = config.IdleConfParser('') conf.defaultCfg[ctype].read_string(self.config_string[ctype]) conf.userCfg[ctype] = config.IdleUserConfParser('') conf.userCfg[ctype].read_string(self.config_string[ctype]) return conf
def test_load_cfg_files(self): conf = self.new_config(_utest=True) # Borrow test/cfgparser.1 from test_configparser. config_path = findfile('cfgparser.1') conf.defaultCfg['foo'] = config.IdleConfParser(config_path) conf.userCfg['foo'] = config.IdleUserConfParser(config_path) # Load all config from path conf.LoadCfgFiles() eq = self.assertEqual # Check defaultCfg is loaded eq(conf.defaultCfg['foo'].Get('Foo Bar', 'foo'), 'newbar') eq(conf.defaultCfg['foo'].GetOptionList('Foo Bar'), ['foo']) # Check userCfg is loaded eq(conf.userCfg['foo'].Get('Foo Bar', 'foo'), 'newbar') eq(conf.userCfg['foo'].GetOptionList('Foo Bar'), ['foo'])
"Test codecontext, coverage 100%" from idlelib import codecontext import unittest import unittest.mock from test.support import requires from tkinter import Tk, Frame, Text, TclError from unittest import mock import re from idlelib import config usercfg = codecontext.idleConf.userCfg testcfg = { 'main': config.IdleUserConfParser(''), 'highlight': config.IdleUserConfParser(''), 'keys': config.IdleUserConfParser(''), 'extensions': config.IdleUserConfParser(''), } code_sample = """\ class C1(): # Class comment. def __init__(self, a, b): self.a = a self.b = b def compare(self): if a > b: return a elif a < b: return b
Much is tested by opening config dialog live or in test_configdialog. Coverage: 27% ''' from test.support import captured_stderr import unittest from idlelib import config # Tests should not depend on fortuitous user configurations. # They must not affect actual user .cfg files. # Replace user parsers with empty parsers that cannot be saved # due to getting '' as the filename when created. idleConf = config.idleConf usercfg = idleConf.userCfg testcfg = {} usermain = testcfg['main'] = config.IdleUserConfParser('') userhigh = testcfg['highlight'] = config.IdleUserConfParser('') userkeys = testcfg['keys'] = config.IdleUserConfParser('') def setUpModule(): idleConf.userCfg = testcfg def tearDownModule(): idleConf.userCfg = usercfg class CurrentColorKeysTest(unittest.TestCase): """ 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
def new_parser(self, path=''): return config.IdleUserConfParser(path)