1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
<svg version="1.1" baseProfile="basic" onload="domTest(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="ED" author="Vincent Hardy" status="accepted"
version="$Revision: 1.9 $" testname="$RCSfile: struct-dom-02-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#DOMInterfaces">
<p>
Verify the basic capability to handle the hasFeature DOMImplementation method.
The DOMImplementation instance is retrieved from the Document instance. Then,
its hasFeature method is invoked on the various SVG feature strings.
</p>
<p>
The test displays the set of SVG feature strings and, next to them, a text
string that shows whether the feature is supported or not.
</p>
<p>
Note that this test uses the 'onload' event on the root svg element.
</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 rendered picture should match the reference image, except for the true and
false values which may differ depending on the implementation.
</p>
<p>
Note that the test passes whether or not the feature is supported (i.e., true or
false are valid). The test fails if no value (true or false) appears next to the feature string
value.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: struct-dom-02-b.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 type="text/ecmascript"><![CDATA[
var featureStrings = new Array();
var length = 0;
featureStrings[length++] = "xml";
featureStrings[length++] = "stylesheets";
featureStrings[length++] = "views";
featureStrings[length++] = "css2";
featureStrings[length++] = "events";
var svg_ns = "http://www.w3.org/2000/svg"
function domTest(evt) {
// Get Document
var target = evt.target;
var doc = target.ownerDocument;
// Get DOMImplementation
var domImpl = doc.implementation;
//
// Iterate through the feature strings
//
for(var i=0; i<featureStrings.length; i++){
var supports = domImpl.hasFeature(featureStrings[i], '2.0');
//
// if time, pretty up by putting xml to traveral in a left column and
// org.w3c.svg to org.w3c.dom.svg.all in a right column; add an extra
// parameter to addTextElemen t for x coord, and test if i < 9
//
addTextElement(featureStrings[i], supports, doc, doc.getElementById("test-body-content"), (55 + 55*i));
}
}
function addTextElement(label, value, doc, svg, y){
var newText = doc.createElementNS(svg_ns, 'text');
newText.setAttribute('font-size', '30');
newText.setAttribute('x', '10');
newText.setAttribute('y', y);
var textValue = label;
var textContent = doc.createTextNode(textValue);
newText.appendChild(textContent);
svg.appendChild(newText);
newText = doc.createElementNS(svg_ns, 'text');
newText.setAttribute('font-size', '30');
newText.setAttribute('x', '340');
newText.setAttribute('y', y);
textValue = value;
textContent = doc.createTextNode(textValue);
newText.appendChild(textContent);
svg.appendChild(newText);
}
]]></script>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</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>
|