summaryrefslogtreecommitdiff
path: root/tests/basics/dict_fixed.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/dict_fixed.py')
-rw-r--r--tests/basics/dict_fixed.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/basics/dict_fixed.py b/tests/basics/dict_fixed.py
new file mode 100644
index 000000000..4261a0655
--- /dev/null
+++ b/tests/basics/dict_fixed.py
@@ -0,0 +1,48 @@
+# test that fixed dictionaries cannot be modified
+
+try:
+ import uerrno
+except ImportError:
+ print("SKIP")
+ raise SystemExit
+
+# Save a copy of uerrno.errorcode, so we can check later
+# that it hasn't been modified.
+errorcode_copy = uerrno.errorcode.copy()
+
+try:
+ uerrno.errorcode.popitem()
+except TypeError:
+ print("TypeError")
+
+try:
+ uerrno.errorcode.pop(0)
+except TypeError:
+ print("TypeError")
+
+try:
+ uerrno.errorcode.setdefault(0, 0)
+except TypeError:
+ print("TypeError")
+
+try:
+ uerrno.errorcode.update([(1, 2)])
+except TypeError:
+ print("TypeError")
+
+try:
+ del uerrno.errorcode[1]
+except TypeError:
+ print("TypeError")
+
+try:
+ uerrno.errorcode[1] = 'foo'
+except TypeError:
+ print("TypeError")
+
+try:
+ uerrno.errorcode.clear()
+except TypeError:
+ print("TypeError")
+
+assert uerrno.errorcode == errorcode_copy