1 |
|
2 |
|
3 |
|
4 | should = require 'should'
|
5 | parseCookies = require '../libs/cookie-parser'
|
6 |
|
7 | describe 'Lib', ->
|
8 |
|
9 | describe '#parseCookies()', ->
|
10 |
|
11 | it 'should exist as a public function', (done) ->
|
12 | parseCookies.should.be.a.Function
|
13 | done()
|
14 |
|
15 | it 'should return an object with all cookies from request', (done) ->
|
16 |
|
17 | cookies = "cookie1=19ciFA90fAUDJoi==; cookie2=dJAS)(uAIJ23878(AhHDAHdiu19"
|
18 | req =
|
19 | headers:
|
20 | cookie: cookies
|
21 |
|
22 | cookieList = parseCookies req
|
23 | cookieList.should.have.keys ['cookie1', 'cookie2']
|
24 | cookieList.cookie1.should.be.equal '19ciFA90fAUDJoi=='
|
25 | cookieList.cookie2.should.be.equal 'dJAS)(uAIJ23878(AhHDAHdiu19'
|
26 | done()
|
27 |
|
28 | it 'should ignore cookies that have bad encoding', (done) ->
|
29 | cookies = "cookie1=19ciFA90fAUDJoi==; cookie2=dJAS)(uAIJ23878(AhHDAHdiu19; cookie3=dasye%'ff'"
|
30 | req =
|
31 | headers:
|
32 | cookie: cookies
|
33 |
|
34 | cookieList = parseCookies req
|
35 | cookieList.should.have.keys ['cookie1', 'cookie2']
|
36 | cookieList.cookie1.should.be.equal '19ciFA90fAUDJoi=='
|
37 | cookieList.cookie2.should.be.equal 'dJAS)(uAIJ23878(AhHDAHdiu19'
|
38 | done()
|
39 |
|
40 | it 'should return an empty object if there are no cookies', (done) ->
|
41 |
|
42 | cookieList = parseCookies headers: {}
|
43 | cookieList.should.be.an.Object
|
44 | cookieList.should.be.empty
|
45 | done()
|
46 |
|