@@ -42,7 +42,49 @@ describe("pat-gallery", function () {
42
42
const ev = new Event ( "click" ) ;
43
43
ev . tagName = "A" ;
44
44
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 ) ;
46
88
47
89
expect ( spy_init_gallery ) . toHaveBeenCalled ( ) ;
48
90
expect ( spy_preventDefault ) . toHaveBeenCalled ( ) ;
0 commit comments