summaryrefslogtreecommitdiff
path: root/js/request_test.ts
diff options
context:
space:
mode:
authorKurt Mackey <mrkurt@gmail.com>2019-05-01 22:56:42 -0500
committerRyan Dahl <ry@tinyclouds.org>2019-05-01 23:56:42 -0400
commitc05cbc8eac91a9e1ab9b87c688ac4392eff01445 (patch)
treecc6e1e2b789ba6626c33523fa488681c86c1a987 /js/request_test.ts
parent1dd30f658fc031dd1d3cdb5b4c435ff0e48740c9 (diff)
Add Request global constructor (#2253)
Diffstat (limited to 'js/request_test.ts')
-rw-r--r--js/request_test.ts49
1 files changed, 49 insertions, 0 deletions
diff --git a/js/request_test.ts b/js/request_test.ts
new file mode 100644
index 000000000..7421544fe
--- /dev/null
+++ b/js/request_test.ts
@@ -0,0 +1,49 @@
+// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
+import { test, assertEquals, assert } from "./test_util.ts";
+
+test(function fromInit(): void {
+ const req = new Request("https://example.com", {
+ body: "ahoyhoy",
+ method: "POST",
+ headers: {
+ "test-header": "value"
+ }
+ });
+
+ // @ts-ignore
+ assertEquals("ahoyhoy", req._bodySource);
+ assertEquals(req.url, "https://example.com");
+ assertEquals(req.headers.get("test-header"), "value");
+});
+
+test(function fromRequest(): void {
+ const r = new Request("https://example.com");
+ // @ts-ignore
+ r._bodySource = "ahoyhoy";
+ r.headers.set("test-header", "value");
+
+ const req = new Request(r);
+
+ // @ts-ignore
+ assertEquals(req._bodySource, r._bodySource);
+ assertEquals(req.url, r.url);
+ assertEquals(req.headers.get("test-header"), r.headers.get("test-header"));
+});
+
+test(async function cloneRequestBodyStream(): Promise<void> {
+ // hack to get a stream
+ const stream = new Request("", { body: "a test body" }).body;
+ const r1 = new Request("https://example.com", {
+ body: stream
+ });
+
+ const r2 = r1.clone();
+
+ const b1 = await r1.text();
+ const b2 = await r2.text();
+
+ assertEquals(b1, b2);
+
+ // @ts-ignore
+ assert(r1._bodySource !== r2._bodySource);
+});