mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 07:14:47 -05:00
6be389ce29
Note: tests are not the only part of the codebase that uses `std`. Other parts, like `tools/`, do too. So, it could be argued that this is a little misleading. Either way, I'm doing this as discussed with @mmastrac.
43 lines
890 B
TypeScript
43 lines
890 B
TypeScript
import { assertEquals } from "../../../tests/util/std/assert/mod.ts";
|
|
|
|
const permissions: Deno.PermissionName[] = [
|
|
"read",
|
|
"write",
|
|
"net",
|
|
"env",
|
|
"run",
|
|
"ffi",
|
|
"hrtime",
|
|
];
|
|
|
|
for (const name of permissions) {
|
|
Deno.test({
|
|
name: `${name} false`,
|
|
permissions: {
|
|
[name]: false,
|
|
},
|
|
async fn() {
|
|
for await (const n of permissions) {
|
|
const status = await Deno.permissions.query({ name: n });
|
|
assertEquals(status.state, "prompt");
|
|
}
|
|
},
|
|
});
|
|
|
|
Deno.test({
|
|
name: `${name} true`,
|
|
permissions: {
|
|
[name]: true,
|
|
},
|
|
async fn() {
|
|
for await (const n of permissions) {
|
|
const status = await Deno.permissions.query({ name: n });
|
|
if (n === name) {
|
|
assertEquals(status.state, "granted");
|
|
} else {
|
|
assertEquals(status.state, "prompt");
|
|
}
|
|
}
|
|
},
|
|
});
|
|
}
|