diff options
Diffstat (limited to 'testing/web-platform/tests/XMLHttpRequest/formdata-set.htm')
-rw-r--r-- | testing/web-platform/tests/XMLHttpRequest/formdata-set.htm | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/testing/web-platform/tests/XMLHttpRequest/formdata-set.htm b/testing/web-platform/tests/XMLHttpRequest/formdata-set.htm new file mode 100644 index 000000000..f030caa78 --- /dev/null +++ b/testing/web-platform/tests/XMLHttpRequest/formdata-set.htm @@ -0,0 +1,98 @@ +<!doctype html> +<meta charset="utf-8"> +<title>FormData: set</title> +<link rel="help" href="https://xhr.spec.whatwg.org/#dom-formdata-set"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<form id="form" /> +<script> + function test_formdata(creator, verifier, description) { + async_test(description).step(function() { + var fd = creator(); + var xhr = new XMLHttpRequest(); + xhr.onload = this.step_func(function() { + verifier(xhr.responseText); + this.done(); + }); + xhr.open("POST", "resources/upload.py"); + xhr.send(fd); + }); + } + + test_formdata(function() { + var fd = new FormData(); + fd.set("name", new String("value")); + return fd; + }, function(data) { + assert_equals(data, "name=value,\n"); + }, "Passing a String object to FormData.set should work"); + + test(function() { + assert_equals(create_formdata(['key', 'value1']).get('key'), "value1"); + }, 'testFormDataSet1'); + test(function() { + assert_equals(create_formdata(['key', 'value2'], ['key', 'value1']).get('key'), "value1"); + }, 'testFormDataSet2'); + test(function() { + assert_equals(create_formdata(['key', undefined]).get('key'), "undefined"); + }, 'testFormDataSetUndefined1'); + test(function() { + assert_equals(create_formdata(['key', undefined], ['key', 'value1']).get('key'), "value1"); + }, 'testFormDataSetUndefined2'); + test(function() { + assert_equals(create_formdata(['key', null]).get('key'), "null"); + }, 'testFormDataSetNull1'); + test(function() { + assert_equals(create_formdata(['key', null], ['key', 'value1']).get('key'), "value1"); + }, 'testFormDataSetNull2'); + test(function() { + var fd = new FormData(document.getElementById("form")); + fd.set('key', 'value1'); + assert_equals(fd.get('key'), "value1"); + }, 'testFormDataSetToForm1'); + test(function() { + var fd = new FormData(document.getElementById("form")); + fd.set('key', 'value2'); + fd.set('key', 'value1'); + assert_equals(fd.get('key'), "value1"); + }, 'testFormDataSetToForm2'); + test(function() { + var fd = new FormData(document.getElementById("form")); + fd.set('key', undefined); + assert_equals(fd.get('key'), "undefined"); + }, 'testFormDataSetToFormUndefined1'); + test(function() { + var fd = new FormData(document.getElementById("form")); + fd.set('key', undefined); + fd.set('key', 'value1'); + assert_equals(fd.get('key'), "value1"); + }, 'testFormDataSetToFormUndefined2'); + test(function() { + var fd = new FormData(document.getElementById("form")); + fd.set('key', null); + assert_equals(fd.get('key'), "null"); + }, 'testFormDataSetToFormNull1'); + test(function() { + var fd = new FormData(document.getElementById("form")); + fd.set('key', null); + fd.set('key', 'value1'); + assert_equals(fd.get('key'), "value1"); + }, 'testFormDataSetToFormNull2'); + test(function() { + var fd = new FormData(); + fd.set('key', new Blob([]), 'blank.txt'); + var file = fd.get('key'); + + assert_true(file instanceof File); + assert_equals(file.name, 'blank.txt'); + }, 'testFormDataSetEmptyBlob'); + + function create_formdata() { + var fd = new FormData(); + for (var i = 0; i < arguments.length; i++) { + fd.set.apply(fd, arguments[i]); + }; + return fd; + } +</script> |