summaryrefslogtreecommitdiffstats
path: root/layout/reftests/svg/smil/repeat/init-repeat-1.svg
blob: 7481fbcba8d0a1f4b884af588444c2cb01845a92 (plain)
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
<!-- 
  The following tests an anomaly in the SMIL Animation spec.

  SMILANIM 3.6.8 says:

    Thus the strict definition of the first acceptable interval for the element
    is the first interval that ends after the document begins.

  This is then demonstrated in pseudocode.

  However, it is contradicted by a statement just before the first that says:

    The element has one or more intervals defined that begin and end before the
    document begins (before 0). These are filtered out of the model.

  So there is some ambiguity about intervals that end at time zero. However, the
  first statement seems more authorative ("the strict definition") and the
  second statement does not explicitly say that intervals that end at t=0 are
  not filtered. Furthermore, the pseudocode is in agreement with the first
  statement so we conclude that if an interval finishes at time zero it is not
  an acceptable interval and is filtered out.
  
  The following animation sets up such an interval, that, based on its
  repeatCount has an active duration of 1s, producing an interval of (-1s, 0s).
  Therefore this interval should be filtered out and no animation effect should
  be produced. The circle should remain at position 0 (the first marker). If the
  interval is not correctly filtered out it will be at position 100 (the second
  marker).

  We include this test as a regression test so that no one is tempted to "fix"
  this behaviour.

  Note that this behaviour persists even in SMIL 3 (including the ambiguity
  noted above).
  See http://www.w3.org/TR/SMIL3/smil-timing.html#Timing-BeginEnd-LC-Start
 -->
<svg xmlns="http://www.w3.org/2000/svg">
  <g transform="translate(50 50)">
    <circle r="40" style="fill: yellow; stroke: black; stroke-width: 1">
      <animate attributeName="cx" attributeType="XML" fill="freeze"
        values="0; 200" dur="2s" begin="-1s" repeatCount="0.5"/>
    </circle>
    <path d="M0 -10v20" stroke="blue"/>
    <path d="M100 -10v20" stroke="blue"/>
    <path d="M200 -10v20" stroke="blue"/>
  </g>
</svg>