def testRemoveSection(self): config = Config(self.path) config.set("Секция 1", "Параметр 1", "Значение 1") config.set("Секция 1", "Параметр 2", 111) config.remove_section("Секция 1") config2 = Config(self.path) self.assertRaises(configparser.NoSectionError, config2.get, "Секция 1", "Параметр 1")
def testWrite(self): """ Тесты на то, что измененные значения сразу сохраняются в файл """ config = Config(self.path) config.set("Секция 1", "Параметр 1", "Значение 1") config.set("Секция 1", "Параметр 2", 111) config2 = Config(self.path) self.assertEqual(config2.get("Секция 1", "Параметр 1"), "Значение 1") self.assertEqual(config2.getint("Секция 1", "Параметр 2"), 111)
def testSave(self): config = Config(self.path) recent = RecentWiki(config) recent.add("path1") recent.add("path2") recent.add("path3") config2 = Config(self.path) recent2 = RecentWiki(config2) self.assertEqual(len(recent2), 3) self.assertEqual(recent2[0], "path3") self.assertEqual(recent2[1], "path2") self.assertEqual(recent2[2], "path1")
def setUp(self): self.path = "../test/testconfig.ini" # Создадим небольшой файл настроек with open(self.path, "w", encoding='utf8') as fp: fp.write("[Test]\n") fp.write("intval=100\n") fp.write("boolval=True\n") fp.write("datetimeval=2012-08-25 16:18:24.171654\n") fp.write("datetimeerror=sdfasdfasdf\n") fp.write("strval=тест\n") fp.write( "style_01=fore:#AAAAAA,back:#111111,bold,italic,underline\n") fp.write("style_02=back:#111111,bold,italic,underline\n") fp.write("style_03=bold\n") fp.write("style_invalid_01=asdfadsfads\n") fp.write("list1=элемент 1;элемент 2;элемент 3\n") fp.write("list2=элемент 1\n") fp.write("list3=\n") fp.write("list4=;\n") fp.write("list5=;;\n") fp.write("list6=элемент 1;\n") fp.write("list8=элемент 1|элемент 2|элемент 3\n") fp.write("list9=элемент 1\n") fp.write("list10=\n") fp.write("list11=|\n") fp.write("list12=элемент 1|\n") self.config = Config(self.path)
def init(self, fullConfigPath): """ Initialize config and locale """ self.fullConfigPath = fullConfigPath self.config = Config(fullConfigPath) self.recentWiki = RecentWiki(self.config)
def init(self, configFilename): """ Initialize config and locale """ self.config = Config(configFilename) self.recentWiki = RecentWiki(self.config) self.__initLocale()
def testGetSet(self): config = Config(self.path) config.set("Секция 1", "Параметр 1", "Значение 1") config.set("Секция 1", "Параметр 2", 111) self.assertEqual(config.get("Секция 1", "Параметр 1"), "Значение 1") self.assertEqual(config.getint("Секция 1", "Параметр 2"), 111)
def testIntOpt3(self): opt = IntegerOption(self.config, "Test", "intval3", 777) opt.value = 666 newconfig = Config(self.path) newopt = IntegerOption(newconfig, "Test", "intval3", 888) self.assertEqual(newopt.value, 666)
def testStringOpt3(self): opt = StringOption(self.config, "Test", "strval3", "defaultval") opt.value = "проверка" newconfig = Config(self.path) newopt = StringOption(newconfig, "Test", "strval3", "defaultval") self.assertEqual(newopt.value, "проверка")
def testBoolOpt3(self): opt = BooleanOption(self.config, "Test", "Boolval3", False) opt.value = True newconfig = Config(self.path) newopt = BooleanOption(newconfig, "Test", "Boolval3", False) self.assertEqual(newopt.value, True)
def testHotKeyOptionEmptyConfig(self): config = Config(self.path) hotKeyDefault = HotKey("F11", ctrl=True) section = "TestHotKey" paramName = "MyHotKey" option = HotKeyOption(config, section, paramName, hotKeyDefault) self.assertEqual(option.value, hotKeyDefault)
def testHasSection(self): config = Config(self.path) config.set("Секция 1", "Параметр 1", "Значение 1") config.set("Секция 1", "Параметр 2", 111) self.assertEqual(config.has_section("Секция 1"), True) config.remove_section("Секция 1") self.assertEqual(config.has_section("Секция 1"), False)
def testDateTimeOpt4(self): newdate = datetime.datetime(2012, 8, 25) opt = DateTimeOption(self.config, "Test", "datetimeval2", None) opt.value = newdate newconfig = Config(self.path) newopt = DateTimeOption(newconfig, "Test", "datetimeval2", None) self.assertEqual(newopt.value, newdate)
def testRead(self): config = Config(self.path) content1 = EmptyContent(config) content2 = EmptyContent(config) content1.content = self.text # Проверим, что есть какое-то непустое значение по умолчанию self.assertEqual(content2.content, self.text) self.assertEqual(content2.content, content1.content)
def testInvalidConfigFile(self): invalid_fname = "outwiker_invalid.ini" src_invalid_full_path = os.path.join("../test", "samplefiles", invalid_fname) shutil.copy(src_invalid_full_path, self.tempdir) fullpath = os.path.join(self.tempdir, invalid_fname) Config(fullpath) self.assertTrue(os.path.exists(fullpath)) self.assertTrue(os.path.exists(fullpath + ".bak"))
def testReadOption3(self): with open(self.path, "w") as fp: fp.write("""[TestHotKey] MyHotKey=Ctrl+""") config = Config(self.path) section = "TestHotKey" paramName = "MyHotKey" option = HotKeyOption(config, section, paramName, None) result = option.value self.assertEqual(result, None)
def testHotKeyWrite2(self): config = Config(self.path) section = "TestHotKey" paramName = "MyHotKey" option = HotKeyOption(config, section, paramName, None) option.value = None with open(self.path) as fp: resultFile = fp.read() self.assertTrue("[TestHotKey]" in resultFile) self.assertTrue("myhotkey =" in resultFile)
def testSaveListOption9(self): testlist = [""] opt = ListOption(self.config, "Test", "savelist", [], separator="|") opt.value = testlist newconfig = Config(self.path) newopt = ListOption(newconfig, "Test", "savelist", [], separator="|") self.assertEqual(newopt.value, testlist) stringopt = StringOption(self.config, "Test", "savelist", "") self.assertEqual(stringopt.value.strip(), "")
def testSaveListOption3(self): testlist = [] opt = ListOption(self.config, "Test", "savelist", []) opt.value = testlist newconfig = Config(self.path) newopt = ListOption(newconfig, "Test", "savelist", []) self.assertEqual(newopt.value, [""]) stringopt = StringOption(newconfig, "Test", "savelist", "") self.assertEqual(stringopt.value.strip(), "")
def testSaveListOption2(self): testlist = [u"элемент 1"] opt = ListOption(self.config, u"Test", u"savelist", []) opt.value = testlist newconfig = Config(self.path) newopt = ListOption(newconfig, u"Test", u"savelist", []) self.assertEqual(newopt.value, testlist) stringopt = StringOption(newconfig, u"Test", u"savelist", "") self.assertEqual(stringopt.value.strip(), u"элемент 1")
def testReadOption4(self): with open(self.path, "w") as fp: fp.write("""[TestHotKey] MyHotKey=Ctrl+DEL""") config = Config(self.path) section = "TestHotKey" paramName = "MyHotKey2" hotKeyDefault = HotKey("F11", ctrl=True) option = HotKeyOption(config, section, paramName, hotKeyDefault) result = option.value self.assertEqual(result, hotKeyDefault)
def testSaveListOption4(self): testlist = [u"элемент 1", u"элемент 2", u"элемент 3"] opt = ListOption(self.config, u"Test", u"savelist", [], separator="|") opt.value = testlist newconfig = Config(self.path) newopt = ListOption(newconfig, u"Test", u"savelist", [], separator="|") self.assertEqual(newopt.value, testlist) stringopt = StringOption(newconfig, u"Test", u"savelist", "") self.assertEqual(stringopt.value.strip(), u"элемент 1|элемент 2|элемент 3")
def testHotKeyWrite1(self): config = Config(self.path) hotkey = HotKey("F11", ctrl=True) section = "TestHotKey" paramName = "MyHotKey" option = HotKeyOption(config, section, paramName, None) option.value = hotkey with open(self.path) as fp: resultFile = fp.read() self.assertTrue("[TestHotKey]" in resultFile) self.assertTrue("myhotkey = Ctrl+F11" in resultFile)
def testSaveListOption1(self): testlist = ["элемент 1", "элемент 2", "элемент 3"] opt = ListOption(self.config, "Test", "savelist", []) opt.value = testlist newconfig = Config(self.path) newopt = ListOption(newconfig, "Test", "savelist", []) self.assertEqual(newopt.value, testlist) stringopt = StringOption(newconfig, "Test", "savelist", "") self.assertEqual(stringopt.value.strip(), "элемент 1;элемент 2;элемент 3")
def testRepeat2(self): """ Проверка случая, когда один и тот же файл открывается несолько раз """ config = Config(self.path) recent = RecentWiki(config) recent.add("path1") recent.add("path2") recent.add("path3") recent.add("path1") self.assertEqual(len(recent), 3) self.assertEqual(recent[0], "path1") self.assertEqual(recent[1], "path3") self.assertEqual(recent[2], "path2")
def testReadOption1(self): with open(self.path, "w") as fp: fp.write("""[TestHotKey] MyHotKey=Ctrl+T""") config = Config(self.path) section = "TestHotKey" paramName = "MyHotKey" option = HotKeyOption(config, section, paramName, None) result = option.value self.assertNotEqual(result, None) self.assertEqual(result.key, "T") self.assertTrue(result.ctrl) self.assertFalse(result.alt) self.assertFalse(result.shift)
def testAdd1(self): config = Config(self.path) recent = RecentWiki(config) self.assertEqual(len(recent), 0) recent.add("path1") self.assertEqual(len(recent), 1) self.assertEqual(recent[0], "path1") recent.add("path2") self.assertEqual(len(recent), 2) self.assertEqual(recent[0], "path2") self.assertEqual(recent[1], "path1") recent.add("path3") self.assertEqual(len(recent), 3) self.assertEqual(recent[0], "path3") self.assertEqual(recent[1], "path2") self.assertEqual(recent[2], "path1")
def testLength1(self): """ Тесты, связанные с длиной списка последних открытых вики """ config = Config(self.path) recent = RecentWiki(config) # Значение по умолчанию self.assertEqual(recent.maxlen, 5) recent.add("path1") recent.add("path2") recent.add("path3") recent.add("path4") recent.add("path5") recent.add("path6") self.assertEqual(len(recent), recent.maxlen) self.assertEqual(recent[0], "path6") self.assertEqual(recent[1], "path5") self.assertEqual(recent[2], "path4") self.assertEqual(recent[3], "path3") self.assertEqual(recent[4], "path2")
def setUp(self): self.path = "../test/testconfig.ini" self.config = Config(self.path) self.editorConfig = EditorConfig(self.config)
def setUp(self): self.path = "../test/testconfig.ini" self.config = Config(self.path) self.trayConfig = TrayConfig(self.config)