CSS Animations: PASS: shape-outside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(115% at -7.5% -7.5%)] at -0.3 PASS: shape-outside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(100% at 0% 0%)] at 0 PASS: shape-outside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(85% at 7.5% 7.5%)] at 0.3 PASS: shape-outside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(70% at 15% 15%)] at 0.6 PASS: shape-outside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(50% at 25% 25%)] at 1 PASS: shape-outside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(25% at 37.5% 37.5%)] at 1.5 PASS: shape-outside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(115% 115% at -7.5% -7.5%)] at -0.3 PASS: shape-outside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(100% 100% at 0% 0%)] at 0 PASS: shape-outside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(85% 85% at 7.5% 7.5%)] at 0.3 PASS: shape-outside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(70% 70% at 15% 15%)] at 0.6 PASS: shape-outside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(50% 50% at 25% 25%)] at 1 PASS: shape-outside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(25% 25% at 37.5% 37.5%)] at 1.5 PASS: shape-outside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, -7.5px -7.5px, 17.5px 17.5px, 42.5px 42.5px)] at -0.3 PASS: shape-outside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] at 0 PASS: shape-outside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 7.5px 7.5px, 32.5px 32.5px, 57.5px 57.5px)] at 0.3 PASS: shape-outside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 15px 15px, 40px 40px, 65px 65px)] at 0.6 PASS: shape-outside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] at 1 PASS: shape-outside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 37.5px 37.5px, 62.5px 62.5px, 87.5px 87.5px)] at 1.5 PASS: shape-outside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] at -0.3 PASS: shape-outside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] at 0 PASS: shape-outside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] at 0.3 PASS: shape-outside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] at 0.6 PASS: shape-outside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] at 1 PASS: shape-outside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] at 1.5 PASS: shape-outside from [none] to [ellipse(100% 100% at 0% 0%)] was [none] at -0.3 PASS: shape-outside from [none] to [ellipse(100% 100% at 0% 0%)] was [none] at 0 PASS: shape-outside from [none] to [ellipse(100% 100% at 0% 0%)] was [none] at 0.3 PASS: shape-outside from [none] to [ellipse(100% 100% at 0% 0%)] was [ellipse(100% 100% at 0% 0%)] at 0.6 PASS: shape-outside from [none] to [ellipse(100% 100% at 0% 0%)] was [ellipse(100% 100% at 0% 0%)] at 1 PASS: shape-outside from [none] to [ellipse(100% 100% at 0% 0%)] was [ellipse(100% 100% at 0% 0%)] at 1.5 PASS: shape-outside from [circle(20% at right 10% bottom 20px)] to [circle(30% at right 20% bottom 30px)] was [circle(20% at right 10% bottom 20px)] at 0 FAIL: shape-outside from [circle(20% at right 10% bottom 20px)] to [circle(30% at right 20% bottom 30px)] was [circle(25% at 85% calc(-25px + 100%))] at 0.5, expected [circle(25% at left 85% bottom 25px)] PASS: shape-outside from [circle(20% at right 10% bottom 20px)] to [circle(30% at right 20% bottom 30px)] was [circle(30% at right 20% bottom 30px)] at 1 Web Animations API: PASS: shapeOutside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(115% at -7.5% -7.5%)] at -0.3 PASS: shapeOutside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(100% at 0% 0%)] at 0 PASS: shapeOutside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(85% at 7.5% 7.5%)] at 0.3 PASS: shapeOutside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(70% at 15% 15%)] at 0.6 PASS: shapeOutside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(50% at 25% 25%)] at 1 PASS: shapeOutside from [circle(100% at 0% 0%)] to [circle(50% at 25% 25%)] was [circle(25% at 37.5% 37.5%)] at 1.5 PASS: shapeOutside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(115% 115% at -7.5% -7.5%)] at -0.3 PASS: shapeOutside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(100% 100% at 0% 0%)] at 0 PASS: shapeOutside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(85% 85% at 7.5% 7.5%)] at 0.3 PASS: shapeOutside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(70% 70% at 15% 15%)] at 0.6 PASS: shapeOutside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(50% 50% at 25% 25%)] at 1 PASS: shapeOutside from [ellipse(100% 100% at 0% 0%)] to [ellipse(50% 50% at 25% 25%)] was [ellipse(25% 25% at 37.5% 37.5%)] at 1.5 PASS: shapeOutside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, -7.5px -7.5px, 17.5px 17.5px, 42.5px 42.5px)] at -0.3 PASS: shapeOutside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] at 0 PASS: shapeOutside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 7.5px 7.5px, 32.5px 32.5px, 57.5px 57.5px)] at 0.3 PASS: shapeOutside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 15px 15px, 40px 40px, 65px 65px)] at 0.6 PASS: shapeOutside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] at 1 PASS: shapeOutside from [polygon(nonzero, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 37.5px 37.5px, 62.5px 62.5px, 87.5px 87.5px)] at 1.5 PASS: shapeOutside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] at -0.3 PASS: shapeOutside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] at 0 PASS: shapeOutside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] at 0.3 PASS: shapeOutside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] at 0.6 PASS: shapeOutside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] at 1 PASS: shapeOutside from [polygon(evenodd, 0px 0px, 25px 25px, 50px 50px)] to [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] was [polygon(nonzero, 25px 25px, 50px 50px, 75px 75px)] at 1.5 PASS: shapeOutside from [none] to [ellipse(100% 100% at 0% 0%)] was [none] at -0.3 PASS: shapeOutside from [none] to [ellipse(100% 100% at 0% 0%)] was [none] at 0 PASS: shapeOutside from [none] to [ellipse(100% 100% at 0% 0%)] was [none] at 0.3 PASS: shapeOutside from [none] to [ellipse(100% 100% at 0% 0%)] was [ellipse(100% 100% at 0% 0%)] at 0.6 PASS: shapeOutside from [none] to [ellipse(100% 100% at 0% 0%)] was [ellipse(100% 100% at 0% 0%)] at 1 PASS: shapeOutside from [none] to [ellipse(100% 100% at 0% 0%)] was [ellipse(100% 100% at 0% 0%)] at 1.5 PASS: shapeOutside from [circle(20% at right 10% bottom 20px)] to [circle(30% at right 20% bottom 30px)] was [circle(20% at right 10% bottom 20px)] at 0 FAIL: shapeOutside from [circle(20% at right 10% bottom 20px)] to [circle(30% at right 20% bottom 30px)] was [circle(25% at 85% calc(-25px + 100%))] at 0.5, expected [circle(25% at left 85% bottom 25px)] PASS: shapeOutside from [circle(20% at right 10% bottom 20px)] to [circle(30% at right 20% bottom 30px)] was [circle(30% at right 20% bottom 30px)] at 1