@@ -446,15 +446,23 @@ def test_replace_callable(self):
446
446
exp = Series (['foObaD__baRbaD' , NA ])
447
447
tm .assert_series_equal (result , exp )
448
448
449
- # test with wrong number of arguments
450
- repl = lambda m , bad : None
451
- re_msg = "^<lambda>\(\) missing 1 required positional argument: 'bad'$"
452
- with tm .assertRaisesRegexp (TypeError , re_msg ):
453
- values .str .replace ('a' , repl )
449
+ # test with wrong number of arguments, raising an error
450
+ if compat .PY2 :
451
+ p_err = r'takes (no|(exactly|at (least|most)) ?\d+) arguments?'
452
+ else :
453
+ p_err = (r'((takes)|(missing)) (?(2)from \d+ to )?\d+ '
454
+ r'(?(3)required )positional arguments?' )
454
455
455
456
repl = lambda : None
456
- re_msg = '^<lambda>\(\) takes 0 positional arguments but 1 was given$'
457
- with tm .assertRaisesRegexp (TypeError , re_msg ):
457
+ with tm .assertRaisesRegexp (TypeError , p_err ):
458
+ values .str .replace ('a' , repl )
459
+
460
+ repl = lambda m , x : None
461
+ with tm .assertRaisesRegexp (TypeError , p_err ):
462
+ values .str .replace ('a' , repl )
463
+
464
+ repl = lambda m , x , y = None : None
465
+ with tm .assertRaisesRegexp (TypeError , p_err ):
458
466
values .str .replace ('a' , repl )
459
467
460
468
# test regex named groups
0 commit comments