summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPatrick Griffis <pgriffis@igalia.com>2021-07-28 16:58:27 -0500
committerPatrick Griffis <tingping@tingping.se>2021-08-08 19:01:31 +0000
commit6d2bfc0701349cfae9e81414ceb42dd2919985d3 (patch)
tree533aa3bcb9b6c07f7722b4e9d38a5510cd070f44 /tests
parenta8a44b5cc82fe646425a2ed1ad96799894727103 (diff)
downloadlibsoup-6d2bfc0701349cfae9e81414ceb42dd2919985d3.tar.gz
Add pygobject overrides
This makes SoupMessageHeaders usage more pythonic and could be expanded upon later.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/overrides-test.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/overrides-test.py b/tests/overrides-test.py
new file mode 100755
index 00000000..7e548e1d
--- /dev/null
+++ b/tests/overrides-test.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python3
+
+import collections.abc
+import gi
+
+gi.require_version('Soup', '3.0')
+
+from gi.repository import Soup
+
+# MessageHeaders overrides
+headers = Soup.MessageHeaders.new(Soup.MessageHeadersType.REQUEST)
+
+assert isinstance(headers, collections.abc.Mapping)
+assert isinstance(headers, collections.abc.MutableMapping)
+
+headers['one'] = 'one-value'
+headers['two'] = 'two-value'
+
+assert headers['one'] == 'one-value'
+assert headers['two'] == 'two-value'
+
+assert len(headers) == 2
+
+assert headers.keys() == ['one', 'two']
+assert headers.values() == ['one-value', 'two-value']
+assert headers.items() == {'one': 'one-value', 'two': 'two-value'}
+assert 'one' in headers
+assert headers.get('one') == 'one-value'
+
+del headers['one']
+assert 'one' not in headers
+
+assert headers.pop('two') == 'two-value'
+assert not headers
+headers['one'] = 'one-value'
+assert headers
+headers.clear()
+assert not headers