Files
Phoenix/unittests/test_lib_agw_persist_persistencemanager.py
2016-12-05 16:19:11 -06:00

324 lines
11 KiB
Python

import unittest
from unittests import wtc
import wx
import random
import os
import wx.lib.agw.persist as PM
#---------------------------------------------------------------------------
class lib_agw_persist_persistencemanager_Tests(wtc.WidgetTestCase):
def setUp(self):
super(lib_agw_persist_persistencemanager_Tests, self).setUp()
dirName = os.path.dirname(os.path.abspath(__file__))
self._configFile1 = os.path.join(dirName, "PersistTest1")
def test_persistencemanagerCtor(self):
self._persistMgr = PM.PersistenceManager.Get()
self._persistMgr.SetManagerStyle(PM.PM_SAVE_RESTORE_AUI_PERSPECTIVES)
self._persistMgr.SetPersistenceFile(self._configFile1)
# give the frame a Name for below
self.frame.SetName('PersistTestFrame')
cb = wx.CheckBox(self.frame, name='PersistCheck')
cb.persistValue = True
cb.SetValue(False)
self._persistMgr.RegisterAndRestoreAll(self.frame)
self._persistMgr.SaveAndUnregister()
def test_persistencemanagerRestore(self):
self._persistMgr = PM.PersistenceManager.Get()
self._persistMgr.SetPersistenceFile(self._configFile1)
# give the frame a Name for below
self.frame.SetName('PersistTestFrame')
self._persistMgr.RegisterAndRestoreAll(self.frame)
self.assertEqual(self._persistMgr.HasRestored(), True, "Persistence should be there, as it was created in CTOR test.")
def test_persistencemanagerPersistValue(self):
self._persistMgr = PM.PersistenceManager.Get()
self._persistMgr.SetManagerStyle(PM.PM_SAVE_RESTORE_AUI_PERSPECTIVES)
self._persistMgr.SetPersistenceFile(self._configFile1)
# give the frame a Name for below
self.frame.SetName('PersistTestFrame')
cb = wx.CheckBox(self.frame, name='PersistCheck')
cb.persistValue = True
self._persistMgr.RegisterAndRestoreAll(self.frame)
self.assertEqual(self._persistMgr.HasRestored(), True, "Persistence should be there, as it was created in CTOR test.")
self.assertEqual(cb.GetValue(), False, "Should be False as set in CTOR test")
def test_persistencemanagerZZZZCleanup(self):
# Just clean up the test file used by the other tests...
# TODO: Fix these tests to be self-contained and to clean up after themselves
if os.path.exists(self._configFile1):
os.unlink(self._configFile1)
def test_persistencemanagerConstantsExist(self):
# PersistenceManager styles
PM.PM_SAVE_RESTORE_AUI_PERSPECTIVES
PM.PM_SAVE_RESTORE_TREE_LIST_SELECTIONS
PM.PM_PERSIST_CONTROL_VALUE
PM.PM_RESTORE_CAPTION_FROM_CODE
PM.PM_DEFAULT_STYLE
# String constants used by BookHandler
PM.PERSIST_BOOK_KIND
PM.PERSIST_BOOK_SELECTION
# To save and restore wx.lib.agw.aui.AuiNotebook perspectives
PM.PERSIST_BOOK_AGW_AUI_PERSPECTIVE
# ----------------------------------------------------------------------------------- #
# String constants used by TreebookHandler
PM.PERSIST_TREEBOOK_KIND
# this key contains the indices of all expanded nodes in the tree book
# separated by PERSIST_SEP
PM.PERSIST_TREEBOOK_EXPANDED_BRANCHES
PM.PERSIST_SEP
# ----------------------------------------------------------------------------------- #
# String constants used by TLWHandler
# we use just "Window" to keep configuration files and such short, there
# should be no confusion with wx.Window itself as we don't have persistent
# windows, just persistent controls which have their own specific kind strings
PM.PERSIST_TLW_KIND
# Names for various persistent options
PM.PERSIST_TLW_X
PM.PERSIST_TLW_Y
PM.PERSIST_TLW_W
PM.PERSIST_TLW_H
PM.PERSIST_TLW_MAXIMIZED
PM.PERSIST_TLW_ICONIZED
# To save and restore wx.aui and wx.lib.agw.aui perspectives
PM.PERSIST_AGW_AUI_PERSPECTIVE
PM.PERSIST_AUI_PERSPECTIVE
PM.PERSIST_AUIPERSPECTIVE_KIND
# ----------------------------------------------------------------------------------- #
# String constants used by CheckBoxHandler
PM.PERSIST_CHECKBOX_KIND
PM.PERSIST_CHECKBOX_3STATE
PM.PERSIST_CHECKBOX
# ----------------------------------------------------------------------------------- #
# String constants used by ListBoxHandler
PM.PERSIST_LISTBOX_KIND
PM.PERSIST_LISTBOX_SELECTIONS
# ----------------------------------------------------------------------------------- #
# String constants used by ListCtrlHandler
PM.PERSIST_LISTCTRL_KIND
PM.PERSIST_LISTCTRL_COLWIDTHS
# ----------------------------------------------------------------------------------- #
# String constants used by CheckListBoxHandler
PM.PERSIST_CHECKLISTBOX_KIND
PM.PERSIST_CHECKLIST_CHECKED
PM.PERSIST_CHECKLIST_SELECTIONS
# ----------------------------------------------------------------------------------- #
# String constants used by ChoiceComboHandler
PM.PERSIST_CHOICECOMBO_KIND
PM.PERSIST_CHOICECOMBO_SELECTION
# ----------------------------------------------------------------------------------- #
# String constants used by RadioBoxHandler
PM.PERSIST_RADIOBOX_KIND
PM.PERSIST_RADIOBOX_SELECTION
# ----------------------------------------------------------------------------------- #
# String constants used by RadioButtonHandler
PM.PERSIST_RADIOBUTTON_KIND
PM.PERSIST_RADIOBUTTON_VALUE
# ----------------------------------------------------------------------------------- #
# String constants used by ScrolledWindowHandler
PM.PERSIST_SCROLLEDWINDOW_KIND
PM.PERSIST_SCROLLEDWINDOW_POS_H
PM.PERSIST_SCROLLEDWINDOW_POS_V
# ----------------------------------------------------------------------------------- #
# String constants used by SliderHandler
PM.PERSIST_SLIDER_KIND
PM.PERSIST_SLIDER_VALUE
# ----------------------------------------------------------------------------------- #
# String constants used by SpinHandler
PM.PERSIST_SPIN_KIND
PM.PERSIST_SPIN_VALUE
# ----------------------------------------------------------------------------------- #
# String constants used by SplitterHandler
PM.PERSIST_SPLITTER_KIND
PM.PERSIST_SPLITTER_POSITION
# ----------------------------------------------------------------------------------- #
# String constants used by TextCtrlHandler
PM.PERSIST_TEXTCTRL_KIND
PM.PERSIST_TEXTCTRL_VALUE
# ----------------------------------------------------------------------------------- #
# String constants used by ToggleButtonHandler
PM.PERSIST_TOGGLEBUTTON_KIND
PM.PERSIST_TOGGLEBUTTON_TOGGLED
# ----------------------------------------------------------------------------------- #
# String constants used by TreeCtrlHandler
PM.PERSIST_TREECTRL_KIND
PM.PERSIST_TREECTRL_CHECKED_ITEMS
PM.PERSIST_TREECTRL_EXPANSION
PM.PERSIST_TREECTRL_SELECTIONS
# ----------------------------------------------------------------------------------- #
# String constants used by TreeListCtrlHandler
PM.PERSIST_TREELISTCTRL_KIND
PM.PERSIST_TREELISTCTRL_COLWIDTHS
# ----------------------------------------------------------------------------------- #
# String constants used by CalendarCtrlHandler
PM.PERSIST_CALENDAR_KIND
PM.PERSIST_CALENDAR_DATE
# ----------------------------------------------------------------------------------- #
# String constants used by CollapsiblePaneHandler
PM.PERSIST_COLLAPSIBLE_KIND
PM.PERSIST_COLLAPSIBLE_STATE
# ----------------------------------------------------------------------------------- #
# String constants used by DatePickerHandler
PM.PERSIST_DATEPICKER_KIND
PM.PERSIST_DATEPICKER_DATE
# ----------------------------------------------------------------------------------- #
# String constants used by MediaCtrlHandler
PM.PERSIST_MEDIA_KIND
PM.PERSIST_MEDIA_POS
PM.PERSIST_MEDIA_VOLUME
PM.PERSIST_MEDIA_RATE
# ----------------------------------------------------------------------------------- #
# String constants used by ColourPickerHandler
PM.PERSIST_COLOURPICKER_KIND
PM.PERSIST_COLOURPICKER_COLOUR
# ----------------------------------------------------------------------------------- #
# String constants used by FileDirPickerHandler
PM.PERSIST_FILEDIRPICKER_KIND
PM.PERSIST_FILEDIRPICKER_PATH
# ----------------------------------------------------------------------------------- #
# String constants used by FontPickerHandler
PM.PERSIST_FONTPICKER_KIND
PM.PERSIST_FONTPICKER_FONT
# ----------------------------------------------------------------------------------- #
# String constants used by FileHistoryHandler
PM.PERSIST_FILEHISTORY_KIND
PM.PERSIST_FILEHISTORY_PATHS
# ----------------------------------------------------------------------------------- #
# String constants used by FindReplaceHandler
PM.PERSIST_FINDREPLACE_KIND
PM.PERSIST_FINDREPLACE_FLAGS
PM.PERSIST_FINDREPLACE_SEARCH
PM.PERSIST_FINDREPLACE_REPLACE
# ----------------------------------------------------------------------------------- #
# String constants used by FontDialogHandler
PM.PERSIST_FONTDIALOG_KIND
PM.PERSIST_FONTDIALOG_EFFECTS
PM.PERSIST_FONTDIALOG_SYMBOLS
PM.PERSIST_FONTDIALOG_COLOUR
PM.PERSIST_FONTDIALOG_FONT
PM.PERSIST_FONTDIALOG_HELP
# ----------------------------------------------------------------------------------- #
# String constants used by ColourDialogHandler
PM.PERSIST_COLOURDIALOG_KIND
PM.PERSIST_COLOURDIALOG_COLOUR
PM.PERSIST_COLOURDIALOG_CHOOSEFULL
PM.PERSIST_COLOURDIALOG_CUSTOMCOLOURS
# ----------------------------------------------------------------------------------- #
# String constants used by ChoiceDialogHandler
PM.PERSIST_CHOICEDIALOG_KIND
PM.PERSIST_CHOICEDIALOG_SELECTIONS
# ----------------------------------------------------------------------------------- #
# String constants used by MenuBarHandler
PM.PERSIST_MENUBAR_KIND
PM.PERSIST_MENUBAR_CHECKRADIO_ITEMS
# ----------------------------------------------------------------------------------- #
# String constants used by ToolBarHandler
PM.PERSIST_TOOLBAR_KIND
PM.PERSIST_TOOLBAR_CHECKRADIO_ITEMS
# ----------------------------------------------------------------------------------- #
# String constants used by FoldPanelBarHandler
PM.PERSIST_FOLDPANELBAR_KIND
PM.PERSIST_FOLDPANELBAR_EXPANDED
#---------------------------------------------------------------------------
if __name__ == '__main__':
unittest.main()