mirror of
https://github.com/tenrok/axios.git
synced 2026-05-30 15:24:11 +03:00
6b9b05b907
* Fixed isFormData predicate;
Added support for automatic object serialization to FormData if `Content-Type` is `multipart/form-data`;
Added support for FormData to be overloaded using `config.env.FormData` option;
Added support for FormData in node.js environment through `form-data` package;
* Added the `form-data` package as a dependency for the server build;
Added tests for FormData payload;
* Added FormData automatic serialization section;
Refactored cancellation section;
* Reworked toFormData helper;
Expose toFormData helper as a static method;
Refactored transform request;
Added kindOf, kindOfTest, endsWith, isTypedArray util;
Refactored utils.js to use kindOf for tests;
* Fixed isFormData predicate; (#4413)
Added support for automatic object serialization to FormData if `Content-Type` is `multipart/form-data`;
Added support for FormData to be overloaded using `config.env.FormData` option;
Added support for FormData in node.js environment using `form-data` package;
(cherry picked from commit 73e3bdb883)
* Added shortcut methods `postForm`, `putForm`, `patchForm` to submit a Form;
Added ability to submit FileList object as a FormData;
Updated README.md;
* Updated README.md;
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
var toFormData = require('../../../lib/helpers/toFormData');
|
|
|
|
describe('toFormData', function () {
|
|
it('should convert nested data object to FormData', function () {
|
|
var o = {
|
|
val: 123,
|
|
nested: {
|
|
arr: ['hello', 'world']
|
|
}
|
|
};
|
|
|
|
var form = toFormData(o);
|
|
expect(form instanceof FormData).toEqual(true);
|
|
expect(Array.from(form.keys()).length).toEqual(3);
|
|
expect(form.get('val')).toEqual('123');
|
|
expect(form.get('nested.arr.0')).toEqual('hello');
|
|
});
|
|
|
|
it('should append value whose key ends with [] as separate values with the same key', function () {
|
|
var data = {
|
|
'arr[]': [1, 2, 3]
|
|
};
|
|
|
|
var form = toFormData(data);
|
|
|
|
expect(Array.from(form.keys()).length).toEqual(3);
|
|
expect(form.getAll('arr[]')).toEqual(['1', '2', '3']);
|
|
});
|
|
|
|
it('should append value whose key ends with {} as a JSON string', function () {
|
|
var data = {
|
|
'obj{}': {x: 1, y: 2}
|
|
};
|
|
|
|
var str = JSON.stringify(data['obj{}']);
|
|
|
|
var form = toFormData(data);
|
|
|
|
expect(Array.from(form.keys()).length).toEqual(1);
|
|
expect(form.getAll('obj{}')).toEqual([str]);
|
|
});
|
|
});
|
|
|