summaryrefslogtreecommitdiff
path: root/tests/test_gio.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_gio.py')
-rw-r--r--tests/test_gio.py27
1 files changed, 25 insertions, 2 deletions
diff --git a/tests/test_gio.py b/tests/test_gio.py
index 6ad5b116..b5fcdf3c 100644
--- a/tests/test_gio.py
+++ b/tests/test_gio.py
@@ -7,6 +7,8 @@ import os
import unittest
import warnings
+import pytest
+
import gi.overrides
from gi import PyGIWarning
from gi.repository import GLib, Gio
@@ -67,7 +69,13 @@ class TestGSettings(unittest.TestCase):
def test_iter(self):
assert list(self.settings) == [
'test-tuple', 'test-array', 'test-boolean', 'test-string',
- 'test-enum']
+ 'test-enum', 'test-range']
+
+ def test_get_set(self):
+ for key in self.settings:
+ old_value = self.settings[key]
+ self.settings[key] = old_value
+ assert self.settings[key] == old_value
def test_native(self):
self.assertTrue('test-array' in self.settings.list_keys())
@@ -87,6 +95,9 @@ class TestGSettings(unittest.TestCase):
v = self.settings.get_value('test-tuple')
self.assertEqual(v.unpack(), (1, 2))
+ v = self.settings.get_value('test-range')
+ assert v.unpack() == 123
+
# set a value
self.settings.set_string('test-string', 'World')
self.assertEqual(self.settings.get_string('test-string'), 'World')
@@ -104,7 +115,7 @@ class TestGSettings(unittest.TestCase):
self.assertEqual(with_path['np-int'], 42)
def test_dictionary_api(self):
- self.assertEqual(len(self.settings), 5)
+ self.assertEqual(len(self.settings), 6)
self.assertTrue('test-array' in self.settings)
self.assertTrue('test-array' in self.settings.keys())
self.assertFalse('nonexisting' in self.settings)
@@ -135,6 +146,18 @@ class TestGSettings(unittest.TestCase):
self.assertRaises(ValueError, self.settings.__setitem__, 'test-enum', 'plum')
self.assertRaises(KeyError, self.settings.__setitem__, 'unknown', 'moo')
+ def test_set_range(self):
+ self.settings['test-range'] = 7
+ assert self.settings['test-range'] == 7
+ self.settings['test-range'] = 65535
+ assert self.settings['test-range'] == 65535
+
+ with pytest.raises(ValueError, match=".*7 - 65535.*"):
+ self.settings['test-range'] = 7 - 1
+
+ with pytest.raises(ValueError, match=".*7 - 65535.*"):
+ self.settings['test-range'] = 65535 + 1
+
def test_empty(self):
empty = Gio.Settings.new_with_path('org.gnome.empty', '/tests/')
self.assertEqual(len(empty), 0)