diff options
Diffstat (limited to 'testing/web-platform/tests/svg/import/extend-namespace-01-f-manual.svg')
-rw-r--r-- | testing/web-platform/tests/svg/import/extend-namespace-01-f-manual.svg | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/testing/web-platform/tests/svg/import/extend-namespace-01-f-manual.svg b/testing/web-platform/tests/svg/import/extend-namespace-01-f-manual.svg new file mode 100644 index 000000000..e5c111139 --- /dev/null +++ b/testing/web-platform/tests/svg/import/extend-namespace-01-f-manual.svg @@ -0,0 +1,180 @@ +<svg version="1.1" baseProfile="full" onload="onLoad(evt)" 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"> + <!--======================================================================--> + <!--= SVG 1.1 2nd Edition Test Case =--> + <!--======================================================================--> + <!--= Copyright 2009 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="SVGWG" author="Jon Ferraiolo" status="accepted" + version="$Revision: 1.8 $" testname="$RCSfile: extend-namespace-01-f.svg,v $"> + <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/extend.html#ForeignNamespaces"> + <p> + Test mixing a business data namespace with elements in SVG namespace. + </p> + <p> + The test case uses a different namespace to hold fake sales data. + Using ECMAScript to make calls to the DOM, the test case extracts + the sales data and then makes calls to the SVG DOM to build up + a 'path' element and a 'text' element for each individual pie slice. + </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 result should show five pie slices. + The first pie slice should be exploded, with a pink fill and a blue border. + The other pie slices should have various levels of gray fill and black borders. + The name of each region should appear in black towards the center of + the pie slice. + </p> + </d:passCriteria> + </d:SVGTestCase> + <title id="test-title">$RCSfile: extend-namespace-01-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"> + <g xmlns:bd="http://example.org/ExampleBusinessData" xmlns="http://www.w3.org/2000/svg"> + <defs> + <script type="text/ecmascript"> + var svg_ns = "http://www.w3.org/2000/svg"; + var bd_ns = "http://example.org/ExampleBusinessData"; + function onLoad(evt){ + // Get Document + var svgElement = evt.target; + var doc = svgElement.ownerDocument; + + var resultsElement = doc.getElementById('results'); + var gElement = doc.getElementById('PieParent'); + + // Count the number of regions. + RegionNodeList = doc.getElementsByTagNameNS(bd_ns, "Region"); + regionCount = RegionNodeList.length; + + // Get the region data. + RegionNameNodeList = doc.getElementsByTagNameNS(bd_ns, "RegionName"); + RegionResultNodeList = doc.getElementsByTagNameNS(bd_ns, "RegionResult"); + + // Get the sum of the values of the regions. + var total = 0; + for (regionIndex = 0; regionIndex < regionCount; regionIndex++) + total = total + Number(RegionResultNodeList.item(regionIndex).firstChild.nodeValue); + + // Build a pie chart. + var startAngle = 0; + for (regionIndex = 0; regionIndex < regionCount; regionIndex++) { + regionName = RegionNameNodeList.item(regionIndex).firstChild.nodeValue; + regionResult = Number(RegionResultNodeList.item(regionIndex).firstChild.nodeValue); + + // Build the pie slice. + textElement = doc.createElementNS(svg_ns, "text"); + textNode = doc.createTextNode(regionName); + textElement.appendChild(textNode); + pathElement = doc.createElementNS(svg_ns, "path"); + + endAngle = startAngle - regionResult * Math.PI * 2 / total; + dAttribute = "M240,170 L"; + gray = Math.round(Number(255 * (regionIndex+2)) / (regionCount+2)); + midAngle = (startAngle + endAngle) / 2; + textElement.setAttributeNS(null, "x", Math.round(240+65*Math.cos(midAngle))); + textElement.setAttributeNS(null, "y", Math.round(170+65*Math.sin(midAngle))); + + dAttribute = dAttribute + Math.round(240+100*Math.cos(startAngle)); + dAttribute = dAttribute + ','; + dAttribute = dAttribute + Math.round(170+100*Math.sin(startAngle)); + dAttribute = dAttribute + ' A100,100 0 0,0 '; + dAttribute = dAttribute + Math.round(240+100*Math.cos(endAngle)); + dAttribute = dAttribute + ','; + dAttribute = dAttribute + Math.round(170+100*Math.sin(endAngle)); + dAttribute = dAttribute + 'z'; + pathElement.setAttributeNS(null, "d", dAttribute); + pathElement.setAttributeNS(null, "fill", "rgb("+gray+","+gray+","+gray+")"); + pathElement.setAttributeNS(null, "stroke", "black"); + pathElement.setAttributeNS(null, "stroke-width", "2"); + + // Temporary, for CSS styling. + pathElement.setAttributeNS(null, "fill", "rgb("+gray+","+gray+","+gray+")"); + pathElement.setAttributeNS(null, "stroke", "black"); + pathElement.setAttributeNS(null, "stroke-width", "2"); + + if (regionIndex == 0) { + var firstSliceOffset = 30; + var transformValue = "translate(" + + Math.round(firstSliceOffset * Math.cos(midAngle)) + + "," + + Math.round(firstSliceOffset * Math.sin(midAngle)) + + ")"; + pathElement.setAttributeNS(null, "transform", transformValue); + textElement.setAttributeNS(null, "transform", transformValue); + pathElement.setAttributeNS(null, "fill", "#FF6666"); + pathElement.setAttributeNS(null, "stroke", "#0000FF"); + pathElement.setAttributeNS(null, "stroke-width", "3"); + + // Temporary, for CSS styling. + pathElement.setAttributeNS(null, "fill", "#FF8888"); + pathElement.setAttributeNS(null, "stroke", "#0000FF"); + pathElement.setAttributeNS(null, "stroke-width", "3"); + + } + gElement.appendChild(pathElement); + gElement.appendChild(textElement); + startAngle = endAngle; + } + } + </script> + </defs> + <bd:Results id="results"> + <bd:Region> + <bd:RegionName>East</bd:RegionName> + <bd:RegionResult>3</bd:RegionResult> + </bd:Region> + <bd:Region> + <bd:RegionName>North</bd:RegionName> + <bd:RegionResult>4</bd:RegionResult> + </bd:Region> + <bd:Region> + <bd:RegionName>West</bd:RegionName> + <bd:RegionResult>5</bd:RegionResult> + </bd:Region> + <bd:Region> + <bd:RegionName>Central</bd:RegionName> + <bd:RegionResult>3.2</bd:RegionResult> + </bd:Region> + <bd:Region> + <bd:RegionName>South</bd:RegionName> + <bd:RegionResult>6</bd:RegionResult> + </bd:Region> + </bd:Results> + <text font-family="Arial" font-size="16" text-anchor="middle" x="240" y="30"> + Pie chart built from data in a different namespace. + </text> + </g> + <g id="PieParent" font-family="Arial" text-anchor="middle" font-size="14"> + <desc>Pie chart is built within this 'g' element</desc> + </g> + </g> + <g font-family="SVGFreeSansASCII,sans-serif" font-size="32"> + <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text> + </g> + <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/> + <!-- 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> |