https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 0b3ff33c18d04b01970c030df401c7c12a175313 authored by Brad Werth on 09 April 2018, 05:37:36 UTC
Part 1: Add a web-platform test that shows shape-outside: border-box float areas are correctly clipped to margin rects.
Tip revision: 0b3ff33
urlencoded-parser.html
<!doctype html>
<meta charset=utf-8>
<title>application/x-www-form-urlencoded parser test</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div id=log></div>
<script>
[
  { "input": "test", "output": [["test", ""]] },
  { "input": "\uFEFFtest=\uFEFF", "output": [["\uFEFFtest", "\uFEFF"]] },
  { "input": "%EF%BB%BFtest=%EF%BB%BF", "output": [["\uFEFFtest", "\uFEFF"]] },
  { "input": "%FE%FF", "output": [["\uFFFD\uFFFD", ""]] },
  { "input": "%FF%FE", "output": [["\uFFFD\uFFFD", ""]] },
  { "input": "†&†=x", "output": [["†", ""], ["†", "x"]] },
  { "input": "%C2", "output": [["\uFFFD", ""]] },
  { "input": "%C2x", "output": [["\uFFFDx", ""]] },
  { "input": "_charset_=windows-1252&test=%C2x", "output": [["_charset_", "windows-1252"], ["test", "\uFFFDx"]] },
  { "input": '', "output": [] },
  { "input": 'a', "output": [['a', '']] },
  { "input": 'a=b', "output": [['a', 'b']] },
  { "input": 'a=', "output": [['a', '']] },
  { "input": '=b', "output": [['', 'b']] },
  { "input": '&', "output": [] },
  { "input": '&a', "output": [['a', '']] },
  { "input": 'a&', "output": [['a', '']] },
  { "input": 'a&a', "output": [['a', ''], ['a', '']] },
  { "input": 'a&b&c', "output": [['a', ''], ['b', ''], ['c', '']] },
  { "input": 'a=b&c=d', "output": [['a', 'b'], ['c', 'd']] },
  { "input": 'a=b&c=d&', "output": [['a', 'b'], ['c', 'd']] },
  { "input": '&&&a=b&&&&c=d&', "output": [['a', 'b'], ['c', 'd']] },
  { "input": 'a=a&a=b&a=c', "output": [['a', 'a'], ['a', 'b'], ['a', 'c']] },
  { "input": 'a==a', "output": [['a', '=a']] },
  { "input": 'a=a+b+c+d', "output": [['a', 'a b c d']] },
  { "input": '%=a', "output": [['%', 'a']] },
  { "input": '%a=a', "output": [['%a', 'a']] },
  { "input": '%a_=a', "output": [['%a_', 'a']] },
  { "input": '%61=a', "output": [['a', 'a']] },
  { "input": '%61+%4d%4D=', "output": [['a MM', '']] }
].forEach((val) => {
  test(() => {
    let sp = new URLSearchParams(val.input),
        i = 0
    for (let item of sp) {
       assert_array_equals(item, val.output[i])
       i++
    }
  }, "URLSearchParams constructed with: " + val.input)

  promise_test(() => {
    let init = new Request("about:blank", { body: val.input, method: "LADIDA", headers: {"Content-Type": "application/x-www-form-urlencoded;charset=windows-1252"} }).formData()
    return init.then((fd) => {
      let i = 0
      for (let item of fd) {
         assert_array_equals(item, val.output[i])
         i++
      }
    })
  }, "request.formData() with input: " + val.input)

  promise_test(() => {
    let init = new Response(val.input, { headers: {"Content-Type": "application/x-www-form-urlencoded;charset=shift_jis"} }).formData()
    return init.then((fd) => {
      let i = 0
      for (let item of fd) {
         assert_array_equals(item, val.output[i])
         i++
      }
    })
  }, "response.formData() with input: " + val.input)
})
</script>
back to top