@@ -184,7 +184,6 @@ describe("core.dom tests", () => {
184
184
it ( "don't break with DocumentFragment without a parent." , ( done ) => {
185
185
const el = new DocumentFragment ( ) ;
186
186
el . innerHTML = `<div class="starthere"></div>` ;
187
- console . log ( el . parentNode ) ;
188
187
const res = dom . find_parents (
189
188
el . querySelector ( ".starthere" ) ,
190
189
".findme"
@@ -242,6 +241,46 @@ describe("core.dom tests", () => {
242
241
} ) ;
243
242
} ) ;
244
243
244
+ describe ( "get_parents" , ( ) => {
245
+ it ( "it finds all parents of an element except document itself." , ( done ) => {
246
+ document . body . innerHTML = `
247
+ <div class="level1">
248
+ <div class="level2">
249
+ <div class="level3">
250
+ <div class="level4">
251
+ </div>
252
+ </div>
253
+ </div>
254
+ </div>
255
+ ` ;
256
+ const res = dom . get_parents ( document . querySelector ( ".level4" ) ) ;
257
+
258
+ expect ( res . length ) . toEqual ( 5 ) ;
259
+ expect ( res [ 0 ] ) . toEqual ( document . querySelector ( ".level3" ) ) ;
260
+ expect ( res [ 1 ] ) . toEqual ( document . querySelector ( ".level2" ) ) ;
261
+ expect ( res [ 2 ] ) . toEqual ( document . querySelector ( ".level1" ) ) ;
262
+ expect ( res [ 3 ] ) . toEqual ( document . body ) ;
263
+ expect ( res [ 4 ] ) . toEqual ( document . body . parentNode ) ; // html
264
+
265
+ done ( ) ;
266
+ } ) ;
267
+ it ( "don't break with no element." , ( done ) => {
268
+ const res = dom . get_parents ( null ) ;
269
+ expect ( res . length ) . toEqual ( 0 ) ;
270
+
271
+ done ( ) ;
272
+ } ) ;
273
+ it ( "don't break with DocumentFragment without a parent." , ( done ) => {
274
+ const el = new DocumentFragment ( ) ;
275
+ el . innerHTML = `<div class="starthere"></div>` ;
276
+ console . log ( el . parentNode ) ;
277
+ const res = dom . get_parents ( el . querySelector ( ".starthere" ) ) ;
278
+ expect ( res . length ) . toEqual ( 0 ) ;
279
+
280
+ done ( ) ;
281
+ } ) ;
282
+ } ) ;
283
+
245
284
describe ( "is_visible" , ( ) => {
246
285
it . skip ( "checks, if an element is visible or not." , ( done ) => {
247
286
const div1 = document . createElement ( "div" ) ;
0 commit comments