summaryrefslogtreecommitdiff
path: root/tests/test_multidict.py
diff options
context:
space:
mode:
authorianb <devnull@localhost>2006-09-26 17:11:04 +0000
committerianb <devnull@localhost>2006-09-26 17:11:04 +0000
commita731343f4b009e8afdbe21f44ddbaaa108381853 (patch)
tree6e7537606a596ea5cc63ba7a2e722bf8b61992de /tests/test_multidict.py
parent71b94e30a52613047204a8bbd3cae5bbb348bb23 (diff)
downloadpaste-a731343f4b009e8afdbe21f44ddbaaa108381853.tar.gz
Added some tests for multidict; fixed setdefault
Diffstat (limited to 'tests/test_multidict.py')
-rw-r--r--tests/test_multidict.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test_multidict.py b/tests/test_multidict.py
new file mode 100644
index 0000000..494b0b2
--- /dev/null
+++ b/tests/test_multidict.py
@@ -0,0 +1,24 @@
+from paste.util.multidict import MultiDict
+from py.test import raises
+
+def test_dict():
+ d = MultiDict({'a': 1})
+ assert d.items() == [('a', 1)]
+ d['b'] = 2
+ d['c'] = 3
+ assert d.items() == [('a', 1), ('b', 2), ('c', 3)]
+ d['b'] = 4
+ assert d.items() == [('a', 1), ('c', 3), ('b', 4)]
+ d.add('b', 5)
+ raises(KeyError, 'd.getone("b")')
+ assert d.getall('b') == [4, 5]
+ assert d.items() == [('a', 1), ('c', 3), ('b', 4), ('b', 5)]
+ del d['b']
+ assert d.items() == [('a', 1), ('c', 3)]
+ assert d.pop('xxx', 5) == 5
+ assert d.getone('a') == 1
+ assert d.popitem() == ('c', 3)
+ assert d.items() == [('a', 1)]
+ item = []
+ assert d.setdefault('z', item) is item
+ assert d.items() == [('a', 1), ('z', item)]