From b66e964ec1b27d5786d2e2276d18764df6a06e6c Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 19 Jan 2019 13:43:28 +0100 Subject: Value.set_value: allow None for TYPE_STRING set_string() allows it too --- gi/overrides/GObject.py | 4 ++-- tests/test_overrides_gobject.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gi/overrides/GObject.py b/gi/overrides/GObject.py index 04b5be65..20a92b0e 100644 --- a/gi/overrides/GObject.py +++ b/gi/overrides/GObject.py @@ -258,8 +258,8 @@ class Value(GObjectModule.Value): elif gtype == TYPE_DOUBLE: self.set_double(py_value) elif gtype == TYPE_STRING: - if isinstance(py_value, str): - py_value = str(py_value) + if py_value is None or isinstance(py_value, str): + py_value = py_value elif PY2: if isinstance(py_value, text_type): py_value = py_value.encode('UTF-8') diff --git a/tests/test_overrides_gobject.py b/tests/test_overrides_gobject.py index 47759b41..e62a27fd 100644 --- a/tests/test_overrides_gobject.py +++ b/tests/test_overrides_gobject.py @@ -222,8 +222,8 @@ def test_value_string(): assert v.get_value() == u"quux" assert isinstance(v.get_value(), str) - with pytest.raises(TypeError): - v.set_value(None) + v.set_value(None) + assert v.get_value() is None def test_value_pyobject(): -- cgit v1.2.1