| <!-- |
| Any copyright is dedicated to the Public Domain. |
| http://creativecommons.org/publicdomain/zero/1.0/ |
| --> |
| <svg id="svg-root" width="100%" height="100%" |
| xmlns="http://www.w3.org/2000/svg" |
| xmlns:xlink="http://www.w3.org/1999/xlink" onload="runtest()"> |
| <title>Test conditional processing DOM interface</title> |
| <defs> |
| <script> |
| function runtest() { |
| try { |
| var r1 = document.getElementById("r1"); |
| var r2 = document.getElementById("r2"); |
| var r3 = document.getElementById("r3"); |
| var i0 = r1.requiredFeatures.getItem(0); |
| var i1 = r1.requiredFeatures.getItem(1); |
| |
| if(i0 != "http://www.w3.org/TR/SVG11/feature#Shape") { |
| r1.removeAttribute("requiredFeatures"); |
| return; |
| } |
| if(i1 != "this.is.a.bogus.feature.string") { |
| r1.removeAttribute("requiredFeatures"); |
| return; |
| } |
| if(r1.requiredFeatures.numberOfItems != 2) { |
| r1.removeAttribute("requiredFeatures"); |
| return; |
| } |
| r2.requiredFeatures.appendItem(i1); |
| if(r1.requiredFeatures.numberOfItems != 2) { |
| r1.removeAttribute("requiredFeatures"); |
| return; |
| } |
| if(r2.requiredFeatures.numberOfItems != 1) { |
| r1.removeAttribute("requiredFeatures"); |
| return; |
| } |
| r3.requiredFeatures.insertItemBefore(i0,0); |
| if(r3.requiredFeatures.numberOfItems != 2) { |
| r3.setAttribute("fill", "red"); |
| return; |
| } |
| if(r1.requiredFeatures.numberOfItems != 2) { |
| r1.removeAttribute("requiredFeatures"); |
| return; |
| } |
| } catch(e) { |
| var f = document.getElementById("fail"); |
| f.setAttribute("fill", "red"); |
| } |
| } |
| </script> |
| </defs> |
| |
| <rect width="100%" height="100%" fill="lime"/> |
| <!-- background images --> |
| <rect x="100" y="100" width="100" height="100" fill="lime"/> |
| <rect x="190" y="100" width="100" height="100" fill="lime"/> |
| <rect x="300" y="100" width="100" height="100" fill="red"/> |
| |
| <!-- tests --> |
| <rect id="r1" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Shape this.is.a.bogus.feature.string" x="100" y="100" width="100" height="100" fill="red"/> |
| <rect id="r2" x="190" y="100" width="100" height="100" fill="red"/> |
| <rect id="r3" x="300" y="100" width="100" height="100" fill="lime" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Shape"/> |
| |
| <rect id="fail" width="100%" height="100%" fill="none"/> |
| </svg> |