diff options
Diffstat (limited to 'tests/glibext')
-rw-r--r-- | tests/glibext/configuration.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/tests/glibext/configuration.py b/tests/glibext/configuration.py new file mode 100644 index 0000000..786fc9e --- /dev/null +++ b/tests/glibext/configuration.py @@ -0,0 +1,71 @@ + +import gi +gi.require_version('Gdk', '3.0') +from gi.repository import Gdk + +from chrysacase import ChrysalideTestCase +from pychrysalide.glibext import ConfigParam + + +class TestConfiguration(ChrysalideTestCase): + """TestCase for configuration related items.*""" + + + def testCfgParamValues(self): + """Set and unset configuration parameter values.""" + + color = Gdk.RGBA() + color.parse('#3465A4') + + param = ConfigParam('config.color', ConfigParam.ConfigParamType.COLOR, color) + + self.assertEqual(param.value, color) + + param.make_empty() + + void = Gdk.RGBA(red=0, green=0, blue=0, alpha=0) + self.assertEqual(param.value, void) + + param.value = color + + self.assertEqual(param.value, color) + + + def testCfgParamStates(self): + """Validate all states of an evolving parameter.""" + + param = ConfigParam('config.int', ConfigParam.ConfigParamType.INTEGER) + + self.assertEqual(param.state, ConfigParam.ConfigParamState.EMPTY | ConfigParam.ConfigParamState.DEFAULT) + + param.make_empty() + + self.assertEqual(param.state, ConfigParam.ConfigParamState.EMPTY | ConfigParam.ConfigParamState.DEFAULT) + + param = ConfigParam('config.int', ConfigParam.ConfigParamType.INTEGER, 0x123) + + self.assertEqual(param.value, 0x123) + + self.assertEqual(param.state, ConfigParam.ConfigParamState.DEFAULT) + + param.make_empty() + + self.assertEqual(param.state, ConfigParam.ConfigParamState.EMPTY | ConfigParam.ConfigParamState.CHANGED) + + param.value = 0x1 + + self.assertEqual(param.state, ConfigParam.ConfigParamState.CHANGED) + + param.reset() + + self.assertEqual(param.state, ConfigParam.ConfigParamState.DEFAULT) + + + def testCfgParamDesc(self): + """Export types and states as strings when needed.""" + + param = ConfigParam('config.int', ConfigParam.ConfigParamType.INTEGER) + + self.assertTrue('|' in str(param.state)) + + self.assertTrue('.' in str(param.type)) |