<svg xmlns="http://www.w3.org/2000/svg">
  <animate id="animate" attributeName="visibility" value="visible; visible" dur="10s"/>
  <foreignObject><pre id="console" xmlns="http://www.w3.org/1999/xhtml"/></foreignObject>
  <script>
var console = document.getElementById("console");
var animate = document.getElementById("animate");

function println(string)
{
    console.textContent += string + '\n';
}

function check(code)
{
    var result = "FAIL";
    var returnValue;
    try {
        returnValue = eval(code);
        if (typeof returnValue == "undefined")
            result = "PASS";
        else
            result = "FAIL -- returned " + typeof returnValue + " '" + returnValue + "'";
    } catch (e) {
        result = "FAIL -- threw an exception";
    }
    println(code + ": " + result);
}
        
testRunner.dumpAsText();
println("This test checks whether the methods on ElementTimeControl correctly return undefined.");

check("animate.beginElement()");
check("animate.beginElementAt(0)");
check("animate.endElement()");
check("animate.endElementAt(0)");
  </script>
</svg>
