File size: 1,155 Bytes
5fae594
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

describe("parsing response headers", function() {

   // linefeed carriage return
   var lfcr = "\u000d\u000a";

   it('can parse an empty string', function(){
   
      var parsed = parseResponseHeaders('');
      
      expect(parsed).toEqual({})
   })
   
   it('can parse a single header', function(){
   
      var parsed = parseResponseHeaders('x-powered-by: Express');
      
      expect(parsed).toEqual({'x-powered-by':'Express'})
   });
   
   it('can parse a value containing ": "', function(){
   
      var parsed = parseResponseHeaders('x-title: Episode 2: Another episode');
      
      expect(parsed).toEqual({'x-title':'Episode 2: Another episode'})
   });      
   
   it('can parse several headers', function(){
      
      var subject =  "x-powered-by: Express" + lfcr + 
                     "Transfer-Encoding: Identity" + lfcr + 
                     "Connection: keep-alive";
                     
      var parsed = parseResponseHeaders(subject);
      
      expect(parsed).toEqual({
         "x-powered-by": "Express" 
      ,  "Transfer-Encoding": "Identity" 
      ,  "Connection": "keep-alive"      
      })
   })
   
});