gecko/content/smil/test/test_smilMappedAttrFromTo.xhtml

90 lines
2.8 KiB
HTML
Raw Normal View History

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test for Animation Behavior on CSS Properties</title>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="smilTestUtils.js"></script>
<script type="text/javascript" src="db_smilMappedAttrList.js"></script>
<script type="text/javascript" src="db_smilCSSPropertyList.js"></script>
<script type="text/javascript" src="db_smilCSSFromTo.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<p id="display"></p>
<div id="content">
<svg xmlns="http://www.w3.org/2000/svg"
width="200px" height="200px" font-size="50px" style="color: rgb(50,50,50)"
onload="this.pauseAnimations()">
<rect x="20" y="20" width="200" height="200"/>
<!-- NOTE: hard-wiring 'line-height' so that computed value of 'font' is
more predictable. (otherwise, line-height varies depending on platform)
-->
<text x="20" y="20">testing 123</text>
<line/>
<image/>
<marker/>
<clipPath><circle/></clipPath>
<filter><feFlood/></filter>
<filter><feDiffuseLighting/></filter>
<linearGradient><stop/></linearGradient>
</svg>
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
<![CDATA[
SimpleTest.waitForExplicitFinish();
function checkForUntestedAttributes(bundleList)
{
// Create the set of all the attributes we know about
var attributeSet = {};
for (attributeLabel in gMappedAttrList) {
// insert attribute
attributeSet[gMappedAttrList[attributeLabel].attrName] = null;
}
// Remove tested properties from the set
for (var bundleIdx in bundleList) {
var bundle = bundleList[bundleIdx];
delete attributeSet[bundle.animatedAttribute.attrName];
}
// Warn about remaining (untested) properties
for (var untestedProp in attributeSet) {
ok(false, "No tests for attribute '" + untestedProp + "'");
}
}
function main()
{
if (!SMILUtil.isSMILEnabled()) {
ok(false, "SMIL dosn't seem to be enabled");
SimpleTest.finish();
return;
}
// Start out with document paused
var svg = SMILUtil.getSVGRoot();
ok(svg.animationsPaused(), "should be paused by <svg> load handler");
is(svg.getCurrentTime(), 0, "should be paused at 0 in <svg> load handler");
var testBundles = convertCSSBundlesToMappedAttr(gFromToBundles);
// FIRST: Warn about any attributes that are missing tests
checkForUntestedAttributes(testBundles);
// Run the actual tests
testBundleList(testBundles, new SMILTimingData(1.0, 1.0));
// Set "display:none" on everything and run the tests again
SMILUtil.hideSubtree(SMILUtil.getSVGRoot(), false, true);
testBundleList(testBundles, new SMILTimingData(1.0, 1.0));
SimpleTest.finish();
}
window.addEventListener("load", main, false);
]]>
</script>
</pre>
</body>
</html>