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
			| 
											3 years ago
										 | 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') | ||
|  |   }) | ||
|  | }) |