HTTP/1 status code tests

For https://github.com/whatwg/fetch/issues/1142 and https://github.com/whatwg/fetch/pull/1159.
diff --git a/fetch/h1-parsing/resources/status-code.py b/fetch/h1-parsing/resources/status-code.py
new file mode 100644
index 0000000..d368718
--- /dev/null
+++ b/fetch/h1-parsing/resources/status-code.py
@@ -0,0 +1,6 @@
+def main(request, response):
+    output = "HTTP/1.1 "
+    output += request.GET.first("input")
+    output += "\n" + "header-parsing: is sad" + "\n"
+    response.writer.write(output)
+    response.close_connection = True
diff --git a/fetch/h1-parsing/status-code.window.js b/fetch/h1-parsing/status-code.window.js
new file mode 100644
index 0000000..5776cf4
--- /dev/null
+++ b/fetch/h1-parsing/status-code.window.js
@@ -0,0 +1,98 @@
+[
+  {
+    input: "",
+    expected: null
+  },
+  {
+    input: "BLAH",
+    expected: null
+  },
+  {
+    input: "0 OK",
+    expected: {
+      status: 0,
+      statusText: "OK"
+    }
+  },
+  {
+    input: "1 OK",
+    expected: {
+      status: 1,
+      statusText: "OK"
+    }
+  },
+  {
+    input: "99 NOT OK",
+    expected: {
+      status: 99,
+      statusText: "NOT OK"
+    }
+  },
+  {
+    input: "077 77",
+    expected: {
+      status: 77,
+      statusText: "77"
+    }
+  },
+  {
+    input: "099 HELLO",
+    expected: {
+      status: 99,
+      statusText: "HELLO"
+    }
+  },
+  {
+    input: "200",
+    expected: {
+      status: 200,
+      statusText: ""
+    }
+  },
+  {
+    input: "999 DOES IT MATTER",
+    expected: {
+      status: 999,
+      statusText: "DOES IT MATTER"
+    }
+  },
+  {
+    input: "1000 BOO",
+    expected: null
+  },
+  {
+    input: "0200 BOO",
+    expected: null
+  },
+  {
+    input: "65736 NOT 200 OR SOME SUCH",
+    expected: null
+  },
+  {
+    input: "131072 HI",
+    expected: null
+  },
+  {
+    input: "-200 TEST",
+    expected: null
+  },
+  {
+    input: "0xA",
+    expected: null
+  },
+  {
+    input: "C8",
+    expected: null
+  }
+].forEach(({ description, input, expected }) => {
+  promise_test(async t => {
+    if (expected !== null) {
+      const response = await fetch("resources/status-code.py?input=" + input);
+      assert_equals(response.status, expected.status);
+      assert_equals(response.statusText, expected.statusText);
+      assert_equals(response.headers.get("header-parsing"), "is sad");
+    } else {
+      await promise_rejects_js(t, TypeError, fetch("resources/status-code.py?input=" + input));
+    }
+  }, `HTTP/1.1 ${input} ${expected === null ? "(network error)" : ""}`);
+});