mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
30 lines
866 B
TypeScript
30 lines
866 B
TypeScript
import { assertEquals, assertThrows } from '@std/assert';
|
|
|
|
import { parseFormData } from './formdata.ts';
|
|
|
|
Deno.test('parseFormData', () => {
|
|
const formData = new FormData();
|
|
|
|
formData.append('foo', 'bar');
|
|
formData.append('fields_attributes[0][name]', 'baz');
|
|
formData.append('fields_attributes[0][value]', 'qux');
|
|
formData.append('fields_attributes[1][name]', 'quux');
|
|
formData.append('fields_attributes[1][value]', 'corge');
|
|
|
|
const result = parseFormData(formData);
|
|
|
|
assertEquals(result, {
|
|
foo: 'bar',
|
|
fields_attributes: [
|
|
{ name: 'baz', value: 'qux' },
|
|
{ name: 'quux', value: 'corge' },
|
|
],
|
|
});
|
|
|
|
assertThrows(() => {
|
|
const formData = new FormData();
|
|
formData.append('fields_attributes[1]', 'unexpected');
|
|
formData.append('fields_attributes[1][extra]', 'extra_value');
|
|
parseFormData(formData);
|
|
});
|
|
});
|