mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 15:24:46 -05:00
43 lines
870 B
TypeScript
43 lines
870 B
TypeScript
import { assertEquals } from "jsr:@std/assert";
|
|
|
|
const permissions: Deno.PermissionName[] = [
|
|
"read",
|
|
"write",
|
|
"net",
|
|
"env",
|
|
"run",
|
|
"ffi",
|
|
"hrtime",
|
|
];
|
|
|
|
for (const name of permissions) {
|
|
Deno.bench({
|
|
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.bench({
|
|
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");
|
|
}
|
|
}
|
|
},
|
|
});
|
|
}
|