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) => {
181181 } ) ;
182182} ;
183183
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+
184206const blur_event = ( ) => {
185207 return new Event ( "blur" , {
186208 bubbles : false ,
@@ -266,6 +288,7 @@ export default {
266288 await_event : await_event ,
267289 await_pattern_init : await_pattern_init ,
268290 generic_event : generic_event ,
291+ update_event : update_event ,
269292 blur_event : blur_event ,
270293 click_event : click_event ,
271294 change_event : change_event ,
Original file line number Diff line number Diff line change @@ -467,6 +467,26 @@ describe("core.events tests", () => {
467467 expect ( catched ) . toBe ( "outer" ) ;
468468 } ) ;
469469
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+
470490 it ( "blur event" , async ( ) => {
471491 outer . addEventListener ( "blur" , ( ) => {
472492 catched = "outer" ;
You can’t perform that action at this time.
0 commit comments