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}.`); }); }