import htmlKeyboardResponse from "@jspsych/plugin-html-keyboard-response"; import { pressKey, startTimeline } from "../utils"; jest.useFakeTimers("modern"); describe("minimum_valid_rt parameter", () => { test("has a default value of 0", async () => { const { getHTML } = await startTimeline([ { type: htmlKeyboardResponse, stimulus: "foo", }, { type: htmlKeyboardResponse, stimulus: "bar", }, ]); expect(getHTML()).toMatch("foo"); pressKey("a"); expect(getHTML()).toMatch("bar"); }); test("correctly prevents fast responses when set", async () => { const { getHTML } = await startTimeline( [ { type: htmlKeyboardResponse, stimulus: "foo", }, { type: htmlKeyboardResponse, stimulus: "bar", }, ], { minimum_valid_rt: 100 } ); expect(getHTML()).toMatch("foo"); pressKey("a"); expect(getHTML()).toMatch("foo"); jest.advanceTimersByTime(100); pressKey("a"); expect(getHTML()).toMatch("bar"); }); });