(arre, arigo) SF bug #1350060 · python/cpython@fd01d79 (original) (raw)

Original file line number Diff line number Diff line change
@@ -4014,11 +4014,24 @@ def methodwrapper():
4014 4014
4015 4015 l = []
4016 4016 vereq(l.__add__, l.__add__)
4017 -verify(l.__add__ != [].__add__)
4017 +vereq(l.__add__, [].__add__)
4018 +verify(l.__add__ != [5].__add__)
4019 +verify(l.__add__ != l.__mul__)
4018 4020 verify(l.__add__.__name__ == '__add__')
4019 4021 verify(l.__add__.__self__ is l)
4020 4022 verify(l.__add__.__objclass__ is list)
4021 4023 vereq(l.__add__.__doc__, list.__add__.__doc__)
4024 +try:
4025 +hash(l.__add__)
4026 +except TypeError:
4027 +pass
4028 +else:
4029 +raise TestFailed("no TypeError from hash([].__add__)")
4030 +
4031 +t = ()
4032 +t += (7,)
4033 +vereq(t.__add__, (7,).__add__)
4034 +vereq(hash(t.__add__), hash((7,).__add__))
4022 4035
4023 4036 def notimplemented():
4024 4037 # all binary methods should be able to return a NotImplemented