92 lines
3.3 KiB
HTML
92 lines
3.3 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="resources/SVGTestCase.js"></script>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script src="../../fast/repaint/resources/repaint.js"></script>
|
|
</head>
|
|
<body onload="runRepaintTest()">
|
|
<h1>SVG 1.1 dynamic update tests</h1>
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
<script>
|
|
// [Name] SVGFEComponentTransferElement-dom-amplitude-attr.js
|
|
// [Expected rendering result] An image with feComponentTransfer filter - and a series of PASS messages
|
|
|
|
description("Tests dynamic updates of the 'amplitude' attribute of the SVGFEComponentTransferElement object")
|
|
createSVGTestCase();
|
|
|
|
var feRFunc = createSVGElement("feFuncR");
|
|
feRFunc.setAttribute("id", "fr");
|
|
feRFunc.setAttribute("type", "gamma");
|
|
feRFunc.setAttribute("amplitude", "3");
|
|
|
|
var feGFunc = createSVGElement("feFuncG");
|
|
feGFunc.setAttribute("id", "fg");
|
|
feGFunc.setAttribute("type", "gamma");
|
|
feRFunc.setAttribute("amplitude", "3");
|
|
|
|
var feBFunc = createSVGElement("feFuncB");
|
|
feBFunc.setAttribute("id", "fb");
|
|
feBFunc.setAttribute("type", "gamma");
|
|
feRFunc.setAttribute("amplitude", "3");
|
|
|
|
var feAFunc = createSVGElement("feFuncA");
|
|
feAFunc.setAttribute("id", "fb");
|
|
feAFunc.setAttribute("type", "gamma");
|
|
feAFunc.setAttribute("amplitude", "3");
|
|
|
|
var feCompnentTransferElement = createSVGElement("feComponentTransfer");
|
|
feCompnentTransferElement.appendChild(feRFunc);
|
|
feCompnentTransferElement.appendChild(feGFunc);
|
|
feCompnentTransferElement.appendChild(feBFunc);
|
|
feCompnentTransferElement.appendChild(feAFunc);
|
|
|
|
var compTranFilter = createSVGElement("filter");
|
|
compTranFilter.setAttribute("id", "compTranFilter");
|
|
compTranFilter.setAttribute("filterUnits", "objectBoundingBox");
|
|
compTranFilter.setAttribute("x", "0%");
|
|
compTranFilter.setAttribute("y", "0%");
|
|
compTranFilter.setAttribute("width", "100%");
|
|
compTranFilter.setAttribute("height", "100%");
|
|
compTranFilter.appendChild(feCompnentTransferElement);
|
|
|
|
var defsElement = createSVGElement("defs");
|
|
defsElement.appendChild(compTranFilter);
|
|
rootSVGElement.appendChild(defsElement);
|
|
|
|
var imageElement = createSVGElement("image");
|
|
imageElement.setAttributeNS(xlinkNS, "xlink:href", "../W3C-SVG-1.1/resources/struct-image-01.png");
|
|
imageElement.setAttribute("width", "400");
|
|
imageElement.setAttribute("height", "200");
|
|
imageElement.setAttribute("preserveAspectRatio", "none");
|
|
imageElement.setAttribute("filter", "url(#compTranFilter)");
|
|
rootSVGElement.appendChild(imageElement);
|
|
|
|
rootSVGElement.setAttribute("width", "400");
|
|
rootSVGElement.setAttribute("height", "200");
|
|
|
|
shouldBeEqualToString("feRFunc.getAttribute('amplitude')", "3");
|
|
shouldBeEqualToString("feRFunc.getAttribute('amplitude')", "3");
|
|
shouldBeEqualToString("feRFunc.getAttribute('amplitude')", "3");
|
|
shouldBeEqualToString("feRFunc.getAttribute('amplitude')", "3");
|
|
|
|
function repaintTest() {
|
|
feRFunc.setAttribute("amplitude", "1");
|
|
feGFunc.setAttribute("amplitude", "1");
|
|
feBFunc.setAttribute("amplitude", "1");
|
|
feAFunc.setAttribute("amplitude", "1");
|
|
|
|
shouldBeEqualToString("feRFunc.getAttribute('amplitude')", "1");
|
|
shouldBeEqualToString("feGFunc.getAttribute('amplitude')", "1");
|
|
shouldBeEqualToString("feBFunc.getAttribute('amplitude')", "1");
|
|
shouldBeEqualToString("feAFunc.getAttribute('amplitude')", "1");
|
|
|
|
completeTest();
|
|
}
|
|
|
|
var successfullyParsed = true;
|
|
</script>
|
|
</body>
|
|
</html>
|