@@ -165,6 +165,39 @@ describe("pat-autosubmit", function () {
165
165
166
166
expect ( submit_dispatched ) . toBe ( true ) ;
167
167
} ) ;
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
+ } ) ;
168
201
} ) ;
169
202
170
203
describe ( "3 - Parsing of the delay option" , function ( ) {
0 commit comments