mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
48 lines
2.0 KiB
XML
48 lines
2.0 KiB
XML
<!--
|
|
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>
|