Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* Any copyright is dedicated to the Public Domain.
"use strict";
// Test for following ComputedTimingPath component works.
// * element existance
// * iterations: path, count
// * delay: path
// * fill: path
// * endDelay: path
/* import-globals-from summary-graph_computed-timing-path_head.js */
Services.scriptloader.loadSubScript(
CHROME_URL_ROOT + "summary-graph_computed-timing-path_head.js",
this
);
const TEST_DATA = [
{
targetClass: "fill-backwards",
expectedIterationPathList: [
[
{ x: 0, y: 0 },
{ x: 250000, y: 25 },
{ x: 500000, y: 50 },
{ x: 750000, y: 75 },
{ x: 1000000, y: 100 },
{ x: 1000000, y: 0 },
],
],
},
{
targetClass: "fill-backwards-with-delay-iterationstart",
expectedDelayPath: [
{ x: 0, y: 0 },
{ x: 0, y: 50 },
{ x: 500000, y: 50 },
{ x: 500000, y: 0 },
],
expectedIterationPathList: [
[
{ x: 500000, y: 50 },
{ x: 750000, y: 75 },
{ x: 1000000, y: 100 },
{ x: 1000000, y: 0 },
],
[
{ x: 1000000, y: 0 },
{ x: 1250000, y: 25 },
{ x: 1500000, y: 50 },
{ x: 1500000, y: 0 },
],
],
},
{
targetClass: "fill-both",
expectedIterationPathList: [
[
{ x: 0, y: 0 },
{ x: 250000, y: 25 },
{ x: 500000, y: 50 },
{ x: 750000, y: 75 },
{ x: 1000000, y: 100 },
{ x: 1000000, y: 0 },
],
],
expectedForwardsPath: [
{ x: 1000000, y: 0 },
{ x: 1000000, y: 100 },
{ x: 1500000, y: 100 },
{ x: 1500000, y: 0 },
],
},
{
targetClass: "fill-both-width-delay-iterationstart",
expectedDelayPath: [
{ x: 0, y: 0 },
{ x: 0, y: 50 },
{ x: 500000, y: 50 },
{ x: 500000, y: 0 },
],
expectedIterationPathList: [
[
{ x: 500000, y: 50 },
{ x: 750000, y: 75 },
{ x: 1000000, y: 100 },
{ x: 1000000, y: 0 },
],
[
{ x: 1000000, y: 0 },
{ x: 1250000, y: 25 },
{ x: 1500000, y: 50 },
{ x: 1500000, y: 0 },
],
],
expectedForwardsPath: [
{ x: 1500000, y: 0 },
{ x: 1500000, y: 50 },
],
},
{
targetClass: "fill-forwards",
expectedIterationPathList: [
[
{ x: 0, y: 0 },
{ x: 250000, y: 25 },
{ x: 500000, y: 50 },
{ x: 750000, y: 75 },
{ x: 1000000, y: 100 },
{ x: 1000000, y: 0 },
],
],
expectedForwardsPath: [
{ x: 1000000, y: 0 },
{ x: 1000000, y: 100 },
{ x: 1500000, y: 100 },
{ x: 1500000, y: 0 },
],
},
{
targetClass: "iterationstart",
expectedIterationPathList: [
[
{ x: 0, y: 50 },
{ x: 250000, y: 75 },
{ x: 500000, y: 100 },
{ x: 500000, y: 0 },
],
[
{ x: 500000, y: 0 },
{ x: 750000, y: 25 },
{ x: 1000000, y: 50 },
{ x: 1000000, y: 0 },
],
],
},
{
targetClass: "no-compositor",
expectedIterationPathList: [
[
{ x: 0, y: 0 },
{ x: 250000, y: 25 },
{ x: 500000, y: 50 },
{ x: 750000, y: 75 },
{ x: 1000000, y: 100 },
{ x: 1000000, y: 0 },
],
],
},
{
targetClass: "keyframes-easing-step",
expectedIterationPathList: [
[
{ x: 0, y: 0 },
{ x: 499999, y: 0 },
{ x: 500000, y: 50 },
{ x: 999999, y: 50 },
{ x: 1000000, y: 0 },
],
],
},
{
targetClass: "narrow-keyframes",
expectedIterationPathList: [
[
{ x: 0, y: 0 },
{ x: 100000, y: 10 },
{ x: 110000, y: 10 },
{ x: 115000, y: 10 },
{ x: 129999, y: 10 },
{ x: 130000, y: 13 },
{ x: 135000, y: 13.5 },
],
],
},
{
targetClass: "duplicate-offsets",
expectedIterationPathList: [
[
{ x: 0, y: 0 },
{ x: 250000, y: 25 },
{ x: 500000, y: 50 },
{ x: 999999, y: 50 },
],
],
},
];
add_task(async function () {
await testComputedTimingPath(TEST_DATA);
});