1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-26 16:09:27 -05:00
denoland-deno/tests/specs/future/runtime_api/main.js
Asher Gomez 7d95c5c062
BREAKING(fs): remove Deno.funlock[Sync]() (#25442)
Towards #22079

---------

Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-09-05 11:23:37 +00:00

100 lines
2.9 KiB
JavaScript

console.log("window is", globalThis.window);
console.log("Deno.Buffer is", Deno.Buffer);
console.log(
"Deno.FsFile.prototype.rid is",
Deno.openSync(import.meta.filename).rid,
);
// TCP
// Since these tests may run in parallel, ensure this port is unique to this file
const tcpPort = 4509;
const tcpListener = Deno.listen({ port: tcpPort });
console.log("Deno.Listener.prototype.rid is", tcpListener.rid);
const tcpConn = await Deno.connect({ port: tcpPort });
console.log("Deno.Conn.prototype.rid is", tcpConn.rid);
tcpConn.close();
tcpListener.close();
// Unix
if (Deno.build.os === "windows") {
console.log("Deno.UnixConn.prototype.rid is undefined");
} else {
const socketPath = "./test.sock";
const unixListener = Deno.listen({ transport: "unix", path: socketPath });
const unixConn = await Deno.connect({ transport: "unix", path: socketPath });
console.log("Deno.UnixConn.prototype.rid is", unixConn.rid);
unixConn.close();
unixListener.close();
Deno.removeSync(socketPath);
}
// TLS
// Since these tests may run in parallel, ensure this port is unique to this file
const tlsPort = 4510;
const cert = Deno.readTextFileSync(
new URL("../../../testdata/tls/localhost.crt", import.meta.url),
);
const key = Deno.readTextFileSync(
new URL("../../../testdata/tls/localhost.key", import.meta.url),
);
const tlsListener = Deno.listenTls({ port: tlsPort, cert, key });
console.log("Deno.TlsListener.prototype.rid is", tlsListener.rid);
const tlsConn = await Deno.connectTls({ port: tlsPort });
console.log("Deno.TlsConn.prototype.rid is", tlsConn.rid);
tlsConn.close();
try {
new Deno.FsFile(0);
} catch (error) {
if (
error instanceof TypeError &&
error.message ===
"`Deno.FsFile` cannot be constructed, use `Deno.open()` or `Deno.openSync()` instead."
) {
console.log("Deno.FsFile constructor is illegal");
}
}
// Note: this could throw with a `Deno.errors.NotFound` error if `keyFile` and
// `certFile` were used.
const conn1 = await Deno.connectTls({
port: tlsPort,
certFile: "foo",
keyFile: "foo",
});
conn1.close();
console.log("Deno.ConnectTlsOptions.(certFile|keyFile) do nothing");
// Note: this could throw with a `Deno.errors.InvalidData` error if `certChain`
// and `privateKey` were used.
const conn2 = await Deno.connectTls({
port: tlsPort,
certChain: "foo",
privateKey: "foo",
});
conn2.close();
console.log("Deno.ConnectTlsOptions.(certChain|privateKey) do nothing");
tlsListener.close();
// Note: this could throw with a `Deno.errors.NotFound` error if `keyFile` and
// `certFile` were used.
try {
Deno.listenTls({ port: tlsPort, keyFile: "foo", certFile: "foo" });
} catch (error) {
if (
error instanceof Deno.errors.InvalidData &&
error.message ===
"Deno.listenTls requires a key: Error creating TLS certificate"
) {
console.log("Deno.ListenTlsOptions.(keyFile|certFile) do nothing");
}
}
self.close();