<html>
<head>
<script src="../resources/js-test-pre.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script>

description("Test dynamic creation of WebKitAnimationEvent.");

if (document.createEvent)
    testPassed("document.createEvent exists");
else
    testFailed("document.createEvent missing");

debug("");
debug("Test creation of WebKitAnimationEvent");

var ev = new WebKitAnimationEvent("");

shouldBe("typeof(ev)", "'object'");
shouldBe("ev.animationName", "''");
shouldBe("ev.elapsedTime", "0.0");

debug("");
debug("Create a MouseEvent and make sure it doesn't have the WebKitAnimationEnd event properties");

ev = document.createEvent("MouseEvent");

shouldBe("typeof(ev)", "'object'");
shouldBe("ev.animationName", "undefined");
shouldBe("ev.elapsedTime", "undefined");

debug("");

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