<script>
if (window.testRunner)
    testRunner.dumpAsText();

var path = document.createElementNS("http://www.w3.org/2000/svg", "path");
path.getPresentationAttribute("");
document.write("PASSED -- WebKit did not crash!");
</script>
