补齐 OPFS 镜像冲突覆盖
This commit is contained in:
@@ -84,6 +84,34 @@ export async function runBrowserOpfsMirrorSections(context, simulator) {
|
||||
() => simulator.fs.module.FS.stat(movedTemporaryWasmPath),
|
||||
"OPFS moveFile left the WASM mirror source behind",
|
||||
);
|
||||
|
||||
await simulator.fs.opfs.writeFile("parameters/mirror-conflict-source.var", "5161\t3.000000\n");
|
||||
const copyConflictPath = simulator.fs.opfs.resolvePath("parameters/mirror-conflict-copy.var");
|
||||
simulator.fs.module.FS.mkdir(copyConflictPath);
|
||||
await simulator.fs.opfs.copyFile("parameters/mirror-conflict-source.var", "parameters/mirror-conflict-copy.var");
|
||||
const copyConflictMode = simulator.fs.module.FS.stat(copyConflictPath).mode;
|
||||
if (!simulator.fs.module.FS.isFile(copyConflictMode)) {
|
||||
throw new Error("OPFS copyFile did not replace a WASM mirror directory with a file");
|
||||
}
|
||||
expectText(
|
||||
new TextDecoder().decode(simulator.fs.module.FS.readFile(copyConflictPath)),
|
||||
"5161\t3.000000\n",
|
||||
"OPFS copyFile did not write copied contents over a WASM mirror directory",
|
||||
);
|
||||
|
||||
await simulator.fs.opfs.writeFile("parameters/mirror-conflict-move.var.new", "5161\t4.000000\n");
|
||||
const moveConflictPath = simulator.fs.opfs.resolvePath("parameters/mirror-conflict-move.var");
|
||||
simulator.fs.module.FS.mkdir(moveConflictPath);
|
||||
await simulator.fs.opfs.moveFile("parameters/mirror-conflict-move.var.new", "parameters/mirror-conflict-move.var");
|
||||
const moveConflictMode = simulator.fs.module.FS.stat(moveConflictPath).mode;
|
||||
if (!simulator.fs.module.FS.isFile(moveConflictMode)) {
|
||||
throw new Error("OPFS moveFile did not replace a WASM mirror directory with a file");
|
||||
}
|
||||
expectText(
|
||||
new TextDecoder().decode(simulator.fs.module.FS.readFile(moveConflictPath)),
|
||||
"5161\t4.000000\n",
|
||||
"OPFS moveFile did not write moved contents over a WASM mirror directory",
|
||||
);
|
||||
});
|
||||
|
||||
await runSection("opfs write truncates wasm mirror", async () => {
|
||||
|
||||
Reference in New Issue
Block a user