eaz-utils
Version:
A cleverly organized set of utilities to make JavaScript and TypeScript development easier.
337 lines (296 loc) • 17.7 kB
JavaScript
import eaz from "../eaz";
test("eaz.fileSystem.pathToScript.file", () => {
const filePath = eaz.fileSystem.pathToScript.file();
expect(filePath[0]).toBe("/");
const filename = filePath.substring(filePath.lastIndexOf("/"))
expect(filename).toBe("/file_system_test.js");
});
test("eaz.fileSystem.pathToScript.directory", () => {
const directoryPath = eaz.fileSystem.pathToScript.directory();
expect(directoryPath[0]).toBe("/");
const dirname = directoryPath.substring(directoryPath.lastIndexOf("/"))
expect(dirname).toBe("/tests");
});
test("eaz.fileSystem.listOf.files", () => {
let files = eaz.fileSystem.listOf.files("../");
expect(files).toContain("package.json");
expect(files).not.toContain("eaz");
expect(files).not.toContain("tests");
eaz.fileSystem.directory.create("~/eztest");
eaz.fileSystem.file.write.text("~/eztest/file1.txt", "one");
eaz.fileSystem.file.write.text("~/eztest/file2.txt", "two");
files = eaz.fileSystem.listOf.files("~/eztest");
expect(files).toContain("file1.txt");
expect(files).toContain("file2.txt");
eaz.fileSystem.file.remove("~/eztest/file1.txt");
eaz.fileSystem.file.remove("~/eztest/file2.txt");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.listOf.directories", () => {
let directories = eaz.fileSystem.listOf.directories("../");
expect(directories).not.toContain("package.json");
expect(directories).toContain("eaz");
expect(directories).toContain("tests");
eaz.fileSystem.directory.create("~/eztest");
eaz.fileSystem.directory.create("~/eztest/dir1");
eaz.fileSystem.directory.create("~/eztest/dir2");
directories = eaz.fileSystem.listOf.directories("~/eztest");
expect(directories).toContain("dir1");
expect(directories).toContain("dir2");
eaz.fileSystem.directory.remove("~/eztest/dir1");
eaz.fileSystem.directory.remove("~/eztest/dir2");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.listOf.entities", () => {
let entities = eaz.fileSystem.listOf.entities("../");
expect(entities).toContain("package.json");
expect(entities).toContain("eaz");
expect(entities).toContain("tests");
eaz.fileSystem.directory.create("~/eztest");
eaz.fileSystem.file.write.text("~/eztest/file1.txt", "one");
eaz.fileSystem.file.write.text("~/eztest/file2.txt", "two");
eaz.fileSystem.directory.create("~/eztest/dir1");
eaz.fileSystem.directory.create("~/eztest/dir2");
entities = eaz.fileSystem.listOf.entities("~/eztest");
expect(entities).toContain("dir1");
expect(entities).toContain("dir2");
expect(entities).toContain("file1.txt");
expect(entities).toContain("file2.txt");
eaz.fileSystem.file.remove("~/eztest/file1.txt");
eaz.fileSystem.file.remove("~/eztest/file2.txt");
eaz.fileSystem.directory.remove("~/eztest/dir1");
eaz.fileSystem.directory.remove("~/eztest/dir2");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.checkPathType", () => {
expect(eaz.fileSystem.checkPathType("../testfiles")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
eaz.fileSystem.directory.create("../testfiles");
expect(eaz.fileSystem.checkPathType("../testfiles")).toBe(eaz.fileSystem.PathType.DIRECTORY);
eaz.fileSystem.file.write.text("../testfiles/test.txt", "testing123");
expect(eaz.fileSystem.checkPathType("../testfiles/test.txt")).toBe(eaz.fileSystem.PathType.FILE);
eaz.fileSystem.file.remove("../testfiles/test.txt");
eaz.fileSystem.directory.remove("../testfiles");
expect(eaz.fileSystem.checkPathType("~/eztest")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
eaz.fileSystem.directory.create("~/eztest");
expect(eaz.fileSystem.checkPathType("~/eztest")).toBe(eaz.fileSystem.PathType.DIRECTORY);
eaz.fileSystem.file.write.text("~/eztest/file1.txt", "one");
eaz.fileSystem.file.write.text("~/eztest/file2.txt", "two");
eaz.fileSystem.directory.create("~/eztest/dir1");
eaz.fileSystem.directory.create("~/eztest/dir2");
expect(eaz.fileSystem.checkPathType("~/eztest/file1.txt")).toBe(eaz.fileSystem.PathType.FILE);
expect(eaz.fileSystem.checkPathType("~/eztest/file2.txt")).toBe(eaz.fileSystem.PathType.FILE);
expect(eaz.fileSystem.checkPathType("~/eztest/dir1")).toBe(eaz.fileSystem.PathType.DIRECTORY);
expect(eaz.fileSystem.checkPathType("~/eztest/dir2")).toBe(eaz.fileSystem.PathType.DIRECTORY);
eaz.fileSystem.file.remove("~/eztest/file1.txt");
eaz.fileSystem.file.remove("~/eztest/file2.txt");
eaz.fileSystem.directory.remove("~/eztest/dir1");
eaz.fileSystem.directory.remove("~/eztest/dir2");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.directory.create", () => {
expect(eaz.fileSystem.checkPathType("../testfiles")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
expect(eaz.fileSystem.directory.create("../testfiles")).toBe(true);
expect(eaz.fileSystem.checkPathType("../testfiles")).toBe(eaz.fileSystem.PathType.DIRECTORY);
expect(eaz.fileSystem.directory.create("../testfiles")).toBe(false);
eaz.fileSystem.directory.remove("../testfiles");
expect(eaz.fileSystem.checkPathType("~/eztest")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
expect(eaz.fileSystem.directory.create("~/eztest")).toBe(true);
expect(eaz.fileSystem.checkPathType("~/eztest")).toBe(eaz.fileSystem.PathType.DIRECTORY);
expect(eaz.fileSystem.directory.create("~/eztest")).toBe(false);
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.directory.remove", () => {
eaz.fileSystem.directory.create("../testfiles");
expect(eaz.fileSystem.checkPathType("../testfiles")).toBe(eaz.fileSystem.PathType.DIRECTORY);
expect(eaz.fileSystem.directory.remove("../testfiles")).toBe(true);
expect(eaz.fileSystem.checkPathType("../testfiles")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
expect(eaz.fileSystem.directory.remove("../testfiles")).toBe(false);
eaz.fileSystem.directory.create("~/eztest");
expect(eaz.fileSystem.checkPathType("~/eztest")).toBe(eaz.fileSystem.PathType.DIRECTORY);
expect(eaz.fileSystem.directory.remove("~/eztest")).toBe(true);
expect(eaz.fileSystem.checkPathType("~/eztest")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
expect(eaz.fileSystem.directory.remove("~/eztest")).toBe(false);
});
test("eaz.fileSystem.file.write.text", () => {
eaz.fileSystem.directory.create("../testfiles");
expect(eaz.fileSystem.file.write.text("../testfiles/file.txt", "testing")).toBe(true);
expect(eaz.fileSystem.file.write.text("../testfiles/file.txt", "123")).toBe(true);
expect(eaz.fileSystem.file.get.text("../testfiles/file.txt")).toBe("123");
eaz.fileSystem.file.remove("../testfiles/file.txt");
eaz.fileSystem.directory.remove("../testfiles");
eaz.fileSystem.directory.create("~/eztest");
expect(eaz.fileSystem.file.write.text("~/eztest/file.txt", "testing")).toBe(true);
expect(eaz.fileSystem.file.write.text("~/eztest/file.txt", "123")).toBe(true);
expect(eaz.fileSystem.file.get.text("~/eztest/file.txt")).toBe("123");
eaz.fileSystem.file.remove("~/eztest/file.txt");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.file.write.bytes", () => {
const bytes = Buffer.from([1, 2, 3, 4, 5]);
eaz.fileSystem.directory.create("../testfiles");
expect(eaz.fileSystem.file.write.bytes("../testfiles/file.bin", Buffer.from([90, 4, 6, 8, 10]))).toBe(true);
expect(eaz.fileSystem.file.write.bytes("../testfiles/file.bin", bytes)).toBe(true);
expect(eaz.fileSystem.file.get.bytes("../testfiles/file.bin")).toEqual(bytes);
eaz.fileSystem.file.remove("../testfiles/file.bin");
eaz.fileSystem.directory.remove("../testfiles");
eaz.fileSystem.directory.create("~/eztest");
expect(eaz.fileSystem.file.write.bytes("~/eztest/file.bin", Buffer.from([90, 4, 6, 8, 10]))).toBe(true);
expect(eaz.fileSystem.file.write.bytes("~/eztest/file.bin", bytes)).toBe(true);
expect(eaz.fileSystem.file.get.bytes("~/eztest/file.bin")).toEqual(bytes);
eaz.fileSystem.file.remove("~/eztest/file.bin");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.file.append.text", () => {
eaz.fileSystem.directory.create("../testfiles");
expect(eaz.fileSystem.file.append.text("../testfiles/file.txt", "testing")).toBe(true);
expect(eaz.fileSystem.file.append.text("../testfiles/file.txt", "123")).toBe(true);
expect(eaz.fileSystem.file.get.text("../testfiles/file.txt")).toBe("testing123");
eaz.fileSystem.file.remove("../testfiles/file.txt");
eaz.fileSystem.directory.remove("../testfiles");
eaz.fileSystem.directory.create("~/eztest");
expect(eaz.fileSystem.file.append.text("~/eztest/file.txt", "testing")).toBe(true);
expect(eaz.fileSystem.file.append.text("~/eztest/file.txt", "123")).toBe(true);
expect(eaz.fileSystem.file.get.text("~/eztest/file.txt")).toBe("testing123");
eaz.fileSystem.file.remove("~/eztest/file.txt");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.file.append.textLine", () => {
eaz.fileSystem.directory.create("../testfiles");
expect(eaz.fileSystem.file.append.textLine("../testfiles/file.txt", "testing")).toBe(true);
expect(eaz.fileSystem.file.append.textLine("../testfiles/file.txt", "123")).toBe(true);
expect(eaz.fileSystem.file.get.text("../testfiles/file.txt")).toBe("testing\n123\n");
eaz.fileSystem.file.remove("../testfiles/file.txt");
eaz.fileSystem.directory.remove("../testfiles");
eaz.fileSystem.directory.create("~/eztest");
expect(eaz.fileSystem.file.append.textLine("~/eztest/file.txt", "testing")).toBe(true);
expect(eaz.fileSystem.file.append.textLine("~/eztest/file.txt", "123")).toBe(true);
expect(eaz.fileSystem.file.get.text("~/eztest/file.txt")).toBe("testing\n123\n");
eaz.fileSystem.file.remove("~/eztest/file.txt");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.file.append.bytes", () => {
const bytes1 = Buffer.from([90, 4, 6, 8, 10]);
const bytes2 = Buffer.from([1, 2, 3, 4, 5]);
eaz.fileSystem.directory.create("../testfiles");
expect(eaz.fileSystem.file.append.bytes("../testfiles/file.bin", bytes1)).toBe(true);
expect(eaz.fileSystem.file.append.bytes("../testfiles/file.bin", bytes2)).toBe(true);
expect(eaz.fileSystem.file.get.bytes("../testfiles/file.bin")).toEqual(Buffer.concat([bytes1, bytes2]));
eaz.fileSystem.file.remove("../testfiles/file.bin");
eaz.fileSystem.directory.remove("../testfiles");
eaz.fileSystem.directory.create("~/eztest");
expect(eaz.fileSystem.file.append.bytes("~/eztest/file.bin", bytes1)).toBe(true);
expect(eaz.fileSystem.file.append.bytes("~/eztest/file.bin", bytes2)).toBe(true);
expect(eaz.fileSystem.file.get.bytes("~/eztest/file.bin")).toEqual(Buffer.concat([bytes1, bytes2]));
eaz.fileSystem.file.remove("~/eztest/file.bin");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.file.get.size", () => {
eaz.fileSystem.directory.create("../testfiles");
eaz.fileSystem.file.append.text("../testfiles/file.txt", "testing");
expect(eaz.fileSystem.file.get.size("../testfiles/file.txt")).toBe(7);
eaz.fileSystem.file.remove("../testfiles/file.txt");
eaz.fileSystem.directory.remove("../testfiles");
eaz.fileSystem.directory.create("~/eztest");
eaz.fileSystem.file.append.text("~/eztest/file.txt", "testing");
expect(eaz.fileSystem.file.get.size("~/eztest/file.txt")).toBe(7);
eaz.fileSystem.file.remove("~/eztest/file.txt");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.file.get.text", () => {
eaz.fileSystem.directory.create("../testfiles");
eaz.fileSystem.file.append.text("../testfiles/file.txt", "testing");
expect(eaz.fileSystem.file.get.text("../testfiles/file.txt")).toBe("testing");
eaz.fileSystem.file.remove("../testfiles/file.txt");
eaz.fileSystem.directory.remove("../testfiles");
eaz.fileSystem.directory.create("~/eztest");
eaz.fileSystem.file.append.text("~/eztest/file.txt", "testing");
expect(eaz.fileSystem.file.get.text("~/eztest/file.txt")).toBe("testing");
eaz.fileSystem.file.remove("~/eztest/file.txt");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.file.get.bytes", () => {
eaz.fileSystem.directory.create("../testfiles");
eaz.fileSystem.file.append.bytes("../testfiles/file.bin", Buffer.from([1, 2, 3, 4, 5]));
expect(eaz.fileSystem.file.get.bytes("../testfiles/file.bin")).toEqual(Buffer.from([1, 2, 3, 4, 5]));
eaz.fileSystem.file.remove("../testfiles/file.bin");
eaz.fileSystem.directory.remove("../testfiles");
eaz.fileSystem.directory.create("~/eztest");
eaz.fileSystem.file.append.bytes("~/eztest/file.bin", Buffer.from([1, 2, 3, 4, 5]));
expect(eaz.fileSystem.file.get.bytes("~/eztest/file.bin")).toEqual(Buffer.from([1, 2, 3, 4, 5]));
eaz.fileSystem.file.remove("~/eztest/file.bin");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.file.copy", () => {
eaz.fileSystem.directory.create("../testfiles");
eaz.fileSystem.file.write.text("../testfiles/test.txt", "testing123");
expect(eaz.fileSystem.file.copy("../testfiles/test.txt", "../testfiles/copy.txt"), true);
expect(eaz.fileSystem.file.get.text("../testfiles/copy.txt")).toBe("testing123");
eaz.fileSystem.file.write.text("../testfiles/test.txt", "testing456");
expect(eaz.fileSystem.file.copy("../testfiles/test.txt", "../testfiles/copy.txt"), false);
expect(eaz.fileSystem.file.get.text("../testfiles/copy.txt")).toBe("testing123");
expect(eaz.fileSystem.file.copy("../testfiles/test.txt", "../testfiles/copy.txt", true), true);
expect(eaz.fileSystem.file.get.text("../testfiles/copy.txt")).toBe("testing456");
eaz.fileSystem.file.remove("../testfiles/test.txt");
eaz.fileSystem.file.remove("../testfiles/copy.txt");
eaz.fileSystem.directory.remove("../testfiles");
eaz.fileSystem.directory.create("~/eztest");
eaz.fileSystem.file.write.text("~/eztest/test.txt", "testing123");
eaz.fileSystem.file.copy("~/eztest/test.txt", "~/eztest/copy.txt");
expect(eaz.fileSystem.file.get.text("~/eztest/copy.txt")).toBe("testing123");
eaz.fileSystem.file.copy("~/eztest/test.txt", "~/eztest/one/two/three/copy.txt");
expect(eaz.fileSystem.file.get.text("~/eztest/one/two/three/copy.txt")).toBe("testing123");
eaz.fileSystem.file.remove("~/eztest/test.txt");
eaz.fileSystem.file.remove("~/eztest/copy.txt");
eaz.fileSystem.file.remove("~/eztest/one/two/three/copy.txt");
eaz.fileSystem.directory.remove("~/eztest/one/two/three");
eaz.fileSystem.directory.remove("~/eztest/one/two");
eaz.fileSystem.directory.remove("~/eztest/one");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.file.move", () => {
eaz.fileSystem.directory.create("../testfiles");
eaz.fileSystem.file.write.text("../testfiles/test.txt", "testing123");
expect(eaz.fileSystem.file.move("../testfiles/test.txt", "../testfiles/moved.txt"), true);
expect(eaz.fileSystem.file.get.text("../testfiles/moved.txt")).toBe("testing123");
expect(eaz.fileSystem.checkPathType("../testfiles/test.txt")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
eaz.fileSystem.file.write.text("../testfiles/test.txt", "testing456");
expect(eaz.fileSystem.file.move("../testfiles/test.txt", "../testfiles/moved.txt"), false);
expect(eaz.fileSystem.file.get.text("../testfiles/moved.txt")).toBe("testing123");
expect(eaz.fileSystem.checkPathType("../testfiles/test.txt")).toBe(eaz.fileSystem.PathType.FILE);
expect(eaz.fileSystem.file.move("../testfiles/test.txt", "../testfiles/moved.txt", true), true);
expect(eaz.fileSystem.file.get.text("../testfiles/moved.txt")).toBe("testing456");
expect(eaz.fileSystem.checkPathType("../testfiles/test.txt")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
eaz.fileSystem.file.remove("../testfiles/moved.txt");
eaz.fileSystem.directory.remove("../testfiles");
eaz.fileSystem.directory.create("~/eztest");
eaz.fileSystem.file.write.text("~/eztest/test.txt", "testing123");
eaz.fileSystem.file.move("~/eztest/test.txt", "~/eztest/moved.txt");
expect(eaz.fileSystem.file.get.text("~/eztest/moved.txt")).toBe("testing123");
expect(eaz.fileSystem.checkPathType("~/eztest/test.txt")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
eaz.fileSystem.file.write.text("~/eztest/test.txt", "testing123");
eaz.fileSystem.file.move("~/eztest/test.txt", "~/eztest/one/two/three/moved.txt");
expect(eaz.fileSystem.file.get.text("~/eztest/one/two/three/moved.txt")).toBe("testing123");
expect(eaz.fileSystem.checkPathType("~/eztest/test.txt")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
eaz.fileSystem.file.remove("~/eztest/moved.txt");
eaz.fileSystem.file.remove("~/eztest/one/two/three/moved.txt");
eaz.fileSystem.directory.remove("~/eztest/one/two/three");
eaz.fileSystem.directory.remove("~/eztest/one/two");
eaz.fileSystem.directory.remove("~/eztest/one");
eaz.fileSystem.directory.remove("~/eztest");
});
test("eaz.fileSystem.file.remove", () => {
eaz.fileSystem.directory.create("../testfiles");
eaz.fileSystem.file.append.bytes("../testfiles/file.bin", Buffer.from([1, 2, 3, 4, 5]));
expect(eaz.fileSystem.checkPathType("../testfiles/file.bin")).toBe(eaz.fileSystem.PathType.FILE);
expect(eaz.fileSystem.file.remove("../testfiles/file.bin")).toBe(true);
expect(eaz.fileSystem.checkPathType("../testfiles/file.bin")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
expect(eaz.fileSystem.file.remove("../testfiles/file.bin")).toBe(false);
eaz.fileSystem.directory.remove("../testfiles");
eaz.fileSystem.directory.create("~/eztest");
eaz.fileSystem.file.append.bytes("~/eztest/file.bin", Buffer.from([1, 2, 3, 4, 5]));
expect(eaz.fileSystem.checkPathType("~/eztest/file.bin")).toBe(eaz.fileSystem.PathType.FILE);
expect(eaz.fileSystem.file.remove("~/eztest/file.bin")).toBe(true);
expect(eaz.fileSystem.checkPathType("~/eztest/file.bin")).toBe(eaz.fileSystem.PathType.DOES_NOT_EXIST);
expect(eaz.fileSystem.file.remove("~/eztest/file.bin")).toBe(false);
eaz.fileSystem.directory.remove("~/eztest");
});