UNPKG

1.89 kBtext/coffeescriptView Raw
1
2# /*
3# Unit test for PathToRegExp
4# */
5# Author: yuhan.wyh<yuhan.wyh@alibaba-inc.com>
6# Create: Tue Feb 10 2015 16:10:26 GMT+0800 (CST)
7#
8
9"use strict"
10
11expect = require 'expect.js'
12
13PathToRegExp = require '../lib/path-to-regexp'
14
15describe 'path to regext', ->
16
17 it 'pattern /, request /', ( done ) ->
18 re = PathToRegExp '/'
19 [ _ ] = re.exec '/'
20 expect( _ ).to.be '/'
21 done()
22
23 it 'pattern /, request /test', ( done ) ->
24 re = PathToRegExp '/'
25 [ _ ] = re.exec '/test'
26 expect( _ ).to.be '/test'
27 done()
28
29 it 'pattern /test, request /test', ( done ) ->
30 re = PathToRegExp '/test'
31 [ _ ] = re.exec '/test'
32 expect( _ ).to.be '/test'
33 done()
34
35 it 'pattern /test, request /test/test1', ( done ) ->
36 re = PathToRegExp '/test'
37 [ _ ] = re.exec '/test/test1'
38 expect( _ ).to.be '/test/test1'
39 done()
40
41 it 'pattern /test/:test1, request /test/test1', ( done ) ->
42 re = PathToRegExp '/test/:test1'
43 [ _, test1 ] = re.exec '/test/test1'
44 expect( _ ).to.be '/test/test1'
45 expect( test1 ).to.be 'test1'
46 done()
47
48 it 'pattern /:test/test1/:test2, request /test/test1/test2', ( done ) ->
49 re = PathToRegExp '/:test/test1/:test2'
50 [ _, test, test2 ] = re.exec '/test/test1/test2'
51 expect( _ ).to.be '/test/test1/test2'
52 expect( test ).to.be 'test'
53 expect( test2 ).to.be 'test2'
54 done()
55
56 it 'pattern /^\/test\/.*$/, request /test/test1', ( done ) ->
57 re = PathToRegExp /^\/test\/.*$/
58 [ _ ] = re.exec '/test/test1'
59 expect( _ ).to.be '/test/test1'
60 done()
61
62 it 'pattern /test/:test1, request /test1/test1', ( done ) ->
63 re = PathToRegExp '/test/:test1'
64 res = re.exec '/test1/test1'
65 expect( res ).to.be null
66 done()
67
68 it 'pattern /test, request /test1', ( done ) ->
69 re = PathToRegExp '/test'
70 expect( re.exec '/test1' ).to.be null
71 done()