diff options
Diffstat (limited to 'test/BrowserSpecs.js')
| -rw-r--r-- | test/BrowserSpecs.js | 42 | 
1 files changed, 42 insertions, 0 deletions
| diff --git a/test/BrowserSpecs.js b/test/BrowserSpecs.js index 92e4e501..93882c1a 100644 --- a/test/BrowserSpecs.js +++ b/test/BrowserSpecs.js @@ -49,6 +49,13 @@ describe('browser', function(){        this.send = function(post){          xhr.post = post;        }; +      this.getResponseHeader = function(header) { +        return header; +      }; +      this.getAllResponseHeaders = function() { +        return 'Content-Type: application/json\n\rContent-Encoding: gzip\n\rContent-Type: text/json'; +      } +      };      logs = {log:[], warn:[], info:[], error:[]}; @@ -198,6 +205,41 @@ describe('browser', function(){        expect(code).toEqual(202);        expect(response).toEqual('RESPONSE');      }); + +    describe('response headers', function() { +      it('should return a single response header', function() { +        var headerA; + +        browser.xhr('GET', 'URL', null, function(code, resp, headers) { +          headerA = headers('A-Header'); +        }); + +        xhr.status = 200; +        xhr.responseText = 'RESPONSE'; +        xhr.readyState = 4; +        xhr.onreadystatechange(); + +        expect(headerA).toEqual('a-header'); +      }); + +      it('should return an object containing all response headers', function() { +        var allHeaders; + +        browser.xhr('GET', 'URL', null, function(code, resp, headers) { +          allHeaders = headers(); +        }); + +        xhr.status = 200; +        xhr.responseText = 'RESPONSE'; +        xhr.readyState = 4; +        xhr.onreadystatechange(); + +        expect(allHeaders).toEqual({ +          'content-type': 'application/json, text/json', +          'content-encoding': 'gzip' +        }); +      }); +    });    });    describe('defer', function() { | 
