67 lines
2.3 KiB
TypeScript
67 lines
2.3 KiB
TypeScript
import {Headers} from 'angular2/src/http/headers';
|
|
import {Map, StringMapWrapper} from 'angular2/src/core/facade/collection';
|
|
import {
|
|
AsyncTestCompleter,
|
|
beforeEach,
|
|
ddescribe,
|
|
describe,
|
|
expect,
|
|
iit,
|
|
inject,
|
|
it,
|
|
xit
|
|
} from 'angular2/test_lib';
|
|
|
|
export function main() {
|
|
describe('Headers', () => {
|
|
it('should conform to spec', () => {
|
|
// Examples borrowed from https://developer.mozilla.org/en-US/docs/Web/API/Headers/Headers
|
|
// Spec at https://fetch.spec.whatwg.org/#dom-headers
|
|
var firstHeaders = new Headers(); // Currently empty
|
|
firstHeaders.append('Content-Type', 'image/jpeg');
|
|
expect(firstHeaders.get('Content-Type')).toBe('image/jpeg');
|
|
var httpHeaders = StringMapWrapper.create();
|
|
StringMapWrapper.set(httpHeaders, 'Content-Type', 'image/jpeg');
|
|
StringMapWrapper.set(httpHeaders, 'Accept-Charset', 'utf-8');
|
|
StringMapWrapper.set(httpHeaders, 'X-My-Custom-Header', 'Zeke are cool');
|
|
var secondHeaders = new Headers(httpHeaders);
|
|
var secondHeadersObj = new Headers(secondHeaders);
|
|
expect(secondHeadersObj.get('Content-Type')).toBe('image/jpeg');
|
|
});
|
|
|
|
|
|
describe('initialization', () => {
|
|
it('should merge values in provided dictionary', () => {
|
|
var map = StringMapWrapper.create();
|
|
StringMapWrapper.set(map, 'foo', 'bar');
|
|
var headers = new Headers(map);
|
|
expect(headers.get('foo')).toBe('bar');
|
|
expect(headers.getAll('foo')).toEqual(['bar']);
|
|
});
|
|
});
|
|
|
|
|
|
describe('.set()', () => {
|
|
it('should clear all values and re-set for the provided key', () => {
|
|
var map = StringMapWrapper.create();
|
|
StringMapWrapper.set(map, 'foo', 'bar');
|
|
var headers = new Headers(map);
|
|
expect(headers.get('foo')).toBe('bar');
|
|
expect(headers.getAll('foo')).toEqual(['bar']);
|
|
headers.set('foo', 'baz');
|
|
expect(headers.get('foo')).toBe('baz');
|
|
expect(headers.getAll('foo')).toEqual(['baz']);
|
|
});
|
|
|
|
|
|
it('should convert input array to string', () => {
|
|
var headers = new Headers();
|
|
var inputArr = ['bar', 'baz'];
|
|
headers.set('foo', inputArr);
|
|
expect(/bar, ?baz/g.test(headers.get('foo'))).toBe(true);
|
|
expect(/bar, ?baz/g.test(headers.getAll('foo')[0])).toBe(true);
|
|
});
|
|
});
|
|
});
|
|
}
|