You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					28 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					28 lines
				
				1.1 KiB
			| 
											3 years ago
										 | 'use strict' | ||
|  | 
 | ||
|  | const { test } = require('tap') | ||
|  | const { formatParamUrl } = require('../lib/util/common') | ||
|  | 
 | ||
|  | const cases = [ | ||
|  |   ['/example/:userId', '/example/{userId}'], | ||
|  |   ['/example/:userId/:secretToken', '/example/{userId}/{secretToken}'], | ||
|  |   ['/example/near/:lat-:lng/radius/:r', '/example/near/{lat}-{lng}/radius/{r}'], | ||
|  |   ['/example/near/:lat_1-:lng_1/radius/:r_1', '/example/near/{lat_1}-{lng_1}/radius/{r_1}'], | ||
|  |   ['/example/*', '/example/{wildcard}'], | ||
|  |   ['/example/:file(^\\d+).png', '/example/{file}.png'], | ||
|  |   ['/example/at/:hour(^\\d{2})h:minute(^\\d{2})m', '/example/at/{hour}h{minute}m'], | ||
|  |   ['/example/at/(^\\d{2})h(^\\d{2})m', '/example/at/{regexp1}h{regexp2}m'], | ||
|  |   ['/example/at/(^([0-9]{2})h$)-(^([0-9]{2})m$)', '/example/at/{regexp1}-{regexp2}'], | ||
|  |   ['/name::verb', '/name:verb'], | ||
|  |   ['/api/v1/postalcode-jp/:code(^[0-9]{7}$)', '/api/v1/postalcode-jp/{code}'], | ||
|  |   ['/api/v1/postalcode-jp/(^[0-9]{7}$)', '/api/v1/postalcode-jp/{regexp1}'] | ||
|  | ] | ||
|  | 
 | ||
|  | test('formatParamUrl', t => { | ||
|  |   t.plan(cases.length) | ||
|  | 
 | ||
|  |   for (const kase of cases) { | ||
|  |     t.equal(formatParamUrl(kase[0]), kase[1]) | ||
|  |   } | ||
|  | }) |