diff options
Diffstat (limited to 'test/bun.js/fs.test.js')
-rw-r--r-- | test/bun.js/fs.test.js | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/test/bun.js/fs.test.js b/test/bun.js/fs.test.js index 79ac60eaa..d3c6be901 100644 --- a/test/bun.js/fs.test.js +++ b/test/bun.js/fs.test.js @@ -11,6 +11,8 @@ import { readSync, writeFileSync, writeSync, + statSync, + lstatSync, } from "node:fs"; const Buffer = globalThis.Buffer || Uint8Array; @@ -242,3 +244,62 @@ describe("writeFileSync", () => { } }); }); + +describe("lstat", () => { + it("file metadata is correct", () => { + const fileStats = lstatSync( + new URL("./fs-stream.js", import.meta.url) + .toString() + .slice("file://".length - 1) + ); + expect(fileStats.isSymbolicLink()).toBe(false); + expect(fileStats.isFile()).toBe(true); + expect(fileStats.isDirectory()).toBe(false); + }); + + it("folder metadata is correct", () => { + const fileStats = lstatSync( + new URL("../../test", import.meta.url) + .toString() + .slice("file://".length - 1) + ); + expect(fileStats.isSymbolicLink()).toBe(false); + expect(fileStats.isFile()).toBe(false); + expect(fileStats.isDirectory()).toBe(true); + }); + + it("symlink metadata is correct", () => { + const linkStats = lstatSync( + new URL("./fs-stream.link.js", import.meta.url) + .toString() + .slice("file://".length - 1) + ); + expect(linkStats.isSymbolicLink()).toBe(true); + expect(linkStats.isFile()).toBe(false); + expect(linkStats.isDirectory()).toBe(false); + }); +}); + +describe("stat", () => { + it("file metadata is correct", () => { + const fileStats = statSync( + new URL("./fs-stream.js", import.meta.url) + .toString() + .slice("file://".length - 1) + ); + expect(fileStats.isSymbolicLink()).toBe(false); + expect(fileStats.isFile()).toBe(true); + expect(fileStats.isDirectory()).toBe(false); + }); + + it("folder metadata is correct", () => { + const fileStats = statSync( + new URL("../../test", import.meta.url) + .toString() + .slice("file://".length - 1) + ); + expect(fileStats.isSymbolicLink()).toBe(false); + expect(fileStats.isFile()).toBe(false); + expect(fileStats.isDirectory()).toBe(true); + }); +}); |