[pygobject] tests: Check reading GSettings enums in Gio overrides



commit bbbb7c9ed047a22ac3c43f2b0331d3b5ea32e812
Author: Martin Pitt <martinpitt gnome org>
Date:   Thu Oct 11 17:20:38 2012 +0200

    tests: Check reading GSettings enums in Gio overrides
    
    Also split test_override() into several smaller test cases.

 tests/org.gnome.test.gschema.xml |    9 +++++++++
 tests/test_overrides_gio.py      |   14 +++++++++-----
 2 files changed, 18 insertions(+), 5 deletions(-)
---
diff --git a/tests/org.gnome.test.gschema.xml b/tests/org.gnome.test.gschema.xml
index 221b87a..eb9aab8 100644
--- a/tests/org.gnome.test.gschema.xml
+++ b/tests/org.gnome.test.gschema.xml
@@ -1,4 +1,10 @@
 <schemalist>
+    <enum id="org.gnome.test.FruitType">
+        <value nick="banana" value="0"/>
+        <value nick="apple" value="1"/>
+        <value nick="pear" value="2"/>
+    </enum>
+
     <schema id="org.gnome.test" path="/tests/">
 	<key name="test-boolean" type="b">
 	    <default>true</default>
@@ -12,6 +18,9 @@
 	<key name="test-array" type="ai">
 	    <default>[1,2]</default>
 	</key>
+	<key name="test-enum" enum="org.gnome.test.FruitType">
+	    <default>'banana'</default>
+	</key>
     </schema>
 
     <schema id="org.gnome.nopathtest">
diff --git a/tests/test_overrides_gio.py b/tests/test_overrides_gio.py
index 4866c78..4711068 100644
--- a/tests/test_overrides_gio.py
+++ b/tests/test_overrides_gio.py
@@ -45,6 +45,8 @@ class TestGSettings(unittest.TestCase):
         # value
         self.settings.reset('test-string')
         self.settings.reset('test-array')
+        self.settings.reset('test-boolean')
+        self.settings.reset('test-enum')
 
     def test_native(self):
         self.assertTrue('test-array' in self.settings.list_keys())
@@ -80,25 +82,27 @@ class TestGSettings(unittest.TestCase):
         self.assertEqual(with_path.get_property('path'), '/mypath/')
         self.assertEqual(with_path['np-int'], 42)
 
-    def test_override(self):
-        # dictionary interface
-        self.assertEqual(len(self.settings), 4)
+    def test_dictionary_api(self):
+        self.assertEqual(len(self.settings), 5)
         self.assertTrue('test-array' in self.settings)
         self.assertTrue('test-array' in self.settings.keys())
         self.assertFalse('nonexisting' in self.settings)
         self.assertFalse(4 in self.settings)
         self.assertEqual(bool(self.settings), True)
 
-        # get various types
+    def test_get(self):
         self.assertEqual(self.settings['test-boolean'], True)
         self.assertEqual(self.settings['test-string'], 'Hello')
+        self.assertEqual(self.settings['test-enum'], 'banana')
         self.assertEqual(self.settings['test-array'], [1, 2])
         self.assertEqual(self.settings['test-tuple'], (1, 2))
 
         self.assertRaises(KeyError, self.settings.__getitem__, 'unknown')
         self.assertRaises(KeyError, self.settings.__getitem__, 2)
 
-        # set a value
+    def test_set(self):
+        self.settings['test-boolean'] = False
+        self.assertEqual(self.settings['test-boolean'], False)
         self.settings['test-string'] = 'Goodbye'
         self.assertEqual(self.settings['test-string'], 'Goodbye')
         self.settings['test-array'] = [3, 4, 5]



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]