wzp
2021-05-13 7d694a9113118daec5be7ac224dab46a3b20f106
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
'use strict'
 
const t = require('tap')
const FindMyWay = require('../')
 
t.test('issue-145', (t) => {
  t.plan(8)
 
  const findMyWay = FindMyWay({ ignoreTrailingSlash: true })
 
  const fixedPath = function staticPath () {}
  const varPath = function parameterPath () {}
  findMyWay.on('GET', '/a/b', fixedPath)
  findMyWay.on('GET', '/a/:pam/c', varPath)
 
  t.equals(findMyWay.find('GET', '/a/b').handler, fixedPath)
  t.equals(findMyWay.find('GET', '/a/b/').handler, fixedPath)
  t.equals(findMyWay.find('GET', '/a/b/c').handler, varPath)
  t.equals(findMyWay.find('GET', '/a/b/c/').handler, varPath)
  t.equals(findMyWay.find('GET', '/a/foo/c').handler, varPath)
  t.equals(findMyWay.find('GET', '/a/foo/c/').handler, varPath)
  t.notOk(findMyWay.find('GET', '/a/c'))
  t.notOk(findMyWay.find('GET', '/a/c/'))
})