gecko/content/smil/test/test_smilCSSFromTo.xhtml
Daniel Holbert 34e1971c44 Bug 534028, Patch D: Tests for smil animation of mapped attributes. r=roc
--HG--
rename : content/smil/test/test_smilCSSFromBy.xhtml => content/smil/test/test_smilMappedAttrFromBy.xhtml
rename : content/smil/test/test_smilCSSPaced.xhtml => content/smil/test/test_smilMappedAttrPaced.xhtml
2010-03-16 16:17:33 -07:00

88 lines
2.8 KiB
HTML

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test for Animation Behavior on CSS Properties</title>
<script type="text/javascript" src="/MochiKit/packed.js"></script>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="smilTestUtils.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" style="line-height: 10px !important">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 checkForUntestedProperties(bundleList)
{
// Create the set of all the properties we know about
var propertySet = {};
for (propertyLabel in gPropList) {
// insert property
propertySet[gPropList[propertyLabel].attrName] = null;
}
// Remove tested properties from the set
for (var bundleIdx in bundleList) {
var bundle = bundleList[bundleIdx];
delete propertySet[bundle.animatedAttribute.attrName];
}
// Warn about remaining (untested) properties
for (var untestedProp in propertySet) {
ok(false, "No tests for property '" + 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");
// FIRST: Warn about any properties that are missing tests
checkForUntestedProperties(gFromToBundles);
// Run the actual tests
testBundleList(gFromToBundles, new SMILTimingData(1.0, 1.0));
// Set "display:none" on everything and run the tests again
SMILUtil.hideSubtree(SMILUtil.getSVGRoot(), false, false);
testBundleList(gFromToBundles, new SMILTimingData(1.0, 1.0));
SimpleTest.finish();
}
window.addEventListener("load", main, false);
]]>
</script>
</pre>
</body>
</html>