refactor(http): remove default settings from RequestOptions constructor

The BaseRequestOptions class is responsible for declaring default values,
while the RequestOptions class is merely responsible for setting values
based on values provided in the constructor.
This commit is contained in:
Jeff Cross
2015-06-24 00:27:07 -07:00
parent 146dbf1270
commit b3d98cba77
20 changed files with 333 additions and 194 deletions
@@ -9,22 +9,22 @@ import {
it,
xit
} from 'angular2/test_lib';
import {BaseRequestOptions} from 'angular2/src/http/base_request_options';
import {BaseRequestOptions, RequestOptions} from 'angular2/src/http/base_request_options';
import {RequestMethods, RequestModesOpts} from 'angular2/src/http/enums';
export function main() {
describe('BaseRequestOptions', () => {
it('should create a new object when calling merge', () => {
var options1 = new BaseRequestOptions();
var options2 = options1.merge({method: RequestMethods.DELETE});
var options2 = options1.merge(new RequestOptions({method: RequestMethods.DELETE}));
expect(options2).not.toBe(options1);
expect(options2.method).toBe(RequestMethods.DELETE);
});
it('should retain previously merged values when merging again', () => {
var options1 = new BaseRequestOptions();
var options2 = options1.merge({method: RequestMethods.DELETE});
var options3 = options2.merge({mode: RequestModesOpts.NoCors});
var options2 = options1.merge(new RequestOptions({method: RequestMethods.DELETE}));
var options3 = options2.merge(new RequestOptions({mode: RequestModesOpts.NoCors}));
expect(options3.mode).toBe(RequestModesOpts.NoCors);
expect(options3.method).toBe(RequestMethods.DELETE);
});