summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLeo Kettmeir <crowlkats@toaxl.com>2024-08-06 00:13:02 -0700
committerGitHub <noreply@github.com>2024-08-06 00:13:02 -0700
commitba40347a35d10cffeae83ee95f69f7bc281096dd (patch)
tree0e981a32601937293967815292d5bf617914163a /tests
parentf0cd2c45fcd4dfb841cee9d36bdda3be25c1a2a5 (diff)
feat(fetch): accept async iterables for body (#24623)
Implements https://github.com/whatwg/webidl/pull/1397 Fixes #21454 Closes #24849
Diffstat (limited to 'tests')
-rw-r--r--tests/integration/node_unit_tests.rs1
-rw-r--r--tests/unit/streams_test.ts15
-rw-r--r--tests/unit_node/fetch_test.ts18
-rw-r--r--tests/wpt/runner/expectation.json10
4 files changed, 41 insertions, 3 deletions
diff --git a/tests/integration/node_unit_tests.rs b/tests/integration/node_unit_tests.rs
index 4f0b61378..e87f1cd2f 100644
--- a/tests/integration/node_unit_tests.rs
+++ b/tests/integration/node_unit_tests.rs
@@ -71,6 +71,7 @@ util::unit_test_factory!(
dgram_test,
domain_test,
fs_test,
+ fetch_test,
http_test,
http2_test,
_randomBytes_test = internal / _randomBytes_test,
diff --git a/tests/unit/streams_test.ts b/tests/unit/streams_test.ts
index 80b45e602..c0adbda07 100644
--- a/tests/unit/streams_test.ts
+++ b/tests/unit/streams_test.ts
@@ -1,5 +1,10 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
-import { assertEquals, assertRejects, fail } from "./test_util.ts";
+import {
+ assertEquals,
+ assertRejects,
+ assertThrows,
+ fail,
+} from "./test_util.ts";
const {
core,
@@ -533,3 +538,11 @@ Deno.test(async function decompressionStreamInvalidGzipStillReported() {
"corrupt gzip stream does not have a matching checksum",
);
});
+
+Deno.test(function readableStreamFromWithStringThrows() {
+ assertThrows(
+ () => ReadableStream.from("string"),
+ TypeError,
+ "Failed to execute 'ReadableStream.from': Argument 1 can not be converted to async iterable.",
+ );
+});
diff --git a/tests/unit_node/fetch_test.ts b/tests/unit_node/fetch_test.ts
new file mode 100644
index 000000000..399d6052a
--- /dev/null
+++ b/tests/unit_node/fetch_test.ts
@@ -0,0 +1,18 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { assertEquals } from "@std/assert";
+import { createReadStream } from "node:fs";
+
+Deno.test("fetch node stream", async () => {
+ const file = createReadStream("tests/testdata/assets/fixture.json");
+
+ const response = await fetch("http://localhost:4545/echo_server", {
+ method: "POST",
+ body: file,
+ });
+
+ assertEquals(
+ await response.text(),
+ await Deno.readTextFile("tests/testdata/assets/fixture.json"),
+ );
+});
diff --git a/tests/wpt/runner/expectation.json b/tests/wpt/runner/expectation.json
index 70e32f92f..f59806fea 100644
--- a/tests/wpt/runner/expectation.json
+++ b/tests/wpt/runner/expectation.json
@@ -4007,8 +4007,14 @@
"owning-type-message-port.any.worker.html": false,
"owning-type.any.html": false,
"owning-type.any.worker.html": false,
- "from.any.html": true,
- "from.any.worker.html": true
+ "from.any.html": [
+ "ReadableStream.from ignores a null @@asyncIterator",
+ "ReadableStream.from accepts a string"
+ ],
+ "from.any.worker.html": [
+ "ReadableStream.from ignores a null @@asyncIterator",
+ "ReadableStream.from accepts a string"
+ ]
},
"transform-streams": {
"backpressure.any.html": true,