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.
		
		
		
		
		
			
		
			
				
					
					
						
							68 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							68 lines
						
					
					
						
							1.5 KiB
						
					
					
				| var tape = require('tape')
 | |
|   , caseless = require('./')
 | |
|   ;
 | |
| 
 | |
| tape('set get has', function (t) {
 | |
|   var headers = {}
 | |
|     , c = caseless(headers)
 | |
|     ;
 | |
|   t.plan(17)
 | |
|   c.set('a-Header', 'asdf')
 | |
|   t.equal(c.get('a-header'), 'asdf')
 | |
|   t.equal(c.has('a-header'), 'a-Header')
 | |
|   t.ok(!c.has('nothing'))
 | |
|   // old bug where we used the wrong regex
 | |
|   t.ok(!c.has('a-hea'))
 | |
|   c.set('a-header', 'fdsa')
 | |
|   t.equal(c.get('a-header'), 'fdsa')
 | |
|   t.equal(c.get('a-Header'), 'fdsa')
 | |
|   c.set('a-HEADER', 'more', false)
 | |
|   t.equal(c.get('a-header'), 'fdsa,more')
 | |
| 
 | |
|   t.deepEqual(headers, {'a-Header': 'fdsa,more'})
 | |
|   c.swap('a-HEADER')
 | |
|   t.deepEqual(headers, {'a-HEADER': 'fdsa,more'})
 | |
| 
 | |
|   c.set('deleteme', 'foobar')
 | |
|   t.ok(c.has('deleteme'))
 | |
|   t.ok(c.del('deleteme'))
 | |
|   t.notOk(c.has('deleteme'))
 | |
|   t.notOk(c.has('idonotexist'))
 | |
|   t.ok(c.del('idonotexist'))
 | |
| 
 | |
|   c.set('tva', 'test1')
 | |
|   c.set('tva-header', 'test2')
 | |
|   t.equal(c.has('tva'), 'tva')
 | |
|   t.notOk(c.has('header'))
 | |
| 
 | |
|   t.equal(c.get('tva'), 'test1')
 | |
| 
 | |
| })
 | |
| 
 | |
| tape('swap', function (t) {
 | |
|   var headers = {}
 | |
|     , c = caseless(headers)
 | |
|     ;
 | |
|   t.plan(4)
 | |
|   // No Header to Swap.
 | |
|   t.throws(function () {
 | |
|     c.swap('content-type')
 | |
|   })
 | |
|   // Set Header.
 | |
|   c.set('content-type', 'application/json')
 | |
|   // Swap Header With Itself.
 | |
|   c.swap('content-type')
 | |
|   // Does Not Delete Itself.
 | |
|   t.ok(c.has('content-type'))
 | |
|   // Swap Header With a Different Header.
 | |
|   c.swap('Content-Type')
 | |
|   // Still Has Header.
 | |
|   t.ok(c.has('Content-Type'))
 | |
|   // Delete Header.
 | |
|   c.del('Content-Type')
 | |
|   // No Header to Swap.
 | |
|   t.throws(function () {
 | |
|     c.swap('content-type')
 | |
|   })
 | |
| })
 |