Download ComfyUI-MiniMaxH3-Context-Loop/tests/_cancel_reroll_js_test.mjs from dzmdd/Fast_deploy: direct link, hf CLI and curl.
- Browser
- Download file 3.24 kB
-
https://huggingface.co/dzmdd/Fast_deploy/resolve/main/ComfyUI-MiniMaxH3-Context-Loop/tests/_cancel_reroll_js_test.mjs
- Command line
-
hf download hf://dzmdd/Fast_deploy/ComfyUI-MiniMaxH3-Context-Loop/tests/_cancel_reroll_js_test.mjs
-
curl -L -o _cancel_reroll_js_test.mjs https://huggingface.co/dzmdd/Fast_deploy/resolve/main/ComfyUI-MiniMaxH3-Context-Loop/tests/_cancel_reroll_js_test.mjs
3.24 kB
| import assert from "node:assert/strict"; | |
| import fs from "node:fs"; | |
| import { | |
| activeSceneFromOutput, | |
| applySceneReroll, | |
| resumeSelection, | |
| } from "../web/h3_chain_cancel_reroll_core.mjs"; | |
| const plan = { | |
| shots: [ | |
| {id: "one", prompt: ["One."]}, | |
| {id: "two", prompt: ["Two."], seed: "2"}, | |
| {id: "three", prompt: ["Three."]}, | |
| ], | |
| }; | |
| applySceneReroll(plan, 2, "18446744073709551615"); | |
| assert.equal(plan.shots[1].seed, "18446744073709551615"); | |
| assert.throws(() => applySceneReroll(plan, 4, "1"), /does not exist/); | |
| assert.throws( | |
| () => applySceneReroll(plan, 1, "18446744073709551616"), | |
| /unsigned 64-bit/, | |
| ); | |
| assert.deepEqual(resumeSelection(2, 3, 3), { | |
| startClip: 2, | |
| sceneRange: "", | |
| }); | |
| assert.deepEqual(resumeSelection(3, 5, 8), { | |
| startClip: 3, | |
| sceneRange: "3:5", | |
| }); | |
| assert.deepEqual(resumeSelection(5, 5, 8), { | |
| startClip: 5, | |
| sceneRange: "5", | |
| }); | |
| assert.throws(() => resumeSelection(6, 5, 8), /Invalid reroll range/); | |
| assert.deepEqual(activeSceneFromOutput({ | |
| h3_chain_active_scene: [{ | |
| run_name: "project", | |
| clip_index: 2, | |
| clip_count: 8, | |
| end_clip: 5, | |
| shot_id: "hallway", | |
| seed: "9007199254740993", | |
| }], | |
| }), { | |
| runName: "project", | |
| clipIndex: 2, | |
| clipCount: 8, | |
| endClip: 5, | |
| shotId: "hallway", | |
| seed: "9007199254740993", | |
| }); | |
| assert.equal(activeSceneFromOutput({h3_chain_active_scene: []}), null); | |
| const source = fs.readFileSync( | |
| new URL("../web/h3_chain_cancel_reroll.js", import.meta.url), | |
| "utf8", | |
| ); | |
| assert.match(source, /refreshRestoredPlanEditors\(planNode\)/, | |
| "reroll seed changes refresh every Plan companion"); | |
| assert.match(source, /\/api\/jobs\/\$\{encodeURIComponent\(record\.promptId\)\}\/cancel/); | |
| assert.match(source, /execution_interrupted/); | |
| assert.match(source, /await waiter\.promise/); | |
| assert.match(source, /requireVisibleWorkflow\(record\);[\s\S]*verifyPredecessorCheckpoint/); | |
| assert.match(source, /function activeWorkflowIdentity\(\)/); | |
| assert.match(source, /workflowIdentity !== record\.workflowIdentity/); | |
| assert.match(source, /widgetByName\(planNode, "run_name"\)/); | |
| assert.match(source, /record\.currentNode = currentNode/); | |
| assert.doesNotMatch(source, /currentNode !== record\.currentNode/); | |
| assert.match(source, /active = null;[\s\S]*Waiting for ComfyUI to finish interrupting/); | |
| assert.match(source, /applySceneReroll/); | |
| assert.match(source, /resumeSelection/); | |
| assert.match(source, /await app\.queuePrompt\(0, 1\)/); | |
| assert.match(source, /checkpoint \$\{predecessor\} is not ready/); | |
| assert.match(source, /queue the workflow manually/); | |
| assert.match(source, /MiniMaxH3ContexLoop\.cancelRerollControl/); | |
| assert.match(source, /Show floating Cancel & reroll control/); | |
| assert.match(source, /defaultValue:\s*true/); | |
| assert.match(source, /onChange\(value\)[\s\S]*setControlAllowed\(value\)/); | |
| assert.match(source, /if \(!controlAllowed \|\| !active \|\| busy\) return/); | |
| assert.match(source, /root\.hidden = !controlAllowed \|\| !wantsVisible/); | |
| assert.match(source, /\.h3cr-status[\s\S]*max-width:100%[\s\S]*overflow-wrap:anywhere/); | |
| assert.doesNotMatch(source, /fetchApi\("\/interrupt"/); | |
| console.log("H3 cancel-and-reroll helpers: ok"); | |