Specification link: 19.2 Animation elements

animate-elem-64-t ← index → animate-elem-66-t

Tests that contain the draft-watermark are under development and may be incorrectly testing a feature.

# animate-elem-65-t.svg
SVG Image | PNG Image

## Operator Script

Run the test and observe it for at least six seconds. No interaction required.

## Pass Criteria

The test passes if the following conditions are met:

- For the first five seconds after the document loads, all of the red squares in the top six rows are in the right column, and after five seconds, they all move to the left column.
- The red square in the last row is always in the right column.

## Test Description

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.

Each row in the test shows different rectangles subject to <set> 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.

On the first row, the first <set> animation (left rectangle) has an end value of 5s, and no min attribute. The active duration resulting from the end attribute is 5s. The first row shows a second rectangle with a <set> animation with the same configuration except that the min attribute value is set to 'media'. Because the <set> element does not define a media, the behavior should be as if the attribute was not specified. The active duration (5s) of the second <set> animation is therefore not constrained.

On the second row, the <set> animation has an end value of 5s, and a -6s min attribute. The active duration resulting from the end attribute is 5s. The negative min value is invalid and, as per the specification, the behavior should be as if the attribute was not specified. The active duration (5s) is therefore not constrained.

On the third row, the <set> animation has an end value of 5s, and a 3s min attribute. The active duration resulting from the end attribute is 5s. The min value is less than the active duration, so the min attribute does not actually constrain the active duration.

On the fourth row, the <set> animation has a dur value of indefinite, an end value of 2s, and a 5s min attribute. The active duration resulting from the end attribute would be 2s. Because this is less than the min value (2s < 5s) the (min constrained) active duration has to be corrected to 5s, despite a simple duration (indefinite) that is greater than the min value.

On the fifth row, the <set> animation has a dur value of 1s, an end value of 2s, a repeatCount of 7 and a 5s min attribute. The active duration resulting from dur, end and repeatCount would be 2s. Because this is less than the min value (2s < 5s) the (min constrained) active duration has to be corrected to 5s.

On the sixth row, the <set> animation has a dur value of 1s, an end value of 2s, a repeatCount of 5 and a 8s min attribute value. The active duration resulting from dur, end and repeatCount would be 2s, because this is less than the min value (2s < 8s) the active duration has to be corrected to 8s. As the fill attribute is set to 'remove' on the <set> animation, this remove is applied at 5s, the end of the repeatCount. Note, that if the end of active duration would have been used as a syncbase-value for another animation, the corrected end event at (begin + min) = 8s has to be used.

On the seventh row, the <set> animation has a dur value of 1s, an end value of 2s, a repeatCount of 5 and a 8s min attribute value. The active duration resulting from dur, end and repeatCount would be 2s, because this is less than the min value (2s < 8s) the active duration has to be corrected to 8s. As the fill attribute is set to 'freeze' on the <set> animation, the animation is frozen at 5s, the end of the repeatCount, the <set> applies indefinitely. Note, that if the end of active duration would have been used as a syncbase-value for another animation, the corrected end event at (begin + min) = 8s has to be used.

animate-elem-64-t ← index → animate-elem-66-t