mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
test add mpv protocol pause-on-sub-end regression
This commit is contained in:
@@ -137,6 +137,36 @@ test("dispatchMpvProtocolMessage restores secondary visibility on shutdown", asy
|
|||||||
assert.equal(state.restored, 1);
|
assert.equal(state.restored, 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("dispatchMpvProtocolMessage pauses on sub-end when pendingPauseAtSubEnd is set", async () => {
|
||||||
|
let pendingPauseAtSubEnd = true;
|
||||||
|
let pauseAtTime: number | null = null;
|
||||||
|
const { deps, state } = createDeps({
|
||||||
|
getPendingPauseAtSubEnd: () => pendingPauseAtSubEnd,
|
||||||
|
setPendingPauseAtSubEnd: (next) => {
|
||||||
|
pendingPauseAtSubEnd = next;
|
||||||
|
},
|
||||||
|
getCurrentSubText: () => "字幕",
|
||||||
|
setCurrentSubEnd: () => {},
|
||||||
|
getCurrentSubEnd: () => 0,
|
||||||
|
setPauseAtTime: (next) => {
|
||||||
|
pauseAtTime = next;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
await dispatchMpvProtocolMessage(
|
||||||
|
{ event: "property-change", name: "sub-end", data: 42 },
|
||||||
|
deps,
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.equal(pendingPauseAtSubEnd, false);
|
||||||
|
assert.equal(pauseAtTime, 42);
|
||||||
|
assert.deepEqual(state.events, [{ text: "字幕", start: 0, end: 0 }]);
|
||||||
|
assert.deepEqual(
|
||||||
|
state.commands[state.commands.length - 1],
|
||||||
|
{ command: ["set_property", "pause", false] },
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
test("splitMpvMessagesFromBuffer parses complete lines and preserves partial buffer", () => {
|
test("splitMpvMessagesFromBuffer parses complete lines and preserves partial buffer", () => {
|
||||||
const parsed = splitMpvMessagesFromBuffer(
|
const parsed = splitMpvMessagesFromBuffer(
|
||||||
"{\"event\":\"shutdown\"}\\n{\"event\":\"property-change\",\"name\":\"media-title\",\"data\":\"x\"}\\n{\"partial\"",
|
"{\"event\":\"shutdown\"}\\n{\"event\":\"property-change\",\"name\":\"media-title\",\"data\":\"x\"}\\n{\"partial\"",
|
||||||
|
|||||||
Reference in New Issue
Block a user