Skip to content

Commit e0a2693

Browse files
committed
Add builtin functions/methods __self__ test
1 parent c178bdb commit e0a2693

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

Lib/test/test_funcattrs.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,26 @@ def test_builtin__qualname__(self):
473473
self.assertEqual([1, 2, 3].append.__qualname__, 'list.append')
474474
self.assertEqual({'foo': 'bar'}.pop.__qualname__, 'dict.pop')
475475

476+
def test_builtin__self__(self):
477+
import time
478+
import builtins
479+
480+
# builtin function:
481+
self.assertEqual(len.__self__, builtins)
482+
self.assertEqual(time.sleep.__self__, time)
483+
484+
# builtin classmethod:
485+
self.assertEqual(dict.fromkeys.__self__, dict)
486+
self.assertEqual(float.__getformat__.__self__, float)
487+
488+
# builtin staticmethod:
489+
self.assertEqual(str.maketrans.__self__, None)
490+
self.assertEqual(bytes.maketrans.__self__, None)
491+
492+
# builtin bound instance method:
493+
self.assertEqual([1, 2, 3].append.__self__, [1, 2, 3])
494+
self.assertEqual({'foo': 'bar'}.pop.__self__, {'foo': 'bar'})
495+
476496

477497
if __name__ == "__main__":
478498
unittest.main()

0 commit comments

Comments
 (0)