Add web-platform test for WebTransport close() without awaiting ready

Differential Revision: https://phabricator.services.mozilla.com/D178067

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1831173
gecko-commit: d2675b33dd714bbed080f471a8ccacfb36ea4f19
gecko-reviewers: valentin
diff --git a/webtransport/close.https.any.js b/webtransport/close.https.any.js
index de67503..77b3055 100644
--- a/webtransport/close.https.any.js
+++ b/webtransport/close.https.any.js
@@ -29,6 +29,19 @@
 }, 'close');
 
 promise_test(async t => {
+  const wt = new WebTransport(webtransport_url('echo.py'));
+  wt.close();
+  try {
+    await wt.closed;
+  } catch(e) {
+    await promise_rejects_exactly(t, e, wt.ready, 'ready promise should be rejected');
+    assert_true(e instanceof WebTransportError);
+    assert_equals(e.source, 'session', 'source');
+    assert_equals(e.streamErrorCode, null, 'streamErrorCode');
+  }
+}, 'close without waiting for ready');
+
+promise_test(async t => {
   const id = token();
   const wt = new WebTransport(webtransport_url(`client-close.py?token=${id}`));
   add_completion_callback(() => wt.close());