mirror of
https://github.com/denoland/deno.git
synced 2024-10-29 08:58:01 -04:00
45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
// Copyright 2018 the Deno authors. All rights reserved. MIT license.
|
|
import { test, testPerm, assert, assertEqual } from "./test_util.ts";
|
|
import * as deno from "deno";
|
|
|
|
testPerm({ net: true }, async function fetchJsonSuccess() {
|
|
const response = await fetch("http://localhost:4545/package.json");
|
|
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_;
|
|
}
|
|
assertEqual(err.kind, deno.ErrorKind.PermissionDenied);
|
|
assertEqual(err.name, "PermissionDenied");
|
|
});
|
|
|
|
testPerm({ net: true }, async function fetchHeaders() {
|
|
const response = await fetch("http://localhost:4545/package.json");
|
|
const headers = response.headers;
|
|
assertEqual(headers.get("Content-Type"), "application/json");
|
|
assert(headers.get("Server").startsWith("SimpleHTTP"));
|
|
});
|
|
|
|
test(async function headersAppend() {
|
|
let err;
|
|
try {
|
|
const headers = new Headers([["foo", "bar", "baz"]]);
|
|
} catch (e) {
|
|
err = e;
|
|
}
|
|
assert(err instanceof TypeError);
|
|
});
|
|
|
|
testPerm({ net: true }, async function fetchBlob() {
|
|
const response = await fetch("http://localhost:4545/package.json");
|
|
const headers = response.headers;
|
|
const blob = await response.blob();
|
|
assertEqual(blob.type, headers.get("Content-Type"));
|
|
assertEqual(blob.size, Number(headers.get("Content-Length")));
|
|
});
|