Val.value, 30, epsilon);
    assert_equals(rect.width.baseVal.value, 300);
}

smil_async_test((t) => {
    rect = rootSVGElement.ownerDocument.getElementsByTagName("rect")[0];

    // Sampling according to: keyTimes="0;.2;.6;.8" begin="0s" dur="10s"
    const expectedValues = [
        // [animationId, time, sampleCallback]
        ["an1", 0.0,    sample1],
        ["an1", 1.999,  sample1],
        ["an1", 2.001,  sample2],
        ["an1", 5.999,  sample2],
        ["an1", 6.001,  sample3],
        ["an1", 