File tree Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Original file line number Diff line number Diff line change @@ -181,6 +181,28 @@ const generic_event = (name) => {
181
181
} ) ;
182
182
} ;
183
183
184
+
185
+ /** Patternslib specifc event factories
186
+ */
187
+
188
+ class UpdateEvent extends CustomEvent {
189
+ constructor ( options ) {
190
+ super ( "pat-update" , {
191
+ bubbles : true ,
192
+ cancelable : true ,
193
+ detail : options
194
+ } ) ;
195
+ }
196
+ }
197
+
198
+ const update_event = ( options ) => {
199
+ return new UpdateEvent ( options ) ;
200
+ }
201
+
202
+
203
+ /** Web API event factories
204
+ */
205
+
184
206
const blur_event = ( ) => {
185
207
return new Event ( "blur" , {
186
208
bubbles : false ,
@@ -266,6 +288,7 @@ export default {
266
288
await_event : await_event ,
267
289
await_pattern_init : await_pattern_init ,
268
290
generic_event : generic_event ,
291
+ update_event : update_event ,
269
292
blur_event : blur_event ,
270
293
click_event : click_event ,
271
294
change_event : change_event ,
Original file line number Diff line number Diff line change @@ -467,6 +467,26 @@ describe("core.events tests", () => {
467
467
expect ( catched ) . toBe ( "outer" ) ;
468
468
} ) ;
469
469
470
+ it ( "update event" , async ( ) => {
471
+ outer . addEventListener ( "pat-update" , ( ) => {
472
+ catched = "outer" ;
473
+ } ) ;
474
+ inner . dispatchEvent ( events . update_event ( ) ) ;
475
+ await utils . timeout ( 1 ) ;
476
+ expect ( catched ) . toBe ( "outer" ) ;
477
+ } ) ;
478
+
479
+ it ( "update event with data" , async ( ) => {
480
+ let event ;
481
+ outer . addEventListener ( "pat-update" , ( e ) => {
482
+ event = e ;
483
+ } ) ;
484
+ const data = { "foo" : "bar" } ;
485
+ inner . dispatchEvent ( events . update_event ( data ) ) ;
486
+ await utils . timeout ( 1 ) ;
487
+ expect ( event . detail ) . toBe ( data ) ;
488
+ } ) ;
489
+
470
490
it ( "blur event" , async ( ) => {
471
491
outer . addEventListener ( "blur" , ( ) => {
472
492
catched = "outer" ;
You can’t perform that action at this time.
0 commit comments