mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2025-07-21 12:41:10 +02:00
204 lines
5.5 KiB
Python
204 lines
5.5 KiB
Python
import unittest
|
|
from unittests import wtc
|
|
import wx
|
|
import os
|
|
|
|
cfgFilename = os.path.join(os.path.dirname(__file__), 'cfgtest')
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
class ConfigTests(wtc.WidgetTestCase):
|
|
|
|
def writeStuff(self, cfg):
|
|
cfg.SetPath('/one/two/three')
|
|
cfg.Write('key', 'value')
|
|
cfg.WriteInt('int', 123)
|
|
cfg.WriteFloat('float', 123.456)
|
|
cfg.WriteBool('bool', True)
|
|
cfg.Flush()
|
|
|
|
|
|
def test_Config1(self):
|
|
null = wx.LogNull()
|
|
name = cfgFilename + '_1'
|
|
cfg = wx.Config('unittest_ConfigTests', localFilename=name)
|
|
self.writeStuff(cfg)
|
|
del cfg
|
|
if os.path.exists(name):
|
|
os.remove(name)
|
|
|
|
|
|
def test_Config2(self):
|
|
null = wx.LogNull()
|
|
name = cfgFilename + '_2'
|
|
|
|
cfg = wx.Config('unittest_ConfigTests', localFilename=name)
|
|
self.writeStuff(cfg)
|
|
|
|
cfg.SetPath('/before')
|
|
self.assertTrue(cfg.GetPath() == '/before')
|
|
changer = wx.ConfigPathChanger(cfg, '/one/two/three/')
|
|
self.assertTrue(cfg.GetPath() == '/one/two/three')
|
|
del changer
|
|
self.assertTrue(cfg.GetPath() == '/before')
|
|
|
|
del cfg
|
|
if os.path.exists(name):
|
|
os.remove(name)
|
|
|
|
|
|
def test_Config3(self):
|
|
null = wx.LogNull()
|
|
name = cfgFilename + '_3'
|
|
|
|
cfg = wx.Config('unittest_ConfigTests', localFilename=name)
|
|
self.writeStuff(cfg)
|
|
|
|
cfg.SetPath('/before')
|
|
self.assertTrue(cfg.GetPath() == '/before')
|
|
with wx.ConfigPathChanger(cfg, '/one/two/three/'):
|
|
self.assertTrue(cfg.GetPath() == '/one/two/three')
|
|
self.assertTrue(cfg.GetPath() == '/before')
|
|
|
|
del cfg
|
|
if os.path.exists(name):
|
|
os.remove(name)
|
|
|
|
|
|
def test_Config4(self):
|
|
null = wx.LogNull()
|
|
name = cfgFilename + '_4'
|
|
|
|
cfg0 = wx.Config('unittest_ConfigTests', localFilename=name)
|
|
wx.Config.Set(cfg0)
|
|
|
|
cfg = wx.Config.Get(False)
|
|
#self.assertTrue(cfg is cfg0)
|
|
self.writeStuff(cfg)
|
|
del cfg
|
|
|
|
cfg = wx.Config.Get()
|
|
cfg.SetPath('/one/two/three')
|
|
self.assertTrue(cfg.GetPath() == '/one/two/three')
|
|
self.assertTrue(cfg.GetNumberOfEntries() == 4)
|
|
self.assertTrue(cfg.Read('key') == 'value')
|
|
self.assertTrue(cfg.ReadInt('int') == 123)
|
|
self.assertTrue(cfg.ReadFloat('float') == 123.456)
|
|
self.assertTrue(cfg.ReadBool('bool') == True)
|
|
self.assertTrue(cfg.Read('no-value', 'defvalue') == 'defvalue')
|
|
|
|
wx.Config.Set(None)
|
|
self.myYield()
|
|
if os.path.exists(name):
|
|
os.remove(name)
|
|
|
|
|
|
def test_Config5(self):
|
|
null = wx.LogNull()
|
|
name = cfgFilename + '_5'
|
|
|
|
cfg = wx.Config('unittest_ConfigTests', localFilename=name)
|
|
cfg.SetPath('/zero')
|
|
cfg.Write('key1', 'value')
|
|
cfg.Write('key2', 'value')
|
|
cfg.Write('key3', 'value')
|
|
|
|
cfg.SetPath('/one')
|
|
cfg.Write('key1', 'value')
|
|
cfg.Write('key2', 'value')
|
|
cfg.Write('key3', 'value')
|
|
|
|
cfg.SetPath('/two')
|
|
cfg.Write('key1', 'value')
|
|
cfg.Write('key2', 'value')
|
|
cfg.Write('key3', 'value')
|
|
|
|
cfg.SetPath('/three')
|
|
cfg.Write('key1', 'value')
|
|
cfg.Write('key2', 'value')
|
|
cfg.Write('key3', 'value')
|
|
|
|
cfg.Flush()
|
|
|
|
cfg.SetPath('/')
|
|
count = 0
|
|
more, group, index = cfg.GetFirstGroup()
|
|
while more:
|
|
count += 1
|
|
more, group, index = cfg.GetNextGroup(index)
|
|
self.assertEqual(count, 4)
|
|
|
|
cfg.SetPath('/two')
|
|
count = 0
|
|
more, entry, index = cfg.GetFirstEntry()
|
|
while more:
|
|
count += 1
|
|
more, entry, index = cfg.GetNextEntry(index)
|
|
self.assertEqual(count, 3)
|
|
|
|
del cfg
|
|
if os.path.exists(name):
|
|
os.remove(name)
|
|
|
|
|
|
def test_Config6(self):
|
|
null = wx.LogNull()
|
|
name = cfgFilename + '_6'
|
|
|
|
cfg = wx.FileConfig('unittest_ConfigTests', localFilename=name)
|
|
cfg.SetPath('/zero')
|
|
cfg.Write('key1', 'value')
|
|
cfg.Write('key2', 'value')
|
|
cfg.Write('key3', 'value')
|
|
|
|
cfg.SetPath('/one')
|
|
cfg.Write('key1', 'value')
|
|
cfg.Write('key2', 'value')
|
|
cfg.Write('key3', 'value')
|
|
|
|
cfg.SetPath('/two')
|
|
cfg.Write('key1', 'value')
|
|
cfg.Write('key2', 'value')
|
|
cfg.Write('key3', 'value')
|
|
|
|
cfg.SetPath('/three')
|
|
cfg.Write('key1', 'value')
|
|
cfg.Write('key2', 'value')
|
|
cfg.Write('key3', 'value')
|
|
|
|
cfg.Flush()
|
|
|
|
cfg.SetPath('/')
|
|
count = 0
|
|
more, group, index = cfg.GetFirstGroup()
|
|
while more:
|
|
count += 1
|
|
more, group, index = cfg.GetNextGroup(index)
|
|
self.assertEqual(count, 4)
|
|
|
|
cfg.SetPath('/two')
|
|
count = 0
|
|
more, entry, index = cfg.GetFirstEntry()
|
|
while more:
|
|
count += 1
|
|
more, entry, index = cfg.GetNextEntry(index)
|
|
self.assertEqual(count, 3)
|
|
|
|
del cfg
|
|
if os.path.exists(name):
|
|
os.remove(name)
|
|
|
|
def test_ConfigEnums(self):
|
|
# Test for presence of config enums
|
|
wx.CONFIG_USE_LOCAL_FILE
|
|
wx.CONFIG_USE_GLOBAL_FILE
|
|
wx.CONFIG_USE_RELATIVE_PATH
|
|
wx.CONFIG_USE_NO_ESCAPE_CHARACTERS
|
|
wx.CONFIG_USE_SUBDIR
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|