Tests to ensure ShadowRoot.getElementById works after complex DOM manipulation. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS document.getElementById("A") is A PASS shadowRootA.getElementById() threw exception TypeError: Failed to execute 'getElementById' on 'DocumentFragment': 1 argument required, but only 0 present.. PASS shadowRootA.getElementById("B") is B PASS shadowRootB.getElementById("C") is C PASS shadowRootC.getElementById("D") is D Remove C from shadowRootB PASS document.getElementById("A") is A PASS shadowRootA.getElementById("B") is B PASS shadowRootB.getElementById("C") is null PASS shadowRootC.getElementById("D") is D Append C to ShadowRootB, and remove A from document PASS document.getElementById("A") is null PASS shadowRootA.getElementById("B") is B PASS shadowRootB.getElementById("C") is C PASS shadowRootC.getElementById("D") is D Remove C from shadowRootB PASS document.getElementById("A") is null PASS shadowRootA.getElementById("B") is B PASS shadowRootB.getElementById("C") is null PASS shadowRootC.getElementById("D") is D Remove D from shadowRootC PASS document.getElementById("A") is null PASS shadowRootA.getElementById("B") is B PASS shadowRootB.getElementById("C") is null PASS shadowRootC.getElementById("D") is null PASS successfullyParsed is true TEST COMPLETE