From 8d8a2f573f32e0b2680eb114739902c5953f7b99 Mon Sep 17 00:00:00 2001 From: moyinzi <632378816@qq.com> Date: Fri, 22 May 2020 01:55:18 +0800 Subject: fix(std/http): file_server's target directory (#5695) --- std/http/file_server_test.ts | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) (limited to 'std/http/file_server_test.ts') diff --git a/std/http/file_server_test.ts b/std/http/file_server_test.ts index 2ff114906..97c07c250 100644 --- a/std/http/file_server_test.ts +++ b/std/http/file_server_test.ts @@ -7,7 +7,15 @@ import { serveFile } from "./file_server.ts"; const { test } = Deno; let fileServer: Deno.Process; -async function startFileServer(): Promise { +type FileServerCfg = { + target?: string; + port?: number; +}; + +async function startFileServer({ + target = ".", + port = 4507, +}: FileServerCfg = {}): Promise { fileServer = Deno.run({ cmd: [ Deno.execPath(), @@ -15,8 +23,10 @@ async function startFileServer(): Promise { "--allow-read", "--allow-net", "http/file_server.ts", - ".", + target, "--cors", + "-p", + `${port}`, ], stdout: "piped", stderr: "null", @@ -40,7 +50,7 @@ async function killFileServer(): Promise { fileServer.stdout!.close(); } -test("file_server serveFile", async (): Promise => { +test("file_server serveFile in ./", async (): Promise => { await startFileServer(); try { const res = await fetch("http://localhost:4507/README.md"); @@ -57,6 +67,24 @@ test("file_server serveFile", async (): Promise => { } }); +test("file_server serveFile in ./http", async (): Promise => { + await startFileServer({ target: "./http" }); + try { + const res = await fetch("http://localhost:4507/README.md"); + assert(res.headers.has("access-control-allow-origin")); + assert(res.headers.has("access-control-allow-headers")); + assertEquals(res.headers.get("content-type"), "text/markdown"); + const downloadedFile = await res.text(); + const localFile = new TextDecoder().decode( + await Deno.readFile("./http/README.md") + ); + console.log(downloadedFile, localFile); + assertEquals(downloadedFile, localFile); + } finally { + await killFileServer(); + } +}); + test("serveDirectory", async function (): Promise { await startFileServer(); try { -- cgit v1.2.3