@@ -42,7 +42,49 @@ describe("pat-gallery", function () {
4242            const  ev  =  new  Event ( "click" ) ; 
4343            ev . tagName  =  "A" ; 
4444            const  spy_preventDefault  =  jest . spyOn ( ev ,  "preventDefault" ) ; 
45-             document . querySelector ( "a" ) . dispatchEvent ( ev ) ; 
45+             document . querySelector ( ".a1" ) . dispatchEvent ( ev ) ; 
46+ 
47+             expect ( spy_init_gallery ) . toHaveBeenCalled ( ) ; 
48+             expect ( spy_preventDefault ) . toHaveBeenCalled ( ) ; 
49+         } ) ; 
50+ 
51+         it ( "Reinitializes when new items are added." ,  async  function  ( )  { 
52+             document . body . innerHTML  =  ` 
53+               <section 
54+                   class="pat-gallery" 
55+                   data-pat-gallery="item-selector: a"> 
56+                 <a class="a1" href="full-1.jpg" title="title a1"> 
57+                   <img src="thumb-1.jpg" title="title img1" /> 
58+                 </a> 
59+               </section> 
60+             ` ; 
61+             const  el  =  document . querySelector ( ".pat-gallery" ) ; 
62+ 
63+             const  instance  =  new  pattern ( el ) ; 
64+ 
65+             const  spy_init_trigger  =  jest . spyOn ( instance ,  "initialize_trigger" ) ; 
66+             const  spy_init_gallery  =  jest . spyOn ( instance ,  "initialize_gallery" ) ; 
67+ 
68+             await  utils . timeout ( 1 ) ; 
69+ 
70+             expect ( spy_init_trigger ) . toHaveBeenCalledTimes ( 1 ) ; 
71+ 
72+             const  item  =  document . createElement ( "div" ) ; 
73+             item . innerHTML  =  ` 
74+                 <a class="a2" href="full-2.jpg"> 
75+                   <img src="thumb-2.jpg" /> 
76+                 </a> 
77+             ` ; 
78+ 
79+             el . appendChild ( item . querySelector ( ".a2" ) ) ; 
80+             await  utils . timeout ( 1 ) ;  // wait for MutationObserver 
81+ 
82+             expect ( spy_init_trigger ) . toHaveBeenCalledTimes ( 2 ) ; 
83+ 
84+             const  ev  =  new  Event ( "click" ) ; 
85+             ev . tagName  =  "A" ; 
86+             const  spy_preventDefault  =  jest . spyOn ( ev ,  "preventDefault" ) ; 
87+             document . querySelector ( ".a2" ) . dispatchEvent ( ev ) ; 
4688
4789            expect ( spy_init_gallery ) . toHaveBeenCalled ( ) ; 
4890            expect ( spy_preventDefault ) . toHaveBeenCalled ( ) ; 
0 commit comments