1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!--======================================================================-->
3 <!--= Copyright 2004 World Wide Web Consortium, (Massachusetts =-->
4 <!--= Institute of Technology, Institut National de Recherche en =-->
5 <!--= Informatique et en Automatique, Keio University). All Rights =-->
6 <!--= Reserved. See http://www.w3.org/Consortium/Legal/. =-->
7 <!--======================================================================--><!DOCTYPE svg PUBLIC
"-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
9 <svg xmlns=
"http://www.w3.org/2000/svg" xmlns:
xlink=
"http://www.w3.org/1999/xlink" version=
"1.1" baseProfile=
"tiny" id=
"svg-root" width=
"100%" height=
"100%" viewBox=
"0 0 480 360">
11 <SVGTestCase xmlns:
testcase=
"http://www.w3.org/2000/02/svg/testsuite/description/" xmlns=
"http://www.w3.org/2000/02/svg/testsuite/description/" reviewer=
"CN" owner=
"VH" desc=
"Test on the various end attribute values" status=
"accepted" version=
"$Revision: 1.7 $" testname=
"$RCSfile: animate-elem-62-t.svg,v $">
17 This test performs basic test on the end attribute,
19 assuming support for the
<set
> element and setting the
21 fill attribute on a
<rect
> element.
27 The test validates the various possibilities for the end attribute
29 value: no specified value, offset value, event base value, sync base
31 value, indefinite value, repeat value, accessKey value and wallclock.
37 There are one or several
<set
> elements for each of the possible end
39 values. For each test, the
<set
> element(s) has (or have) an indefinite
41 duration and no other timing attribute specified other than end
49 There are two sets of vertical markers which help check that the test
51 is handled properly by the user agent. The first set, on the left, shows
53 markers from
0s to
8s, where the times are offset from the document's load time.
55 The rectangles in that area should turn green at the time corresponding
57 to the column they are in. From example, the first rectangle (going left to right)
59 on the
"sync base" line should turn green
2 seconds after the document's load.
61 The second set of time vertical markers shows offset from a particular event.
63 For example, for the event base, the markers show an offset to the time
65 the first event base rectangle (the left-most one) is clicked on. For the
67 accessKey line, the times show offsets from the time the 'a' key is pressed
69 and the document has focus.
75 The first
<set
> has an unspecified end attribute. That value
77 defaults to an offset of
0s so the animation should apply as soon as
79 the document is loaded.
85 The second
<set
> has its end attribute set to '
2s'. So its
87 target rectangle should turn green two seconds after the document is
95 The third
<set
> has its end attribute set to an event base
97 value 'click'. The user has to click on the left-most target red rectangle
99 to make the
<set
> target turn green. There are two rectangles
101 with associated
<set
> elements. The left most ones has a simple
103 value (no offset) and the second one is offset from the event time by
2 seconds.
109 The fourth
<set
> elements have their end attributes set to a sync base
111 value. The first two rectangles have
<set
> elements synchronized on their sync base
113 end. The left-most one has no offset and the following one has a
2 seconds offset.
115 The last two rectangles have
<set
> elements synchronized on their sync base end.
117 The first one (i.e., the third from left to right on that line), has a
2 seconds
119 negative offset. The second one (i.e., the last one on the line) has no offset and should
121 end at the time its sync base ends.
127 The fifth
<set
> has its end attribute set to indefinite and
129 should not turn red and stay green.
135 The sixth
<set
>s have their end attributes have their end attributes
137 based on the repeat() function. The repeat they are synchronized on happens
139 at
3s. The first
<set
>, which has no offset, should end at
3s. The
141 second
<set
>, which has a
2 seconds offset, should start at
5s.
147 The seventh
<set
>s have their end attributes set to 'accessKey(a)'.
149 The first one has no offset and should become active (and turn the rectangle
151 green), as soon as the key 'a' is pressed in the user agent. The second
<set
>
153 has a
2s offset and should become active
2 seconds after the 'a' key is pressed in
161 The eight's
<set
> target has its end attribute set to
163 'wallclock()'. Therefore, the target should never turn green because the
165 target wallclock time is in the very distant future, so the animation
167 should not end (unless this test is used for close to two hundred years,
169 in which case the end date should be updated for an additional two or
171 three hundred years).
179 <title id=
"test-title">$RCSfile: animate-elem-
62-t.svg,v $
</title>
183 <!--======================================================================-->
185 <!--Content of Test Case follows... =====================-->
187 <!--======================================================================-->
189 <text id=
"revision" x=
"10" y=
"340" font-size=
"40" stroke=
"none" fill=
"black">$Revision:
1.7 $
</text>
191 <rect id=
"test-frame" x=
"1" y=
"1" width=
"478" height=
"358" fill=
"none" stroke=
"#000"/>
195 <text text-anchor=
"middle" x=
"240" y=
"30" font-size=
"20">end
</text>
199 <g transform=
"translate(100, 80)">
203 <g transform=
"translate(80,5)" text-anchor=
"end" font-size=
"14">
205 <text>unspecified
</text>
207 <text y=
"25">offset
</text>
209 <text y=
"50">event base
</text>
211 <text y=
"75">sync base
</text>
213 <text y=
"100">indefinite
</text>
215 <text y=
"125">repeat()
</text>
217 <text y=
"150">accessKey()
</text>
219 <text y=
"175">wallclock()
</text>
225 <g id=
"timeMarkersText" transform=
"translate(100, -15)" text-anchor=
"middle" font-size=
"8">
229 <text x=
"12">1s
</text>
231 <text x=
"24">2s
</text>
233 <text x=
"36">3s
</text>
235 <text x=
"48">4s
</text>
237 <text x=
"60">5s
</text>
239 <text x=
"72">6s
</text>
241 <text x=
"84">7s
</text>
243 <text x=
"96">8s
</text>
247 <text x=
"120">0s
</text>
249 <text x=
"132">1s
</text>
251 <text x=
"144">2s
</text>
257 <g id=
"timeMarkers" transform=
"translate(94, -10) scale(1, 8)">
259 <rect width=
"12" height=
"25" fill=
"#eee"/>
261 <rect x=
"12" width=
"12" height=
"25" fill=
"#ddd"/>
263 <rect x=
"24" width=
"12" height=
"25" fill=
"#eee"/>
265 <rect x=
"36" width=
"12" height=
"25" fill=
"#ddd"/>
267 <rect x=
"48" width=
"12" height=
"25" fill=
"#eee"/>
269 <rect x=
"60" width=
"12" height=
"25" fill=
"#ddd"/>
271 <rect x=
"72" width=
"12" height=
"25" fill=
"#eee"/>
273 <rect x=
"84" width=
"12" height=
"25" fill=
"#ddd"/>
275 <rect x=
"96" width=
"12" height=
"25" fill=
"#eee"/>
279 <rect x=
"120" width=
"12" height=
"25" fill=
"#eee"/>
281 <rect x=
"132" width=
"12" height=
"25" fill=
"#ddd"/>
283 <rect x=
"144" width=
"12" height=
"25" fill=
"#eee"/>
289 <g transform=
"translate(100,0)">
293 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#F33">
295 <set attributeName=
"fill" to=
"#3F3" begin=
"0s" dur=
"indefinite"/>
303 <g id=
"setTwo" transform=
"translate(0, 25)">
305 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#3F3" transform=
"translate(24,0)">
307 <set id=
"secondSet" attributeName=
"fill" to=
"#F33" begin=
"0s" end=
"2s" dur=
"indefinite"/>
315 <g id=
"setThree" transform=
"translate(0, 50)">
317 <rect id=
"setThreeTarget" x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#3F3" transform=
"translate(120,0)">
319 <set attributeName=
"fill" id=
"thirdSet" to=
"#F33" end=
"setThreeTarget.click" dur=
"indefinite"/>
325 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#F33" transform=
"translate(144,0)">
327 <set attributeName=
"fill" id=
"thirdSetOffset" to=
"#3F3" begin=
"setThreeTarget.click + 2s" dur=
"indefinite"/>
335 <g id=
"setFour" transform=
"translate(0, 75)">
337 <set id=
"endBase" attributeName=
"display" to=
"inline" begin=
"7s" dur=
"1s"/>
339 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#3F3" transform=
"translate(24,0)">
341 <set attributeName=
"fill" to=
"#F33" end=
"secondSet.begin + 2s" dur=
"indefinite"/>
347 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#3F3" transform=
"translate(48,0)">
349 <set attributeName=
"fill" to=
"#F33" end=
"secondSet.begin + 4s" dur=
"indefinite"/>
355 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#3F3" transform=
"translate(72,0)">
357 <set attributeName=
"fill" to=
"#F33" end=
"endBase.end - 2s" dur=
"indefinite"/>
363 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#3F3" transform=
"translate(96,0)">
365 <set attributeName=
"fill" to=
"#F33" end=
"endBase.end" dur=
"indefinite"/>
373 <g id=
"setFive" transform=
"translate(0, 100)">
375 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#F33">
377 <set attributeName=
"fill" to=
"#3F3" end=
"indefinite" dur=
"indefinite"/>
385 <g id=
"setSix" transform=
"translate(0, 125)">
387 <set id=
"repeatingSet" attributeName=
"display" to=
"inline" begin=
"0s" dur=
"1s" repeatCount=
"4"/>
389 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#3F3" transform=
"translate(36,0)">
391 <set attributeName=
"fill" to=
"#F33" end=
"repeatingSet.repeat(3)" dur=
"indefinite"/>
397 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#3F3" transform=
"translate(60,0)">
399 <set attributeName=
"fill" to=
"#F33" end=
"repeatingSet.repeat(3) + 2s" dur=
"indefinite"/>
407 <g id=
"setSeven" transform=
"translate(0, 150)">
409 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#3F3" transform=
"translate(120,0)">
411 <set attributeName=
"fill" to=
"#F33" end=
"accessKey(a)" dur=
"indefinite"/>
417 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#3F3" transform=
"translate(144,0)">
419 <set attributeName=
"fill" to=
"#F33" end=
"accessKey(a) + 2s" dur=
"indefinite"/>
427 <g id=
"setEight" transform=
"translate(0, 175)">
429 <rect x=
"-6" y=
"-6" width=
"12" height=
"12" fill=
"#F33">
431 <set attributeName=
"fill" to=
"#3F3" end=
"wallclock(2200-06-10T12:34:56Z)" dur=
"indefinite"/>