mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-15 15:24:52 +09:00
Add findUnusedName to file_ops.js
Add function to find an unused name in a directory to lib/file_ops and use it for finding an unused instance directory.
This commit is contained in:
1 parent
544d8deb81
commit
0066a06107
3 files changed
+75
-7
No files matched your search
@@ -13,6 +13,13 @@ describe("lib/file_ops", function() {
|
||||
|
||||
await fs.outputFile(path.join(baseDir, "test", "file.txt"), "contents");
|
||||
await fs.outputFile(path.join(baseDir, "test", "another file.txt"), "more contents");
|
||||
|
||||
await fs.outputFile(path.join(baseDir, "find", "file"), "contents");
|
||||
await fs.outputFile(path.join(baseDir, "find", "file.txt"), "contents");
|
||||
await fs.outputFile(path.join(baseDir, "find", "foo-1"), "contents");
|
||||
await fs.outputFile(path.join(baseDir, "find", "foo-2"), "contents");
|
||||
await fs.outputFile(path.join(baseDir, "find", "bar-1.txt"), "contents");
|
||||
await fs.outputFile(path.join(baseDir, "find", "bar-2.txt"), "contents");
|
||||
}
|
||||
|
||||
before(setupTestingEnv);
|
||||
@@ -31,4 +38,32 @@ describe("lib/file_ops", function() {
|
||||
assert.equal(newest, null);
|
||||
});
|
||||
});
|
||||
|
||||
describe("findUnusedName()", function() {
|
||||
it("should return named unchanged if it does not exist", async function() {
|
||||
let cases = [
|
||||
[["file"], "file"],
|
||||
[["file", ".txt"], "file.txt"],
|
||||
[["file.txt", ".txt"], "file.txt"],
|
||||
];
|
||||
for (let [args, expected] of cases) {
|
||||
let actual = await libFileOps.findUnusedName(path.join(baseDir, "test", "folder"), ...args);
|
||||
assert.equal(actual, expected);
|
||||
}
|
||||
});
|
||||
it("should return changed name if it does exist", async function() {
|
||||
let cases = [
|
||||
[["file"], "file-2"],
|
||||
[["file", ".txt"], "file-2.txt"],
|
||||
[["file.txt", ".txt"], "file-2.txt"],
|
||||
[["foo-1"], "foo-3"],
|
||||
[["bar-1", ".txt"], "bar-3.txt"],
|
||||
[["bar-1.txt", ".txt"], "bar-3.txt"],
|
||||
];
|
||||
for (let [args, expected] of cases) {
|
||||
let actual = await libFileOps.findUnusedName(path.join(baseDir, "find"), ...args);
|
||||
assert.equal(actual, expected);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user