chromium/third_party/blink/web_tests/svg/W3C-SVG-1.1/animate-elem-65-t.svg

<?xml version="1.0" encoding="UTF-8"?>
<!--======================================================================-->
<!--=  Copyright 2004 World Wide Web Consortium, (Massachusetts          =-->
<!--=  Institute of Technology, Institut National de Recherche en        =-->
<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
<!--======================================================================--><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">

<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">
	<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="Basic tests on the min attribute" status="accepted" version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-65-t.svg,v $">
        <OperatorScript>
            <Paragraph>
                This tests performs basic tests on the min attribute. The test is based
                on the SMIL specification at: 
                http://www.w3.org/TR/smil20/smil-timing.html#Timing-MinMax.
            </Paragraph>
            <Paragraph>
                Each row in the test shows different rectangles subject to &lt;set&gt;
                animations with different configurations with regards to the min 
                attribute. For each row but the last one, the animation should be active
                during the first 5 seconds of the animations where the red rectangle
                should show in the right column. At five seconds into the animation,
                all the rectangles should move to their left position.
            </Paragraph>
            <Paragraph>
                On the first row, the &lt;set&gt; animation has a (0s &lt;= t &lt; 5s) active duration
                and no min attribute so the actual active duration is (0s &lt;= t &lt; 5s).
                The first row shows a second rectangle with a &lt;set&gt; animation with
                the same configuration except that the min attribute value is set to 
                'media'. Because the &lt;set&gt; element does not define a media, the 
                behavior should be as if the attribute was not specified.
            </Paragraph>
            <Paragraph>
                On the second row, the &lt;set&gt; animation has a (0s &lt;= t &lt; 5s) active duration
                and a min attribute set to '-6s'. That value is invalid for min and, as
                per the specification, the behavior should be as if the attribute was not
                specified. Consequently, the behavior is as for the previous row and
                the actual active duration is (0s &lt;= t &lt; 5s).
            </Paragraph>
            <Paragraph>
                On the third row, the &lt;set&gt; animation has a (0s &lt;= t &lt; 5s) active duration
                and a min attribute set to '3s'. The min value is less than the active
                duration, so the min attribute does not actually constrain the active duration.
            </Paragraph>
            <Paragraph>
                On the fourth row, the &lt;set&gt; animation has a (0s &lt;= t &lt; 2s) initial active duration,
                an indefinite simple duration (dur is set to indefinite) and a min attribute set to '3s'.
                Because the initial active duration is less than the min attribute and because the 
                simple duration is greater than the min value, the animation is active for the 
                (min constrained) active duration, i.e., (0s &lt;= t &lt; 5s).
            </Paragraph>
            <Paragraph>
                On the fifth row, the &lt;set&gt; animation has a (0s &lt;= t &lt; 2s) initial active duration,
                an (0s &lt;= t &lt; 7s) repeat duration and a 5s min attribute value. Because the initial 
                active duration is less than the min attribute and because the repeat duration is greater
                than the min value, the animation active for the (min constrained) active duration,
                i.e., (0s &lt;= t &lt; 5s).
            </Paragraph>
            <Paragraph>
                On the sixth row, the &lt;set&gt; animation has a (0s &lt;= t &lt; 2s) initial active duration,
                an (0s &lt;= t &lt; 5s) repeat duration and an 8s min attribute value. Because the initial
                active duration is less than the min attribute and because the repeat duration is
                less than the min value (5s &lt; 8s) and because the fill attribute is set to 
                'remove' on the &lt;set&gt; animation, the animation's active duration is (0s &lt;= t &lt; 5s).
            </Paragraph>
            <Paragraph>
                On the seventh row, the &lt;set&gt; animation has a (0s &lt;= t &lt; 2s) initial active duration,
                a (0s &lt;= t &lt; 5s) repeat duration and an 8s min attribute value. Because the initial 
                active duration is less than the min attribute and because the repeat duration is 
                less than the min value (5s &lt; 8s) and because the fill attribute is set to 
                'freeze' on the &lt;set&gt; animation, the animation's active duration is (0s &lt;= t &lt; 5s)
                but, because the fill state is 'freeze', the &lt;set&gt; applies indefinitely.
            </Paragraph>
        </OperatorScript>
    </SVGTestCase>
    <title id="test-title">$RCSfile: animate-elem-65-t.svg,v $</title>
    
    <!--======================================================================-->
    <!--Content of Test Case follows...                  =====================-->
    <!--======================================================================-->
    <text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.7 $</text>
    <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>

    <text text-anchor="middle" x="240" y="30" font-size="20">min</text>

    <g transform="translate(100, 50)">

        <g transform="translate(120,45)" text-anchor="end" font-size="14">
            <text>no min / media</text>
            <text y="25">invalid min</text>
            <text y="50">min &lt; active dur</text>
            <text y="75">min &gt; active dur</text>
            <text y="100">min &lt; repeat dur</text>
            <text y="125">min &gt; repeat dur, remove</text>
            <text y="180">min &gt; repeat dur, freeze</text>
        </g>

        <g id="timeMarkersText" transform="translate(150, 25)" text-anchor="middle" font-size="14">
            <text>&gt; 5s</text>
            <text x="80">0s-5s</text>

            <g transform="translate(0, 180)">
                <text>never</text>
                <text x="80">&gt; 0s</text>
            </g>
        </g>

        <g transform="translate(150,40)" 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="80"/>

                <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
                    <set id="firstSet" attributeName="x" to="74" end="5s"/>
                </rect>

                <g transform="translate(20, 0)">
                    <use xlink:href="#shadow" x="0"/>
                    <use xlink:href="#shadow" x="80"/>
    
                    <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
                        <set attributeName="x" to="74" end="5s" min="media"/>
                    </rect>
                </g>
            </g>

            <g id="setTwo" transform="translate(0, 25)">
                <use xlink:href="#shadow" x="0"/>
                <use xlink:href="#shadow" x="80"/>

                <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
                    <set attributeName="x" to="74" min="-6s" end="5s"/>
                </rect>
            </g>

            <g id="setThree" transform="translate(0, 50)">
                <use xlink:href="#shadow" x="0"/>
                <use xlink:href="#shadow" x="80"/>

                <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
                    <set attributeName="x" to="74" min="3s" end="5s"/>
                </rect>
            </g>

            <g id="setFour" transform="translate(0, 75)">
                <use xlink:href="#shadow" x="0"/>
                <use xlink:href="#shadow" x="80"/>

                <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
                    <set attributeName="x" to="74" min="5s" dur="indefinite" end="2s"/>
                </rect>
            </g>

            <g id="setFive" transform="translate(0, 100)">
                <use xlink:href="#shadow" x="0"/>
                <use xlink:href="#shadow" x="80"/>

                <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
                    <set attributeName="x" to="74" min="5s" end="2s" dur="1s" repeatCount="7"/>
                </rect>
            </g>

            <g id="setSix" transform="translate(0, 125)">
                <use xlink:href="#shadow" x="0"/>
                <use xlink:href="#shadow" x="80"/>

                <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
                    <set attributeName="x" to="74" min="8s" end="2s" dur="1s" repeatCount="5" fill="remove"/>
                </rect>
            </g>

            <g id="setSeven" transform="translate(0, 180)">
                <use xlink:href="#shadow" x="0"/>
                <use xlink:href="#shadow" x="80"/>

                <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
                    <set attributeName="x" to="74" min="8s" end="2s" dur="1s" repeatCount="5" fill="freeze"/>
                </rect>
            </g>
        </g>
    </g>
  <script>
    // Pause the animation at t=0.
    document.documentElement.pauseAnimations();
  </script>
</svg>