diff options
author | Kurt Mackey <mrkurt@gmail.com> | 2019-05-01 22:56:42 -0500 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-05-01 23:56:42 -0400 |
commit | c05cbc8eac91a9e1ab9b87c688ac4392eff01445 (patch) | |
tree | cc6e1e2b789ba6626c33523fa488681c86c1a987 /js/request_test.ts | |
parent | 1dd30f658fc031dd1d3cdb5b4c435ff0e48740c9 (diff) |
Add Request global constructor (#2253)
Diffstat (limited to 'js/request_test.ts')
-rw-r--r-- | js/request_test.ts | 49 |
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); +}); |