@@ -189,57 +189,43 @@ describe("Navigation pattern tests", function () {
189
189
190
190
describe ( "Navigation pattern tests - no predefined structure" , function ( ) {
191
191
it ( "Reacts on DOM change" , async function ( ) {
192
- var w1 = document . createElement ( "div" ) ;
193
- w1 . setAttribute ( "class" , "w1" ) ;
194
-
195
- var a1 = document . createElement ( "a" ) ;
196
- a1 . setAttribute ( "href" , "/path/to" ) ;
197
- a1 . setAttribute ( "class" , "a1" ) ;
198
- a1 . appendChild ( document . createTextNode ( "link a1" ) ) ;
199
- w1 . appendChild ( a1 ) ;
200
-
201
- var w11 = document . createElement ( "div" ) ;
202
- w11 . setAttribute ( "class" , "w11" ) ;
203
- w1 . appendChild ( w11 ) ;
204
-
205
- var a11 = document . createElement ( "a" ) ;
206
- a11 . setAttribute ( "href" , "/path/to/test" ) ;
207
- a11 . setAttribute ( "class" , "a11" ) ;
208
- a11 . appendChild ( document . createTextNode ( "link a11" ) ) ;
209
- w11 . appendChild ( a11 ) ;
210
-
211
- var injected_nav = document . createElement ( "div" ) ;
212
- injected_nav . setAttribute ( "id" , "injected_nav" ) ;
213
- injected_nav . appendChild ( w1 ) ;
214
- document . body . appendChild ( injected_nav ) ;
215
-
216
- var load_nav = document . createElement ( "a" ) ;
217
- load_nav . setAttribute ( "href" , "#injected_nav" ) ;
218
- load_nav . setAttribute ( "class" , "pat-inject" ) ;
219
- load_nav . setAttribute ( "data-pat-inject" , "target: #injection_target" ) ;
220
- load_nav . appendChild ( document . createTextNode ( "load navigation" ) ) ;
221
- document . body . appendChild ( load_nav ) ;
222
-
223
- var nav = document . createElement ( "nav" ) ;
224
- nav . setAttribute ( "id" , "injection_target" ) ;
225
- nav . setAttribute ( "class" , "pat-navigation nav" ) ;
226
- nav . setAttribute ( "data-pat-navigation" , "item-wrapper: div" ) ;
227
- document . body . appendChild ( nav ) ;
192
+ document . body . innerHTML = `
193
+ <div id="injected_nav">
194
+ <div class="w1">
195
+ <a href="/path/to" class="a1">link a1</a>
196
+ <div class="w11">
197
+ <a href="/path/to/test" class="a11">link a11</a>
198
+ </div>
199
+ </div>
200
+ </div>
201
+ <a
202
+ href="#injected_nav"
203
+ class="pat-inject load-nav"
204
+ data-pat-inject="target: #injection_target">load navigation</a>
205
+ <nav
206
+ id="injection_target"
207
+ class="pat-navigation nav"
208
+ data-pat-navigation="item-wrapper: div">
209
+ </nav>
210
+ ` ;
228
211
229
212
// TODO: change when using Jest: https://remarkablemark.org/blog/2018/11/17/mock-window-location/
230
213
history . pushState ( null , "" , "/path/to/test" ) ;
231
214
232
- Registry . scan ( " body" ) ;
215
+ Registry . scan ( document . body ) ;
233
216
217
+ const nav = document . querySelector ( "nav" ) ;
218
+ const load_nav = document . querySelector ( ".load-nav" ) ;
234
219
load_nav . click ( ) ;
235
220
236
- // wait for everything done until testing.
237
- await utils . timeout ( 300 ) ;
221
+ await utils . timeout ( 1 ) ; // wait for MutationObserver
222
+
223
+ const w1 = nav . querySelector ( ".w1" ) ;
224
+ const a1 = nav . querySelector ( ".a1" ) ;
225
+ const w11 = nav . querySelector ( ".w11" ) ;
226
+ const a11 = nav . querySelector ( ".a11" ) ;
238
227
239
- w1 = nav . querySelector ( ".w1" ) ;
240
- a1 = nav . querySelector ( ".a1" ) ;
241
- w11 = nav . querySelector ( ".w11" ) ;
242
- a11 = nav . querySelector ( ".a11" ) ;
228
+ console . log ( document . body . innerHTML ) ;
243
229
244
230
expect ( w1 . classList . contains ( "current" ) ) . toBeFalsy ( ) ;
245
231
expect ( w1 . classList . contains ( "navigation-in-path" ) ) . toBeTruthy ( ) ;
0 commit comments