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
						
					
					
				| '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])
 | |
|   }
 | |
| })
 |