summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/builtin_compile.py3
-rw-r--r--tests/basics/builtin_hash.py18
-rw-r--r--tests/basics/io_buffered_writer.py3
-rw-r--r--tests/basics/io_buffered_writer.py.exp1
4 files changed, 25 insertions, 0 deletions
diff --git a/tests/basics/builtin_compile.py b/tests/basics/builtin_compile.py
index a2f2cbe550..41dc746ad1 100644
--- a/tests/basics/builtin_compile.py
+++ b/tests/basics/builtin_compile.py
@@ -42,4 +42,7 @@ def test():
print("NameError")
print(x) # check 'x' still exists as a global
+ # hashing a compiled function object
+ print(type(hash(compile("", "", "exec"))))
+
test()
diff --git a/tests/basics/builtin_hash.py b/tests/basics/builtin_hash.py
index 704895fbb6..89e1cfb47a 100644
--- a/tests/basics/builtin_hash.py
+++ b/tests/basics/builtin_hash.py
@@ -5,6 +5,24 @@ print(hash(True))
print({():1}) # hash tuple
print({(1,):1}) # hash non-empty tuple
print(hash in {hash:1}) # hash function
+print(type(hash(list.pop))) # hash checked function (mp_type_checked_fun)
+print(type(hash([].pop))) # hash bound method
+print(type(hash(object()))) # hash object instance
+print(type(hash(super(object, object)))) # hash super
+print(type(hash(classmethod(hash)))) # hash classmethod
+print(type(hash(staticmethod(hash)))) # hash staticmethod
+print(type(hash(iter("")))) # hash string iterator
+print(type(hash(iter(b"")))) # hash bytes iterator
+print(type(hash(iter(range(0))))) # hash range iterator
+print(type(hash(map(None, [])))) # hash map object
+print(type(hash(zip([])))) # hash zip object
+
+def f(x):
+ def g():
+ return x
+ return g
+
+print(type(hash(f(1)))) # hash closure
try:
hash([])
diff --git a/tests/basics/io_buffered_writer.py b/tests/basics/io_buffered_writer.py
index c2cedb9912..0e943cb0a9 100644
--- a/tests/basics/io_buffered_writer.py
+++ b/tests/basics/io_buffered_writer.py
@@ -25,3 +25,6 @@ bts = io.BytesIO()
buf = io.BufferedWriter(bts, 1)
buf.write(b"foo")
print(bts.getvalue())
+
+# hashing a BufferedWriter
+print(type(hash(buf)))
diff --git a/tests/basics/io_buffered_writer.py.exp b/tests/basics/io_buffered_writer.py.exp
index d086935a92..2209348f5a 100644
--- a/tests/basics/io_buffered_writer.py.exp
+++ b/tests/basics/io_buffered_writer.py.exp
@@ -3,3 +3,4 @@ b'foobarfo'
b'foobarfoobar'
b'foobarfoobar'
b'foo'
+<class 'int'>