<!DOCTYPE html>

<script src="../../resources/js-test.js"></script>

<script>
description("Passes if it doesn't crash and the child is not in the id map");

var script = document.createElement("script");
script.type = "dont-execute";
script.textContent = "script.remove()";
child = document.createElement("div");
child.id = "child";
script.appendChild(child);

// The script won't execute here because the type is invalid, but it also won't
// get marked as being already run, so changing the children later will run it.
document.documentElement.appendChild(script);

// Per the spec setting the type has no effect
script.type = "";

// but changing the children *will* execute the script now that the type is
// is valid.
child.remove();

child = null;
gc();

shouldBeNull("document.getElementById('child')");
</script>
