1212 (["foo" , "/bar" ], "foo/bar" ),
1313 (["/foo" , "baz" , "/bar" ], "/foo/baz/bar" ),
1414 (["" , "foo" , "bar" ], "foo/bar" ),
15- (["" , "/foo" , "bar" ], "/ foo/bar" ),
16- (["" , "/foo/" , "bar" ], "/ foo/bar" ),
17- (["" , "" , "" , "/foo" , "bar" ], "/ foo/bar" ),
18- (["" , "" , "/foo/" , "" , "bar" ], "/ foo/bar" ),
19- (["" , "" , "/foo/" , "" , "" , "bar/" ], "/ foo/bar/ " ),
20- (["/foo" , "" ], "/foo/ " ),
21- (["/foo" , "" , "" , "" ], "/foo/ " ),
22- (["/foo//" , "bar" ], "/foo// bar" ),
15+ (["" , "/foo" , "bar" ], "foo/bar" ),
16+ (["" , "/foo/" , "bar" ], "foo/bar" ),
17+ (["" , "" , "" , "/foo" , "bar" ], "foo/bar" ),
18+ (["" , "" , "/foo/" , "" , "bar" ], "foo/bar" ),
19+ (["" , "" , "/foo/" , "" , "" , "bar/" ], "foo/bar" ),
20+ (["/foo" , "" ], "/foo" ),
21+ (["/foo" , "" , "" , "" ], "/foo" ),
22+ (["/foo//" , "bar" ], "/foo/bar" ),
2323 (["foo" ], "foo" ),
2424 (["" ], "" ),
2525 (["" , "" ], "" ),
2626 (["'not " , "sanitized'\0 /; rm -rf *" ], "'not /sanitized'\0 /; rm -rf *" ),
27- (["foo/" , "/bar" ], "foo// bar" ),
28- (["foo" , "" , "/bar" ], "foo// bar" ),
27+ (["foo/" , "/bar" ], "foo/bar" ),
28+ (["foo" , "" , "/bar" ], "foo/bar" ),
2929 ([b"foo" , "bar" ], TypeError ),
3030 (["foo" , b"bar" ], TypeError ),
31- ([None , "foo" ], TypeError ),
31+ ([None , "foo" ], "foo" ),
32+ (["foo" , [], "bar" ], "foo/bar" ),
33+ (["foo" , ["baz" ], "bar" ], TypeError ),
34+ (["/" , "foo" , "bar" ], "/foo/bar" ),
35+ (["///foo" , "bar" ], "/foo/bar" ),
3236 ],
3337)
3438def test_join_paths (args , expected ):
@@ -37,3 +41,7 @@ def test_join_paths(args, expected):
3741 else :
3842 with pytest .raises (expected ):
3943 _ = join_paths (* args )
44+
45+
46+ def test_join_paths_with_separator ():
47+ assert join_paths ("this" , "is" , "not" , "a" , "path" , sep = "|" ) == "this|is|not|a|path"
0 commit comments