@@ -74,31 +74,25 @@ describe('isDocumentVisible', () => {
74
74
} )
75
75
76
76
describe ( '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 )
102
96
} )
103
97
} )
104
98
0 commit comments