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