<script>

var createNewElement = function (tag, id, text) {
    var result = document.createElement(tag);
    result.setAttribute('id',id);
    result.innerHTML = text;
    return result;
};

var runTests = function () {
    document.getElementById("dt1").appendChild(createNewElement("summary", "new1", "new 1"));

    if (!window.testRunner || !window.eventSender)
        return;
    eventSender.mouseMoveTo(2, 2);
    eventSender.mouseDown();
    eventSender.mouseUp();
};

</script>

<body style="margin: 0px" onload="runTests()">
    <details id="dt1">
        <summary id="summary1">summary</summary>
    </details>
</body>
