diff options
Diffstat (limited to 'testing/web-platform/tests/XMLHttpRequest/formdata-foreach.html')
-rw-r--r-- | testing/web-platform/tests/XMLHttpRequest/formdata-foreach.html | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/testing/web-platform/tests/XMLHttpRequest/formdata-foreach.html b/testing/web-platform/tests/XMLHttpRequest/formdata-foreach.html new file mode 100644 index 000000000..9b10367ae --- /dev/null +++ b/testing/web-platform/tests/XMLHttpRequest/formdata-foreach.html @@ -0,0 +1,59 @@ +<!doctype html> +<html lang=en> +<meta charset=utf-8> +<title>FormData: foreach</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + <link rel="help" href="https://xhr.spec.whatwg.org/#interface-formdata" /> +<script> + var fd = new FormData(); + fd.append('n1', 'v1'); + fd.append('n2', 'v2'); + fd.append('n3', 'v3'); + fd.append('n1', 'v4'); + fd.append('n2', 'v5'); + fd.append('n3', 'v6'); + fd.delete('n2'); + var expected_keys = ['n1', 'n3', 'n1', 'n3']; + var expected_values = ['v1', 'v3', 'v4', 'v6']; + test(function() { + var mykeys = [], myvalues = []; + for(var entry of fd) { + assert_equals(entry.length, 2, + 'Default iterator should yield key/value pairs'); + mykeys.push(entry[0]); + myvalues.push(entry[1]); + } + assert_array_equals(mykeys, expected_keys, + 'Default iterator should see duplicate keys'); + assert_array_equals(myvalues, expected_values, + 'Default iterator should see non-deleted values'); + }, 'Iterator should return duplicate keys and non-deleted values'); + test(function() { + var mykeys = [], myvalues = []; + for(var entry of fd.entries()) { + assert_equals(entry.length, 2, + 'entries() iterator should yield key/value pairs'); + mykeys.push(entry[0]); + myvalues.push(entry[1]); + } + assert_array_equals(mykeys, expected_keys, + 'entries() iterator should see duplicate keys'); + assert_array_equals(myvalues, expected_values, + 'entries() iterator should see non-deleted values'); + }, 'Entries iterator should return duplicate keys and non-deleted values'); + test(function() { + var mykeys = []; + for(var entry of fd.keys()) + mykeys.push(entry); + assert_array_equals(mykeys, expected_keys, + 'keys() iterator should see duplicate keys'); + }, 'Keys iterator should return duplicates'); + test(function() { + var myvalues = []; + for(var entry of fd.values()) + myvalues.push(entry); + assert_array_equals(myvalues, expected_values, + 'values() iterator should see non-deleted values'); + }, 'Values iterator should return non-deleted values'); +</script> |