Skip to content

Commit afe86b9

Browse files
committed
Test cases with two or more /
1 parent 5dbaed3 commit afe86b9

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

Lib/test/test_positional_only_arg.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ def test_invalid_syntax_errors(self):
3535
self.assertRaisesSyntaxError("def f(a, /, a): pass", "duplicate argument 'a' in function definition")
3636
self.assertRaisesSyntaxError("def f(a, /, *, a): pass", "duplicate argument 'a' in function definition")
3737
self.assertRaisesSyntaxError("def f(a, b/2, c): pass")
38+
self.assertRaisesSyntaxError("def f(a, /, c, /): pass")
39+
self.assertRaisesSyntaxError("def f(a, /, c, /, d): pass")
40+
self.assertRaisesSyntaxError("def f(a, /, c, /, d, *, e): pass")
41+
self.assertRaisesSyntaxError("def f(a, *, c, /, d, e): pass")
3842

3943
def test_invalid_syntax_errors_async(self):
4044
self.assertRaisesSyntaxError("async def f(a, b = 5, /, c): pass", "non-default argument follows default argument")
@@ -52,6 +56,10 @@ def test_invalid_syntax_errors_async(self):
5256
self.assertRaisesSyntaxError("async def f(a, /, a): pass", "duplicate argument 'a' in function definition")
5357
self.assertRaisesSyntaxError("async def f(a, /, *, a): pass", "duplicate argument 'a' in function definition")
5458
self.assertRaisesSyntaxError("async def f(a, b/2, c): pass")
59+
self.assertRaisesSyntaxError("async def f(a, /, c, /): pass")
60+
self.assertRaisesSyntaxError("async def f(a, /, c, /, d): pass")
61+
self.assertRaisesSyntaxError("async def f(a, /, c, /, d, *, e): pass")
62+
self.assertRaisesSyntaxError("async def f(a, *, c, /, d, e): pass")
5563

5664
def test_optional_positional_only_args(self):
5765
def f(a, b=10, /, c=100):
@@ -233,6 +241,10 @@ def test_invalid_syntax_lambda(self):
233241
self.assertRaisesSyntaxError("lambda *, /, a: None")
234242
self.assertRaisesSyntaxError("lambda a, /, a: None", "duplicate argument 'a' in function definition")
235243
self.assertRaisesSyntaxError("lambda a, /, *, a: None", "duplicate argument 'a' in function definition")
244+
self.assertRaisesSyntaxError("lambda a, /, b, /: None")
245+
self.assertRaisesSyntaxError("lambda a, /, b, /, c: None")
246+
self.assertRaisesSyntaxError("lambda a, /, b, /, c, *, d: None")
247+
self.assertRaisesSyntaxError("lambda a, *, b, /, c: None")
236248

237249
def test_posonly_methods(self):
238250
class Example:

0 commit comments

Comments
 (0)