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.
		
		
		
		
		
			
		
			
				
					
					
						
							67 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							67 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') | 
						|
  }) | 
						|
})
 | 
						|
 |