summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fetch/content-length/parsing.window.js
blob: 5028ad943dee6ab7bdd915dd61dd87461b059ff3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
promise_test(() => {
  return fetch("resources/content-lengths.json").then(res => res.json()).then(runTests);
}, "Loading JSON…");

function runTests(testUnits) {
  testUnits.forEach(({ input, output }) => {
    promise_test(t => {
      const result = fetch(`resources/content-length.py?length=${encodeURIComponent(input)}`);
      if (output === null) {
        return promise_rejects_js(t, TypeError, result);
      } else {
        return result.then(res => res.text()).then(text => {
          assert_equals(text.length, output);
        });
      }
    }, `Input: ${format_value(input)}. Expected: ${output === null ? "network error" : output}.`);
  });
}