@@ -315,4 +315,48 @@ suite('Node', function() {
315
315
assert . equal ( div . textContent , 'abef' ) ;
316
316
} ) ;
317
317
318
+ test ( 'normalize' , function ( ) {
319
+ var div = document . createElement ( 'div' ) ;
320
+ div . appendChild ( document . createTextNode ( 'foo\n' ) ) ;
321
+ var span = document . createElement ( 'span' ) ;
322
+ span . appendChild ( document . createTextNode ( 'buzz' ) ) ;
323
+ span . appendChild ( document . createTextNode ( 'quux' ) ) ;
324
+ div . appendChild ( span ) ;
325
+ div . appendChild ( document . createTextNode ( 'bar\n' ) ) ;
326
+ assert . equal ( div . textContent , 'foo\nbuzzquuxbar\n' ) ;
327
+
328
+ div . normalize ( ) ;
329
+
330
+ assert . equal ( div . textContent , 'foo\nbuzzquuxbar\n' ) ;
331
+ assert . equal ( div . childNodes . length , 3 ) ;
332
+ assert . equal ( div . firstChild . textContent , 'foo\n' ) ;
333
+ assert . equal ( div . firstChild . nextSibling , span ) ;
334
+ assert . equal ( span . childNodes . length , 1 ) ;
335
+ assert . equal ( span . firstChild . textContent , 'buzzquux' ) ;
336
+ assert . equal ( span . nextSibling , div . lastChild ) ;
337
+ assert . equal ( div . lastChild . textContent , 'bar\n' ) ;
338
+
339
+ } ) ;
340
+
341
+ test ( 'normalize with shadowroot' , function ( ) {
342
+ var div = document . createElement ( 'div' ) ;
343
+ div . appendChild ( document . createTextNode ( 'foo\n' ) ) ;
344
+ var sr = div . createShadowRoot ( ) ;
345
+ sr . appendChild ( document . createTextNode ( 'buzz' ) ) ;
346
+ sr . appendChild ( document . createTextNode ( 'quux' ) ) ;
347
+ div . appendChild ( document . createTextNode ( 'bar\n' ) ) ;
348
+ assert . equal ( div . textContent , 'foo\nbar\n' ) ;
349
+ assert . equal ( sr . textContent , 'buzzquux' ) ;
350
+
351
+ div . normalize ( ) ;
352
+
353
+ assert . equal ( div . textContent , 'foo\nbar\n' ) ;
354
+ assert . equal ( sr . textContent , 'buzzquux' ) ;
355
+ assert . equal ( div . childNodes . length , 1 ) ;
356
+ assert . equal ( div . firstChild . textContent , 'foo\nbar\n' ) ;
357
+ assert . equal ( sr . childNodes . length , 2 ) ;
358
+ assert . equal ( sr . firstChild . textContent , 'buzz' ) ;
359
+ assert . equal ( sr . firstChild . nextSibling . textContent , 'quux' ) ;
360
+ } ) ;
361
+
318
362
} ) ;
0 commit comments