UNPKG

1.58 kBJavaScriptView Raw
1var tape = require('tape')
2 , caseless = require('./')
3 ;
4
5tape('set get has', function (t) {
6 var headers = {}
7 , c = caseless(headers)
8 ;
9 t.plan(17)
10 c.set('a-Header', 'asdf')
11 t.equal(c.get('a-header'), 'asdf')
12 t.equal(c.has('a-header'), 'a-Header')
13 t.ok(!c.has('nothing'))
14 // old bug where we used the wrong regex
15 t.ok(!c.has('a-hea'))
16 c.set('a-header', 'fdsa')
17 t.equal(c.get('a-header'), 'fdsa')
18 t.equal(c.get('a-Header'), 'fdsa')
19 c.set('a-HEADER', 'more', false)
20 t.equal(c.get('a-header'), 'fdsa,more')
21
22 t.deepEqual(headers, {'a-Header': 'fdsa,more'})
23 c.swap('a-HEADER')
24 t.deepEqual(headers, {'a-HEADER': 'fdsa,more'})
25
26 c.set('deleteme', 'foobar')
27 t.ok(c.has('deleteme'))
28 t.ok(c.del('deleteme'))
29 t.notOk(c.has('deleteme'))
30 t.notOk(c.has('idonotexist'))
31 t.ok(c.del('idonotexist'))
32
33 c.set('tva', 'test1')
34 c.set('tva-header', 'test2')
35 t.equal(c.has('tva'), 'tva')
36 t.notOk(c.has('header'))
37
38 t.equal(c.get('tva'), 'test1')
39
40})
41
42tape('swap', function (t) {
43 var headers = {}
44 , c = caseless(headers)
45 ;
46 t.plan(4)
47 // No Header to Swap.
48 t.throws(function () {
49 c.swap('content-type')
50 })
51 // Set Header.
52 c.set('content-type', 'application/json')
53 // Swap Header With Itself.
54 c.swap('content-type')
55 // Does Not Delete Itself.
56 t.ok(c.has('content-type'))
57 // Swap Header With a Different Header.
58 c.swap('Content-Type')
59 // Still Has Header.
60 t.ok(c.has('Content-Type'))
61 // Delete Header.
62 c.del('Content-Type')
63 // No Header to Swap.
64 t.throws(function () {
65 c.swap('content-type')
66 })
67})