aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/fs.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/bun.js/fs.test.js')
-rw-r--r--test/bun.js/fs.test.js61
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);
+ });
+});