File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1198,9 +1198,13 @@ def __init__(self, **kwargs):
11981198 setattr (self , name , kwargs [name ])
11991199
12001200 def __eq__ (self , other ):
1201+ if not isinstance (other , Namespace ):
1202+ return NotImplemented
12011203 return vars (self ) == vars (other )
12021204
12031205 def __ne__ (self , other ):
1206+ if not isinstance (other , Namespace ):
1207+ return NotImplemented
12041208 return not (self == other )
12051209
12061210 def __contains__ (self , key ):
Original file line number Diff line number Diff line change @@ -4551,6 +4551,12 @@ def test_equality(self):
45514551 self .assertTrue (ns2 != ns3 )
45524552 self .assertTrue (ns2 != ns4 )
45534553
4554+ def test_equality_returns_notimplemeted (self ):
4555+ # See issue 21481
4556+ ns = argparse .Namespace (a = 1 , b = 2 )
4557+ self .assertIs (ns .__eq__ (None ), NotImplemented )
4558+ self .assertIs (ns .__ne__ (None ), NotImplemented )
4559+
45544560
45554561# ===================
45564562# File encoding tests
You can’t perform that action at this time.
0 commit comments