Skip to content

Commit e487ff5

Browse files
committed
maint(pat-autosubmit): Add a test for delayed autosubmit.
1 parent a8b316b commit e487ff5

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/pat/auto-submit/auto-submit.test.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,39 @@ describe("pat-autosubmit", function () {
165165

166166
expect(submit_dispatched).toBe(true);
167167
});
168+
169+
it("2.5 - when a change on a single input happens with delay option", async function () {
170+
document.body.innerHTML = `
171+
<form>
172+
<input
173+
class="pat-autosubmit"
174+
type="text"
175+
name="q"
176+
data-pat-autosubmit="delay: 20"
177+
/>
178+
</form>
179+
`;
180+
const input = document.querySelector(".pat-autosubmit");
181+
new Pattern(input);
182+
let submit_input_dispatched = false;
183+
let submit_form_dispatched = false;
184+
input.addEventListener("submit", () => {
185+
submit_input_dispatched = true;
186+
});
187+
document.querySelector("form").addEventListener("submit", () => {
188+
submit_form_dispatched = true;
189+
});
190+
input.dispatchEvent(events.input_event());
191+
await utils.timeout(1);
192+
expect(submit_input_dispatched).toBe(false);
193+
expect(submit_form_dispatched).toBe(false);
194+
await utils.timeout(9);
195+
expect(submit_input_dispatched).toBe(false);
196+
expect(submit_form_dispatched).toBe(false);
197+
await utils.timeout(10);
198+
expect(submit_input_dispatched).toBe(true);
199+
expect(submit_form_dispatched).toBe(true);
200+
});
168201
});
169202

170203
describe("3 - Parsing of the delay option", function () {

0 commit comments

Comments
 (0)