diff options
author | Kevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com> | 2020-01-16 06:46:32 -0800 |
---|---|---|
committer | Ry Dahl <ry@tinyclouds.org> | 2020-01-16 09:46:32 -0500 |
commit | 91757f63fdc04f5844b58a8c0b76df601e84ac72 (patch) | |
tree | 382b49b96db5a12e1452137e36192f4468e04083 /cli/js/stat_test.ts | |
parent | 5856d21a2eca75bad28108cb53066259fd7427fb (diff) |
feat(fs): add more unix-only fields to FileInfo (#3680)
Diffstat (limited to 'cli/js/stat_test.ts')
-rw-r--r-- | cli/js/stat_test.ts | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/cli/js/stat_test.ts b/cli/js/stat_test.ts index 9e78888a3..7b4f06114 100644 --- a/cli/js/stat_test.ts +++ b/cli/js/stat_test.ts @@ -170,3 +170,53 @@ testPerm({ read: true }, async function lstatNotFound(): Promise<void> { assert(caughtError); assertEquals(badInfo, undefined); }); + +const isWindows = Deno.build.os === "win"; + +// OS dependent tests +if (isWindows) { + testPerm( + { read: true, write: true }, + async function statNoUnixFields(): Promise<void> { + const enc = new TextEncoder(); + const data = enc.encode("Hello"); + const tempDir = Deno.makeTempDirSync(); + const filename = tempDir + "/test.txt"; + Deno.writeFileSync(filename, data, { perm: 0o666 }); + const s = Deno.statSync(filename); + assert(s.dev === null); + assert(s.ino === null); + assert(s.mode === null); + assert(s.nlink === null); + assert(s.uid === null); + assert(s.gid === null); + assert(s.rdev === null); + assert(s.blksize === null); + assert(s.blocks === null); + } + ); +} else { + testPerm( + { read: true, write: true }, + async function statUnixFields(): Promise<void> { + const enc = new TextEncoder(); + const data = enc.encode("Hello"); + const tempDir = Deno.makeTempDirSync(); + const filename = tempDir + "/test.txt"; + const filename2 = tempDir + "/test2.txt"; + Deno.writeFileSync(filename, data, { perm: 0o666 }); + // Create a link + Deno.linkSync(filename, filename2); + const s = Deno.statSync(filename); + assert(s.dev !== null); + assert(s.ino !== null); + assertEquals(s.mode & 0o666, 0o666); + assertEquals(s.nlink, 2); + assert(s.uid !== null); + assert(s.gid !== null); + assert(s.rdev !== null); + assert(s.blksize !== null); + assert(s.blocks !== null); + } + ); +} |