@@ -74,31 +74,25 @@ describe('isDocumentVisible', () => {
7474} )
7575
7676describe ( 'joinUrls' , ( ) => {
77- test ( 'correctly joins variations of relative urls' , ( ) => {
78- expect ( joinUrls ( '/api/' , '/banana' ) ) . toBe ( '/api/banana' )
79- expect ( joinUrls ( '/api/' , 'banana' ) ) . toBe ( '/api/banana' )
80-
81- expect ( joinUrls ( '/api' , 'banana' ) ) . toBe ( '/api/banana' )
82- expect ( joinUrls ( '/api' , '/banana/' ) ) . toBe ( '/api/banana/' )
83-
84- expect ( joinUrls ( '' , '/banana' ) ) . toBe ( '/banana' )
85- expect ( joinUrls ( '' , 'banana' ) ) . toBe ( 'banana' )
86- } )
87-
88- test ( 'correctly joins variations of absolute urls' , ( ) => {
89- expect ( joinUrls ( 'https://example.com/api' , 'banana' ) ) . toBe (
90- 'https://example.com/api/banana'
91- )
92- expect ( joinUrls ( 'https://example.com/api' , '/banana' ) ) . toBe (
93- 'https://example.com/api/banana'
94- )
95-
96- expect ( joinUrls ( 'https://example.com/api/' , 'banana' ) ) . toBe (
97- 'https://example.com/api/banana'
98- )
99- expect ( joinUrls ( 'https://example.com/api/' , '/banana/' ) ) . toBe (
100- 'https://example.com/api/banana/'
101- )
77+ test . each ( [
78+ [ '/api/' , '/banana' , '/api/banana' ] ,
79+ [ '/api/' , 'banana' , '/api/banana' ] ,
80+ [ '/api' , '/banana' , '/api/banana' ] ,
81+ [ '/api' , 'banana' , '/api/banana' ] ,
82+ [ '' , '/banana' , '/banana' ] ,
83+ [ '' , 'banana' , 'banana' ] ,
84+ [ 'api' , '?a=1' , 'api?a=1' ] ,
85+ [ 'api/' , '?a=1' , 'api/?a=1' ] ,
86+ [ 'api' , 'banana?a=1' , 'api/banana?a=1' ] ,
87+ [ 'api/' , 'banana?a=1' , 'api/banana?a=1' ] ,
88+ [ 'https://example.com/api' , 'banana' , 'https://example.com/api/banana' ] ,
89+ [ 'https://example.com/api' , '/banana' , 'https://example.com/api/banana' ] ,
90+ [ 'https://example.com/api/' , 'banana' , 'https://example.com/api/banana' ] ,
91+ [ 'https://example.com/api/' , '/banana' , 'https://example.com/api/banana' ] ,
92+ [ 'https://example.com/api/' , 'https://example.org' , 'https://example.org' ] ,
93+ [ 'https://example.com/api/' , '//example.org' , '//example.org' ] ,
94+ ] ) ( '%s and %s join to %s' , ( base , url , expected ) => {
95+ expect ( joinUrls ( base , url ) ) . toBe ( expected )
10296 } )
10397} )
10498
0 commit comments