mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 23:59:59 -05:00
30 lines
900 B
TypeScript
30 lines
900 B
TypeScript
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
|
|
|
|
import { assert } from "./test_util.ts";
|
|
|
|
Deno.test(
|
|
{
|
|
name: "Deno.networkInterfaces",
|
|
permissions: { sys: ["networkInterfaces"] },
|
|
},
|
|
() => {
|
|
const networkInterfaces = Deno.networkInterfaces();
|
|
assert(Array.isArray(networkInterfaces));
|
|
assert(networkInterfaces.length > 0);
|
|
for (
|
|
const { name, family, address, netmask, scopeid, cidr, mac }
|
|
of networkInterfaces
|
|
) {
|
|
assert(typeof name === "string");
|
|
assert(family === "IPv4" || family === "IPv6");
|
|
assert(typeof address === "string");
|
|
assert(typeof netmask === "string");
|
|
assert(
|
|
(family === "IPv6" && typeof scopeid === "number") ||
|
|
(family === "IPv4" && scopeid === null),
|
|
);
|
|
assert(typeof cidr === "string");
|
|
assert(typeof mac === "string");
|
|
}
|
|
},
|
|
);
|