summaryrefslogtreecommitdiff
path: root/tests/unit_node/os_test.ts
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2024-05-15 22:22:40 -0700
committerGitHub <noreply@github.com>2024-05-16 10:52:40 +0530
commitbba553bea5938932518dc6382e464968ce8374b4 (patch)
treeefd68b86734bf8703608f0165a473ac04c300272 /tests/unit_node/os_test.ts
parenta31b81394b7d78e6a0e678ba4d18dda62a3b2bc5 (diff)
fix(ext/node): homedir() `getpwuid`/`SHGetKnownFolderPath` fallback (#23841)
**Unix**: Returns the value of the HOME environment variable if it is set even if it is an empty string. Otherwise, it tries to determine the home directory by invoking the [getpwuid_r](https://linux.die.net/man/3/getpwuid_r) function with the UID of the current user. **Windows**: Returns the value of the USERPROFILE environment variable if it is set and it is not an empty string. Otherwise, it tries to determine the home directory by invoking the [SHGetKnownFolderPath](https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath) function with [FOLDERID_Profile](https://learn.microsoft.com/en-us/windows/win32/shell/knownfolderid). Fixes https://github.com/denoland/deno/issues/23824
Diffstat (limited to 'tests/unit_node/os_test.ts')
-rw-r--r--tests/unit_node/os_test.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/unit_node/os_test.ts b/tests/unit_node/os_test.ts
index 9ce9fc9eb..810c22518 100644
--- a/tests/unit_node/os_test.ts
+++ b/tests/unit_node/os_test.ts
@@ -48,6 +48,14 @@ Deno.test({
});
Deno.test({
+ name: "home directory when HOME is not set",
+ fn() {
+ Deno.env.delete("HOME");
+ assertEquals(typeof os.homedir(), "string");
+ },
+});
+
+Deno.test({
name: "tmp directory is a string",
fn() {
assertEquals(typeof os.tmpdir(), "string");