summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/fetch.ts8
-rw-r--r--js/fetch_test.ts14
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");
+});