<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
</head>
<body>
<script>
jsTestIsAsync = true;
function boom() {
    var div = document.createElement('div');

    var older = div.createShadowRoot();
    older.appendChild(document.createElement('div'));
    document.documentElement.appendChild(div);

    var younger = div.createShadowRoot();
    var select = document.createElement('select');
    var shadow = document.createElement('shadow');
    select.appendChild(shadow);
    younger.appendChild(select);

    testPassed("unless crash");
    finishJSTest();
}
window.onload = boom;
</script>
</body>
</html>
