DefinitelyTyped/types/fs-plus/fs-plus-tests.ts
2017-12-10 23:34:48 -08:00

152 lines
3.2 KiB
TypeScript

import * as path from "path";
import * as fs from "fs-plus";
const homeDir = fs.getHomeDirectory();
console.log(fs.absolute("~") === fs.realpathSync(homeDir));
console.log(
fs.absolute(path.join("~", "does", "not", "exist")) ===
path.join(homeDir, "does", "not", "exist")
);
console.log(fs.normalize("~/foo") === path.join(homeDir, "foo"));
console.log(fs.tildify(homeDir) === "~");
console.log(
fs.getAppDataDirectory() ===
path.join(fs.getHomeDirectory(), "Library", "Application Support")
);
console.log(fs.isAbsolute("/a/b/c"));
console.log(fs.existsSync("/a/b/c"));
console.log(fs.isDirectorySync("/a/b/c"));
fs.isDirectory("a/b/c", result => {
console.log(result);
});
console.log(fs.isFileSync("/a/b/c"));
console.log(fs.isSymbolicLinkSync("/a/b/c"));
fs.isSymbolicLink("a/b/c", result => {
console.log(result);
});
console.log(fs.isExecutableSync("/a/b/c"));
console.log(fs.getSizeSync("/a/b/c") === -1);
console.log(fs.listSync("/a/b").indexOf("c") === 0);
console.log(fs.listSync("/a/b", [".ts", ".tsx"]).indexOf("c.tsx") === 0);
fs.list("/a/b", (err, result) => {
if (err) {
console.error(err);
return;
}
console.log(result.indexOf("c") === 0);
});
fs.list("/a/b", [".ts", ".tsx"], (err, result) => {
if (err) {
console.error(err);
return;
}
console.log(result.indexOf("c.tsx") === 0);
});
console.log(fs.listTreeSync("/a/b").indexOf("c") === 0);
fs.moveSync("/a/b", "a/c");
fs.move("/a/b", "a/c", err => {
console.log(err);
});
fs.removeSync("/a/b");
fs.remove("/a/b", err => {
console.log(err);
});
fs.writeFileSync("a/b/c", "data");
fs.writeFileSync("a/b/c", "data", "utf8");
fs.writeFileSync("a/b/c", "data", { encoding: "utf8" });
fs.writeFile("a/b/c", "data", err => {
console.log(err);
});
fs.writeFile("a/b/c", "data", "utf8", err => {
console.log(err);
});
fs.writeFile("a/b/c", "data", { encoding: "utf8" }, err => {
console.log(err);
});
fs.copySync("/a/b", "a/c");
fs.copy("/a/b", "a/c", err => {
console.log(err);
});
fs.copyFileSync("/a/b", "a/c");
fs.copyFileSync("/a/b", "a/c", 32 * 1024);
fs.makeTreeSync("/a/b");
fs.makeTree("/a/b", err => {
console.log(err);
});
fs.traverseTreeSync(
"a/b/c",
file => {
console.log("file", file);
},
dir => {
console.log("directory", dir);
return true;
}
);
fs.traverseTree(
"a/b/c",
file => {
console.log("file", file);
},
dir => {
console.log("directory", dir);
},
err => {
console.error(err);
}
);
console.log(fs.md5ForPath("a/b/c"));
console.log(fs.resolve("a/b/c", "sample.js"));
console.log(fs.resolve("a/b/c", "sample", [".js"]));
console.log(fs.resolveOnLoadPath("sample.js"));
console.log(fs.resolveOnLoadPath("sample", [".js"]));
console.log(fs.resolveExtension("a/b/c", [".js"]));
console.log(fs.isCompressedExtension(".tar.gz"));
console.log(fs.isImageExtension(".jpg"));
console.log(fs.isPdfExtension(".pdf"));
console.log(fs.isBinaryExtension(".exe"));
console.log(fs.isReadmePath("a/b/README.md"));
console.log(fs.isMarkdownExtension(".md"));
console.log(fs.isCaseInsensitive());
console.log(fs.isCaseSensitive());