| <svg id="svg-root" width="100%" height="100%" |
| viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" |
| xmlns:xlink="http://www.w3.org/1999/xlink" onload="test()"> |
| <!--======================================================================--> |
| <!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =--> |
| <!--= Institute of Technology, European Research Consortium for =--> |
| <!--= Informatics and Mathematics (ERCIM), Keio University). =--> |
| <!--= All Rights Reserved. =--> |
| <!--= See http://www.w3.org/Consortium/Legal/. =--> |
| <!--======================================================================--> |
| <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" |
| template-version="1.4" reviewer="DS" author="ED" status="accepted" |
| version="$Revision: 1.3 $" testname="$RCSfile: conform-viewers-03-f.svg,v $"> |
| <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/conform.html#ConformingSVGViewers"> |
| <p> |
| This test checks that namespace prefixes are handled correctly. |
| </p> |
| <p> |
| First, a random 20-character string is generated. The string only contains characters that are valid NCName letters. |
| This string is then used as a custom prefix for an 'href' attribute in the XLink namespace. |
| An 'image' element is created and two image references are added, one is in the "http://www.this.is.not.an/xlink" namespace, |
| and one is in the XLink namespace. Only the attribute with the 20-character prefix is actually in the XLink namespace, |
| which means that that link should be the one that is used when rendering the 'image' element. This first subtest is |
| using the setAttributeNS method. |
| </p> |
| </d:testDescription> |
| <d:operatorScript xmlns="http://www.w3.org/1999/xhtml"> |
| <p> |
| Run the test. No interaction required. |
| </p> |
| </d:operatorScript> |
| <d:passCriteria xmlns="http://www.w3.org/1999/xhtml"> |
| <p> |
| The testcase has passed if after the script execution has taken place these conditions are met: |
| </p> |
| <ul> |
| <li>There is one pink image visible.</li> |
| <li>The image doesn't show the word "Fail"</li> |
| <li>The status message says "No exceptions"</li> |
| </ul> |
| </d:passCriteria> |
| </d:SVGTestCase> |
| <title id="test-title">$RCSfile: conform-viewers-03-f.svg,v $</title> |
| <defs> |
| <font-face |
| font-family="SVGFreeSansASCII" |
| unicode-range="U+0-7F"> |
| <font-face-src> |
| <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/> |
| </font-face-src> |
| </font-face> |
| </defs> |
| <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18"> |
| |
| <script> |
| <![CDATA[ |
| /** |
| * Generates a 20 character string consisting of characters from the inchars parameter. |
| * The output string will have no repetitions of a character. |
| */ |
| function generatePrefix(inchars) |
| { |
| var ncNameStart = "_abcdefghijklmnopqrstuvwxyzåäöQWERTYUIOPÅÄÖLKJHGFDSAZXCVBNM"; |
| |
| var prefix = ncNameStart[Math.floor(Math.random()*ncNameStart.length)]; |
| var leftchars = inchars; |
| var char; |
| for(var i = 0; i < 19; i++) |
| { |
| char = leftchars[Math.floor(Math.random()*leftchars.length)]; |
| leftchars = leftchars.replace(char, ''); |
| prefix += char; |
| } |
| return prefix; |
| } |
| |
| /** |
| * The main body of the test. |
| */ |
| function test() |
| { |
| var letters = "abcdefghijklmnopqrstuvwxyzåäö_-.QWERTYUIOPÅÄÖLKJHGFDSAZXCVBNM0123456789"; |
| var prefix = generatePrefix(letters); |
| var g = document.getElementById("test-body-content"); |
| var t = document.getElementById("prefix"); |
| t.textContent = prefix; |
| |
| var elm = document.createElementNS("http://www.w3.org/2000/svg", "image"); |
| elm.setAttributeNS(null, "width", 100); |
| elm.setAttributeNS(null, "height", 100); |
| elm.setAttributeNS(null, "x", 100); |
| elm.setAttributeNS(null, "y", 100); |
| elm.setAttributeNS("http://www.w3.org/1999/xlink", prefix+":href", "../images/pinksquidj.png"); |
| elm.setAttributeNS("http://www.this.is.not.an/xlink", "xlink:href", "../images/purplesquidj.png"); |
| g.appendChild(elm); |
| } |
| ]]> |
| </script> |
| |
| <text y="100" x="50" display="none"> |
| Generated prefix 1: <tspan id="prefix">...</tspan> |
| </text> |
| <text y="220" x="50"> |
| Status: <tspan id="status">No exceptions.</tspan> |
| </text> |
| |
| <g xmlns:xlink="http://example.net/bar"> |
| <image id="image2" width="100" height="100" x="210" y="100" xlink:href="../images/purplesquidj.png"/> |
| </g> |
| |
| </g> |
| <g font-family="SVGFreeSansASCII,sans-serif" font-size="32"> |
| <text id="revision" x="10" y="340" stroke="none" |
| fill="black">$Revision: 1.3 $</text> |
| </g> |
| <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/> |
| <!-- comment out this watermark once the test is approved |
| <g id="draft-watermark"> |
| <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/> |
| <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" |
| text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text> |
| </g> --> |
| </svg> |