diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/fetch.ts | 8 | ||||
-rw-r--r-- | js/fetch_test.ts | 14 |
2 files changed, 17 insertions, 5 deletions
diff --git a/js/fetch.ts b/js/fetch.ts index 73ad34e7a..2d57fa65c 100644 --- a/js/fetch.ts +++ b/js/fetch.ts @@ -166,8 +166,7 @@ class FetchRequest { fbs.FetchReq.addId(builder, this.id); fbs.FetchReq.addUrl(builder, url); const msg = fbs.FetchReq.endFetchReq(builder); - const res = send(builder, fbs.Any.FetchReq, msg); - assert(res == null); + send(builder, fbs.Any.FetchReq, msg); } } @@ -177,7 +176,7 @@ export function fetch( ): Promise<Response> { const fetchReq = new FetchRequest(input as string); const response = fetchReq.response; - return new Promise((resolve, reject) => { + const promise = new Promise<Response>((resolve, reject) => { response.onHeader = (response: FetchResponse) => { log("onHeader"); resolve(response); @@ -186,6 +185,7 @@ export function fetch( log("onError", error); reject(error); }; - fetchReq.start(); }); + fetchReq.start(); + return promise; } diff --git a/js/fetch_test.ts b/js/fetch_test.ts index 873f2fbde..88cf834bc 100644 --- a/js/fetch_test.ts +++ b/js/fetch_test.ts @@ -1,5 +1,5 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. -import { testPerm, assertEqual } from "./test_util.ts"; +import { test, testPerm, assert, assertEqual } from "./test_util.ts"; import * as deno from "deno"; testPerm({ net: true }, async function fetchJsonSuccess() { @@ -7,3 +7,15 @@ testPerm({ net: true }, async function fetchJsonSuccess() { const json = await response.json(); assertEqual(json.name, "deno"); }); + +test(async function fetchPerm() { + let err; + try { + await fetch("http://localhost:4545/package.json"); + } catch (err_) { + err = err_; + } + // TODO assert(err instanceof deno.PermissionDenied). + assert(err); + assertEqual(err.name, "deno.PermissionDenied"); +}); |