Clarify local backup permission recovery
All checks were successful
Deploy Sokko G / deploy (push) Successful in 17s

This commit is contained in:
Shinuwa 2026-09-25 09:53:58 +02:00
parent 7b23a8601a
commit 34e542be28
6 changed files with 20 additions and 11 deletions

View file

@ -94,13 +94,17 @@ test("manual backup replaces the day and retains ten non-consecutive versions",
assert.equal(directory.files.get("notes.json"), "old");
});
test("permission failure prevents export and cleanup", async () => {
const directory = new FakeDirectory();
directory.permission = "prompt";
let generated = false;
const result = await saveBackup({ directoryHandle: directory, generateJson: async () => { generated = true; return "{}"; } });
assert.equal(result.reason, "permission");
assert.equal(generated, false);
test("missing permission never opens a prompt or starts an export", async () => {
for (const permission of ["prompt", "denied"]) {
const directory = new FakeDirectory();
directory.permission = permission;
directory.requestPermission = () => { throw new Error("Permission popup must require user interaction"); };
let generated = false;
const result = await saveBackup({ directoryHandle: directory, generateJson: async () => { generated = true; return "{}"; } });
assert.equal(result.reason, "permission");
assert.equal(result.permission, permission);
assert.equal(generated, false);
}
});
test("cleanup failure does not invalidate a successfully written backup", async () => {