| <svg version="1.1" baseProfile="tiny" 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="VH" author="VH" status="accepted" |
| version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-61-t.svg,v $"> |
| <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation"> |
| <p> |
| This tests validates multiple begin conditions in the begin attribute, |
| assuming support for the <set> element and setting the |
| fill attribute on a <rect> element. |
| </p> |
| <p> |
| The test validates the various possibilities for the begin attribute |
| value: multiple offset values, multiple event base values, multiple sync base |
| values, multiple repeat values, and multiple accessKey values. Finally, |
| the test validates that begin values of different kinds can be mixed. |
| </p> |
| <p> |
| The test shows 6 rows where a red rectangle' s x attribute is animated |
| with <set> elements. |
| </p> |
| <p> |
| On the first three rows, the red rectangles should show on the left from |
| 0 to 1s. From 1 to 2s, the rectangles should show on the right. Then |
| the rectangles should show on the left from 2 to 4s, then on the right |
| again from 4 to 5s and come back to the left position and stay there |
| after 5s. |
| </p> |
| <p> |
| On the fourth row, the rectangle's begin condition is event based |
| and requires a user click. After the user clicks on the rectangle, |
| the rectangle should move to the right position for 1s, then move |
| back to the left position for 3 seconds, move again to the right |
| position for 1 second before going back to the left position. |
| </p> |
| <p> |
| On the fifth row, the rectangle's begin condition is accessKey based |
| and requires a user to press the 'a' key. After the user presses that key |
| the rectangle should move to the right position for 1s, then move |
| back to the left position for 3 seconds, move again to the right |
| position for 1 second before going back to the left position. |
| </p> |
| <p> |
| The last row's rectangle has a begin condition with two offset values |
| (1s;4s) and should behave like the rectangles of the first three |
| rows for the first 5 seconds of the document's timeline. In addition, |
| the begin condition has a click event base and thus, the rectangle |
| should move to the right position for one second every time the user |
| clicks on it. Finally, the begin condition also has an accessKey condition |
| for the 'b' character. Thus, the rectangle should move to the right |
| position every time the user presses the 'b' key. |
| </p> |
| </d:testDescription> |
| <d:operatorScript xmlns="http://www.w3.org/1999/xhtml"> |
| <p>Run the test. Observe the document for a least six seconds. |
| Then, click on the left square in the "2 event base" row and |
| wait for another six seconds while observing. Then, press "a" |
| on the keyboard and wait for another six seconds while observing.</p> |
| </d:operatorScript> |
| <d:passCriteria xmlns="http://www.w3.org/1999/xhtml"> |
| <p>The test passes if all of the following conditions are met:</p> |
| <ul> |
| <li>The red squares in the top three rows and the bottom row are |
| in the relevant column according to the times written above the columns: |
| in left column for the first second of the document, in the |
| right column between 1s and 2s, in the left column again between |
| 2s and 4s, in the right column again between 4s and 5s, and finally |
| revert to the left column at 5s.</li> |
| <li>Once the red square in the "2 event base" row is clicked, it must |
| follow the same movements as the earlier animated squares, except that |
| the times above the columns indicate offsets from the time of the click, |
| rather than from the start of the document. Thus, the red square must |
| be in the left column in the first second after being clicked, |
| in the right column between 1s and 2s after being clicked, |
| in the left column again between 2s and 4s after being clicked, |
| in the right column again between 4s and 5s after being clicked, |
| and finally must revert to the left column 5s after being clicked.</li> |
| <li>Once the "a" key is pressed, the red square in the "2 accessKeys" |
| row must follow the same movements as the first set of animated squares, except that |
| the times above the columns indicate offsets from the time of the keypress, |
| rather than from the start of the document. Thus, the red square must |
| be in the left column in the first second after the keypress, |
| in the right column between 1s and 2s after the keypress, |
| in the left column again between 2s and 4s after the keypress, |
| in the right column again between 4s and 5s after the keypress, |
| and finally must revert to the left column 5s after the keypress.</li> |
| </ul> |
| </d:passCriteria> |
| </d:SVGTestCase> |
| <title id="test-title">$RCSfile: animate-elem-61-t.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"> |
| <text text-anchor="middle" x="240" y="30" font-size="20">multiple begin</text> |
| <g transform="translate(100, 100)"> |
| <g transform="translate(80,25)" text-anchor="end" font-size="14"> |
| <text>2 offsets</text> |
| <text y="25">2 sync bases</text> |
| <text y="50">2 repeat</text> |
| <text y="100">2 event base</text> |
| <text y="125">2 accessKeys</text> |
| <text y="150">misc</text> |
| </g> |
| |
| <g id="timeMarkersText" transform="translate(150, 5)" text-anchor="middle" font-size="14"> |
| <text>0-1s</text> |
| <text y="-20">2s-4s</text> |
| <text y="-40">> 5s</text> |
| <g transform="translate(40,0)"> |
| <text>1-2s</text> |
| <text y="-20">4-5s</text> |
| </g> |
| </g> |
| |
| <g transform="translate(150,20)" stroke="black"> |
| <defs> |
| <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/> |
| </defs> |
| <g id="setOne"> |
| <use xlink:href="#shadow" x="0"/> |
| <use xlink:href="#shadow" x="40"/> |
| <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| <set id="firstSet" attributeName="x" to="34" begin="1s; 4s" dur="1s"/> |
| </rect> |
| </g> |
| <g id="setTwo" transform="translate(0, 25)"> |
| <set id="syncBase" attributeName="display" to="inline" begin="0s" dur="indefinite"/> |
| <use xlink:href="#shadow" x="0"/> |
| <use xlink:href="#shadow" x="40"/> |
| <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| <set attributeName="x" to="34" begin="syncBase.begin + 1s; syncBase.begin + 4s" dur="1s"/> |
| </rect> |
| </g> |
| <g id="setThree" transform="translate(0, 50)"> |
| <set id="repeatBase" attributeName="display" to="inline" begin="0s" dur="1s" repeatDur="indefinite"/> |
| <use xlink:href="#shadow" x="0"/> |
| <use xlink:href="#shadow" x="40"/> |
| <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| <set attributeName="x" to="34" begin="repeatBase.repeat(1);repeatBase.repeat(4)" dur="1s"/> |
| </rect> |
| </g> |
| <g id="setFour" transform="translate(0, 100)"> |
| <use xlink:href="#shadow" x="0"/> |
| <use xlink:href="#shadow" x="40"/> |
| <rect id="setFourTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| <set attributeName="x" to="34" begin="setFourTarget.click + 0s; setFourTarget.click+4s" dur="1s"/> |
| </rect> |
| </g> |
| <g id="setFive" transform="translate(0, 125)"> |
| <use xlink:href="#shadow" x="0"/> |
| <use xlink:href="#shadow" x="40"/> |
| <rect id="setFiveTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| <set attributeName="x" to="34" begin="accessKey(a) + 0s;accessKey(a)+4s" dur="1s"/> |
| </rect> |
| </g> |
| <g id="setSix" transform="translate(0, 150)"> |
| <use xlink:href="#shadow" x="0"/> |
| <use xlink:href="#shadow" x="40"/> |
| <rect id="setSixTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| <set attributeName="x" to="34" begin="1s;4s;setSixTarget.click;accessKey(b)" dur="1s"/> |
| </rect> |
| </g> |
| </g> |
| </g> |
| </g> |
| <g font-family="SVGFreeSansASCII,sans-serif" font-size="32"> |
| <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</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> |