补齐 OPFS 镜像冲突覆盖
This commit is contained in:
@@ -84,6 +84,34 @@ export async function runBrowserOpfsMirrorSections(context, simulator) {
|
|||||||
() => simulator.fs.module.FS.stat(movedTemporaryWasmPath),
|
() => simulator.fs.module.FS.stat(movedTemporaryWasmPath),
|
||||||
"OPFS moveFile left the WASM mirror source behind",
|
"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 () => {
|
await runSection("opfs write truncates wasm mirror", async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user