commit ef698e4dd79ee23661f5f3776233feb33b7efbd3
parent c2079e4df72488ce4cbea17b0a0a96d7c1825d38
Author: Serban Stanca <sstanca@mozilla.com>
Date: Thu, 4 Dec 2025 20:25:58 +0200
Revert "Bug 2002614 - Fix <relative-control-point>'s underpermissive interpolation. r=firefox-style-system-reviewers,emilio" for causing build bustages in SVGPathData.cpp.
This reverts commit 28249dccc9b988be3d3d8765d043ffab2339d6d3.
Diffstat:
9 files changed, 1563 insertions(+), 77 deletions(-)
diff --git a/dom/svg/SVGAnimatedPathSegList.cpp b/dom/svg/SVGAnimatedPathSegList.cpp
@@ -44,7 +44,7 @@ static StyleCurveControlPoint<float> MakeControlPoint(PositionType type,
return StyleCurveControlPoint<float>::Absolute({x, y});
} else {
const auto rcp =
- StyleRelativeControlPoint<float>{{x, y}, StyleControlReference::Start};
+ StyleRelativeControlPoint<float>{{x, y}, StyleControlReference::None};
return StyleCurveControlPoint<float>::Relative(rcp);
}
}
diff --git a/dom/svg/SVGPathData.cpp b/dom/svg/SVGPathData.cpp
@@ -260,12 +260,12 @@ static already_AddRefed<Path> BuildPathInternal(
break;
}
case Command::Tag::CubicCurve:
+ isRelative = cmd.cubic_curve.point.IsByCoordinate();
segEnd = cmd.cubic_curve.point.ToGfxPoint(aPercentageBasis);
- segEnd =
- cmd.cubic_curve.point.IsByCoordinate() ? segEnd + segStart : segEnd;
- cp1 = cmd.cubic_curve.control1.ToGfxPoint(segStart, segEnd,
+ segEnd = isRelative ? segEnd + segStart : segEnd;
+ cp1 = cmd.cubic_curve.control1.ToGfxPoint(segStart, segEnd, isRelative,
aPercentageBasis);
- cp2 = cmd.cubic_curve.control2.ToGfxPoint(segStart, segEnd,
+ cp2 = cmd.cubic_curve.control2.ToGfxPoint(segStart, segEnd, isRelative,
aPercentageBasis);
if (segEnd != segStart || segEnd != cp1 || segEnd != cp2) {
@@ -275,11 +275,11 @@ static already_AddRefed<Path> BuildPathInternal(
break;
case Command::Tag::QuadCurve:
+ isRelative = cmd.quad_curve.point.IsByCoordinate();
segEnd = cmd.quad_curve.point.ToGfxPoint(aPercentageBasis);
- segEnd = cmd.quad_curve.point.IsByCoordinate()
- ? segEnd + segStart
- : segEnd; // set before setting tcp2!
- cp1 = cmd.quad_curve.control1.ToGfxPoint(segStart, segEnd,
+ segEnd = isRelative ? segEnd + segStart
+ : segEnd; // set before setting tcp2!
+ cp1 = cmd.quad_curve.control1.ToGfxPoint(segStart, segEnd, isRelative,
aPercentageBasis);
// Convert quadratic curve to cubic curve:
@@ -345,11 +345,11 @@ static already_AddRefed<Path> BuildPathInternal(
break;
}
case Command::Tag::SmoothCubic:
+ isRelative = cmd.smooth_cubic.point.IsByCoordinate();
segEnd = cmd.smooth_cubic.point.ToGfxPoint(aPercentageBasis);
- segEnd = cmd.smooth_cubic.point.IsByCoordinate() ? segEnd + segStart
- : segEnd;
+ segEnd = isRelative ? segEnd + segStart : segEnd;
cp1 = prevSeg && prevSeg->IsCubicType() ? segStart * 2 - cp2 : segStart;
- cp2 = cmd.smooth_cubic.control2.ToGfxPoint(segStart, segEnd,
+ cp2 = cmd.smooth_cubic.control2.ToGfxPoint(segStart, segEnd, isRelative,
aPercentageBasis);
if (segEnd != segStart || segEnd != cp1 || segEnd != cp2) {
@@ -530,6 +530,7 @@ void SVGPathData::GetMarkerPositioningData(Span<const StylePathCommand> aPath,
Point& segStart = prevSegEnd;
Point segEnd;
float segStartAngle, segEndAngle;
+ bool isRelative = false;
switch (cmd.tag) // to find segStartAngle, segEnd and segEndAngle
{
@@ -554,13 +555,15 @@ void SVGPathData::GetMarkerPositioningData(Span<const StylePathCommand> aPath,
break;
}
case StylePathCommand::Tag::CubicCurve: {
+ isRelative = cmd.cubic_curve.point.IsByCoordinate();
segEnd = cmd.cubic_curve.point.ToGfxPoint() * aZoom;
- segEnd =
- cmd.cubic_curve.point.IsByCoordinate() ? segEnd + segStart : segEnd;
+ segEnd = isRelative ? segEnd + segStart : segEnd;
Point cp1 =
- cmd.cubic_curve.control1.ToGfxPoint(segStart, segEnd) * aZoom;
+ cmd.cubic_curve.control1.ToGfxPoint(segStart, segEnd, isRelative) *
+ aZoom;
Point cp2 =
- cmd.cubic_curve.control2.ToGfxPoint(segStart, segEnd) * aZoom;
+ cmd.cubic_curve.control2.ToGfxPoint(segStart, segEnd, isRelative) *
+ aZoom;
prevCP = cp2;
segStartAngle = AngleOfVector(
@@ -570,12 +573,13 @@ void SVGPathData::GetMarkerPositioningData(Span<const StylePathCommand> aPath,
break;
}
case StylePathCommand::Tag::QuadCurve: {
+ isRelative = cmd.quad_curve.point.IsByCoordinate();
segEnd = cmd.quad_curve.point.ToGfxPoint() * aZoom;
- segEnd = cmd.quad_curve.point.IsByCoordinate()
- ? segEnd + segStart
- : segEnd; // set before setting tcp2!
+ segEnd = isRelative ? segEnd + segStart
+ : segEnd; // set before setting tcp2!
Point cp1 =
- cmd.quad_curve.control1.ToGfxPoint(segStart, segEnd) * aZoom;
+ cmd.quad_curve.control1.ToGfxPoint(segStart, segEnd, isRelative) *
+ aZoom;
prevCP = cp1;
segStartAngle = AngleOfVector(cp1 == segStart ? segEnd : cp1, segStart);
@@ -649,11 +653,12 @@ void SVGPathData::GetMarkerPositioningData(Span<const StylePathCommand> aPath,
const Point& cp1 = prevSeg && prevSeg->IsCubicType()
? segStart * 2 - prevCP
: segStart;
+ isRelative = cmd.smooth_cubic.point.IsByCoordinate();
segEnd = cmd.smooth_cubic.point.ToGfxPoint() * aZoom;
- segEnd = cmd.smooth_cubic.point.IsByCoordinate() ? segEnd + segStart
- : segEnd;
+ segEnd = isRelative ? segEnd + segStart : segEnd;
Point cp2 =
- cmd.smooth_cubic.control2.ToGfxPoint(segStart, segEnd) * aZoom;
+ cmd.smooth_cubic.control2.ToGfxPoint(segStart, segEnd, isRelative) *
+ aZoom;
prevCP = cp2;
segStartAngle = AngleOfVector(
diff --git a/dom/svg/SVGPathSegUtils.cpp b/dom/svg/SVGPathSegUtils.cpp
@@ -129,12 +129,15 @@ void SVGPathSegUtils::TraversePathSegment(const StylePathCommand& aCommand,
break;
}
case StylePathCommand::Tag::CubicCurve: {
- Point to = aCommand.cubic_curve.point.IsByCoordinate()
+ const bool isRelative = aCommand.cubic_curve.point.IsByCoordinate();
+ Point to = isRelative
? aState.pos + aCommand.cubic_curve.point.ToGfxPoint()
: aCommand.cubic_curve.point.ToGfxPoint();
if (aState.ShouldUpdateLengthAndControlPoints()) {
- Point cp1 = aCommand.cubic_curve.control1.ToGfxPoint(aState.pos, to);
- Point cp2 = aCommand.cubic_curve.control2.ToGfxPoint(aState.pos, to);
+ Point cp1 = aCommand.cubic_curve.control1.ToGfxPoint(aState.pos, to,
+ isRelative);
+ Point cp2 = aCommand.cubic_curve.control2.ToGfxPoint(aState.pos, to,
+ isRelative);
aState.length +=
(float)CalcLengthOfCubicBezier(aState.pos, cp1, cp2, to);
aState.cp2 = cp2;
@@ -144,11 +147,13 @@ void SVGPathSegUtils::TraversePathSegment(const StylePathCommand& aCommand,
break;
}
case StylePathCommand::Tag::QuadCurve: {
- Point to = aCommand.quad_curve.point.IsByCoordinate()
+ const bool isRelative = aCommand.quad_curve.point.IsByCoordinate();
+ Point to = isRelative
? aState.pos + aCommand.quad_curve.point.ToGfxPoint()
: aCommand.quad_curve.point.ToGfxPoint();
if (aState.ShouldUpdateLengthAndControlPoints()) {
- Point cp = aCommand.quad_curve.control1.ToGfxPoint(aState.pos, to);
+ Point cp =
+ aCommand.quad_curve.control1.ToGfxPoint(aState.pos, to, isRelative);
aState.length += (float)CalcLengthOfQuadraticBezier(aState.pos, cp, to);
aState.cp1 = cp;
aState.cp2 = to;
@@ -205,12 +210,14 @@ void SVGPathSegUtils::TraversePathSegment(const StylePathCommand& aCommand,
break;
}
case StylePathCommand::Tag::SmoothCubic: {
- Point to = aCommand.smooth_cubic.point.IsByCoordinate()
+ const bool isRelative = aCommand.smooth_cubic.point.IsByCoordinate();
+ Point to = isRelative
? aState.pos + aCommand.smooth_cubic.point.ToGfxPoint()
: aCommand.smooth_cubic.point.ToGfxPoint();
if (aState.ShouldUpdateLengthAndControlPoints()) {
Point cp1 = aState.pos - (aState.cp2 - aState.pos);
- Point cp2 = aCommand.smooth_cubic.control2.ToGfxPoint(aState.pos, to);
+ Point cp2 = aCommand.smooth_cubic.control2.ToGfxPoint(aState.pos, to,
+ isRelative);
aState.length +=
(float)CalcLengthOfCubicBezier(aState.pos, cp1, cp2, to);
aState.cp2 = cp2;
diff --git a/layout/style/ServoStyleConstsInlines.h b/layout/style/ServoStyleConstsInlines.h
@@ -1349,7 +1349,7 @@ template <>
inline gfx::Point
StyleControlPoint<StyleShapePosition<StyleCSSFloat>, StyleCSSFloat>::ToGfxPoint(
const gfx::Point aStatePos, const gfx::Point aEndPoint,
- const CSSSize* aBasis) const {
+ const bool isRelativeEndPoint, const CSSSize* aBasis) const {
if (IsAbsolute()) {
auto& pos = AsAbsolute();
return pos.ToGfxPoint();
@@ -1358,7 +1358,11 @@ StyleControlPoint<StyleShapePosition<StyleCSSFloat>, StyleCSSFloat>::ToGfxPoint(
// Else
auto& point = AsRelative();
auto cp = point.coord.ToGfxPoint();
- if (point.reference == StyleControlReference::Start) {
+ bool isRelativeDefaultCase =
+ point.reference == StyleControlReference::None && isRelativeEndPoint;
+
+ if (point.reference == StyleControlReference::Start ||
+ isRelativeDefaultCase) {
return cp + aStatePos;
} else if (point.reference == StyleControlReference::End) {
return cp + aEndPoint;
@@ -1372,6 +1376,7 @@ inline gfx::Point
StyleControlPoint<StyleShapePosition<LengthPercentage>,
LengthPercentage>::ToGfxPoint(const gfx::Point aStatePos,
const gfx::Point aEndPoint,
+ const bool isRelativeEndPoint,
const CSSSize* aBasis) const {
MOZ_ASSERT(aBasis);
if (IsAbsolute()) {
@@ -1382,7 +1387,11 @@ StyleControlPoint<StyleShapePosition<LengthPercentage>,
// Else
auto& point = AsRelative();
auto cp = point.coord.ToGfxPoint(aBasis);
- if (point.reference == StyleControlReference::Start) {
+ bool isRelativeDefaultCase =
+ point.reference == StyleControlReference::None && isRelativeEndPoint;
+
+ if (point.reference == StyleControlReference::Start ||
+ isRelativeDefaultCase) {
return cp + aStatePos;
} else if (point.reference == StyleControlReference::End) {
return cp + aEndPoint;
diff --git a/servo/components/style/values/generics/basic_shape.rs b/servo/components/style/values/generics/basic_shape.rs
@@ -1167,7 +1167,7 @@ pub enum ControlPoint<Position, LengthPercentage> {
impl<Position, LengthPercentage> ControlPoint<Position, LengthPercentage> {
/// Serialize <control-point>
- pub fn to_css<W>(&self, dest: &mut CssWriter<W>, is_end_point_abs: bool) -> fmt::Result
+ pub fn to_css<W>(&self, dest: &mut CssWriter<W>, is_endpoint_abs: bool) -> fmt::Result
where
W: Write,
Position: ToCss,
@@ -1175,7 +1175,7 @@ impl<Position, LengthPercentage> ControlPoint<Position, LengthPercentage> {
{
match self {
ControlPoint::Absolute(pos) => pos.to_css(dest),
- ControlPoint::Relative(point) => point.to_css(dest, is_end_point_abs),
+ ControlPoint::Relative(point) => point.to_css(dest, is_endpoint_abs),
}
}
}
@@ -1207,19 +1207,22 @@ pub struct RelativeControlPoint<LengthPercentage> {
}
impl<LengthPercentage: ToCss> RelativeControlPoint<LengthPercentage> {
- fn to_css<W>(&self, dest: &mut CssWriter<W>, is_end_point_abs: bool) -> fmt::Result
+ fn to_css<W>(&self, dest: &mut CssWriter<W>, is_endpoint_abs: bool) -> fmt::Result
where
W: Write,
{
self.coord.to_css(dest)?;
- match self.reference {
- ControlReference::Origin if is_end_point_abs => Ok(()),
- ControlReference::Start if !is_end_point_abs => Ok(()),
- other => {
- dest.write_str(" from ")?;
- other.to_css(dest)
- },
+ let should_omit_reference = match self.reference {
+ ControlReference::None => true,
+ ControlReference::Start => !is_endpoint_abs,
+ ControlReference::Origin => is_endpoint_abs,
+ ControlReference::End => false,
+ };
+ if !should_omit_reference {
+ dest.write_str(" from ")?;
+ self.reference.to_css(dest)?;
}
+ Ok(())
}
}
@@ -1233,9 +1236,9 @@ impl<LengthPercentage: ComputeSquaredDistance> ComputeSquaredDistance
/// Defines the point of reference for a <relative-control-point>.
///
-/// When a reference is not specified, depending on whether the associated
-/// <command-end-point> is absolutely or relatively positioned, the default
-/// will be `Origin` or `Start`, respectively.
+/// The default `None` is equivalent to `Origin` or `Start`, depending on
+/// whether the associated <command-end-point> is absolutely or relatively
+/// positioned, respectively.
/// https://drafts.csswg.org/css-shapes/#typedef-shape-relative-control-point
#[allow(missing_docs)]
#[derive(
@@ -1259,6 +1262,8 @@ impl<LengthPercentage: ComputeSquaredDistance> ComputeSquaredDistance
)]
#[repr(C)]
pub enum ControlReference {
+ #[css(skip)]
+ None,
Start,
End,
Origin,
diff --git a/servo/components/style/values/specified/basic_shape.rs b/servo/components/style/values/specified/basic_shape.rs
@@ -898,7 +898,6 @@ impl generic::ControlPoint<Position, LengthPercentage> {
input: &mut Parser<'i, 't>,
is_end_point_abs: bool,
) -> Result<Self, ParseError<'i>> {
- use generic::ControlReference;
let coord = input.try_parse(|i| generic::CoordinatePair::parse(context, i));
// Parse <position>
@@ -909,15 +908,10 @@ impl generic::ControlPoint<Position, LengthPercentage> {
// Parse <relative-control-point> = <coordinate-pair> [from [ start | end | origin ]]?
let coord = coord?;
- let mut reference = if is_end_point_abs {
- ControlReference::Origin
- } else {
- ControlReference::Start
- };
+ let mut reference = generic::ControlReference::None;
if input.try_parse(|i| i.expect_ident_matching("from")).is_ok() {
- reference = ControlReference::parse(input)?;
+ reference = generic::ControlReference::parse(input)?;
}
-
Ok(Self::Relative(generic::RelativeControlPoint {
coord,
reference,
diff --git a/servo/components/style/values/specified/svg_path.rs b/servo/components/style/values/specified/svg_path.rs
@@ -590,6 +590,10 @@ impl ControlPoint<ShapePosition<CSSFloat>, CSSFloat> {
};
match point.reference {
+ ControlReference::None if !end_point.is_abs() => {
+ pos.horizontal += state_pos.x;
+ pos.vertical += state_pos.y;
+ },
ControlReference::Start => {
pos.horizontal += state_pos.x;
pos.vertical += state_pos.y;
@@ -835,42 +839,42 @@ impl<'a> PathParser<'a> {
/// Parse an absolute cubic Bézier curve ("C") command.
fn parse_curve_abs(&mut self) -> Result<(), ()> {
parse_arguments!(self, CubicCurve, [
- control1 => parse_control_point_abs, control2 => parse_control_point_abs, point => parse_command_end_abs
+ control1 => parse_control_point, control2 => parse_control_point, point => parse_command_end_abs
])
}
/// Parse a relative cubic Bézier curve ("c") command.
fn parse_curve_rel(&mut self) -> Result<(), ()> {
parse_arguments!(self, CubicCurve, [
- control1 => parse_control_point_rel, control2 => parse_control_point_rel, point => parse_command_end_rel
+ control1 => parse_control_point, control2 => parse_control_point, point => parse_command_end_rel
])
}
/// Parse an absolute smooth "curveto" ("S") command.
fn parse_smooth_curve_abs(&mut self) -> Result<(), ()> {
parse_arguments!(self, SmoothCubic, [
- control2 => parse_control_point_abs, point => parse_command_end_abs
+ control2 => parse_control_point, point => parse_command_end_abs
])
}
/// Parse a relative smooth "curveto" ("s") command.
fn parse_smooth_curve_rel(&mut self) -> Result<(), ()> {
parse_arguments!(self, SmoothCubic, [
- control2 => parse_control_point_rel, point => parse_command_end_rel
+ control2 => parse_control_point, point => parse_command_end_rel
])
}
/// Parse an absolute quadratic Bézier curve ("Q") command.
fn parse_quadratic_bezier_curve_abs(&mut self) -> Result<(), ()> {
parse_arguments!(self, QuadCurve, [
- control1 => parse_control_point_abs, point => parse_command_end_abs
+ control1 => parse_control_point, point => parse_command_end_abs
])
}
/// Parse a relative quadratic Bézier curve ("q") command.
fn parse_quadratic_bezier_curve_rel(&mut self) -> Result<(), ()> {
parse_arguments!(self, QuadCurve, [
- control1 => parse_control_point_rel, point => parse_command_end_rel
+ control1 => parse_control_point, point => parse_command_end_rel
])
}
@@ -952,25 +956,17 @@ fn parse_command_end_rel(
Ok(CommandEndPoint::ByCoordinate(coord))
}
-/// Parse a pair of values that describe the absolutely positioned curve control point.
-fn parse_control_point_abs(
- iter: &mut Peekable<Cloned<slice::Iter<u8>>>,
-) -> Result<ControlPoint<ShapePosition<CSSFloat>, CSSFloat>, ()> {
- let coord = parse_coord(iter)?;
- Ok(ControlPoint::Relative(RelativeControlPoint {
- coord,
- reference: ControlReference::Origin,
- }))
-}
-
-/// Parse a pair of values that describe the relatively positioned curve control point.
-fn parse_control_point_rel(
+/// Parse a pair of values that describe the curve control point.
+///
+/// Note: when the reference is None, the <control-point>'s reference
+/// defaults to the commands coordinate mode (absolute or relative).
+fn parse_control_point(
iter: &mut Peekable<Cloned<slice::Iter<u8>>>,
) -> Result<ControlPoint<ShapePosition<CSSFloat>, CSSFloat>, ()> {
let coord = parse_coord(iter)?;
Ok(ControlPoint::Relative(RelativeControlPoint {
coord,
- reference: ControlReference::Start,
+ reference: ControlReference::None,
}))
}
diff --git a/servo/ports/geckolib/cbindgen.toml b/servo/ports/geckolib/cbindgen.toml
@@ -878,11 +878,11 @@ renaming_overrides_prefixing = true
"ControlPoint" = """
inline gfx::Point ToGfxPoint(
const gfx::Point aStatePos, const gfx::Point aEndPoint,
- const CSSSize* aBasis = nullptr) const;
+ const bool isRelativeEndPoint, const CSSSize* aBasis = nullptr) const;
gfx::Point ToGfxPoint(
const gfx::Point aStatePos, const gfx::Point aEndPoint,
- const CSSSize& aBasis) const {
- return ToGfxPoint(aStatePos, aEndPoint, &aBasis);
+ const bool isRelativeEndPoint, const CSSSize& aBasis) const {
+ return ToGfxPoint(aStatePos, aEndPoint, isRelativeEndPoint, &aBasis);
}
"""
diff --git a/testing/web-platform/meta/css/css-masking/animations/clip-path-interpolation-shape-control-points.html.ini b/testing/web-platform/meta/css/css-masking/animations/clip-path-interpolation-shape-control-points.html.ini
@@ -0,0 +1,1470 @@
+[clip-path-interpolation-shape-control-points.html]
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 100px)\]]
+ expected: FAIL
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 100px)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 100px)\]]
+ expected: FAIL
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 100px)\]]
+ expected: FAIL
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 100px)\]]
+ expected: FAIL
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 100px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 100px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 100px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 100px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 100px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 100px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 100px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 100px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 100px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (-0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (0) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth by 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from origin / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.3) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from origin)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.6) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px / 40px 50px from end)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0.5) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (1.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px / 40px 50px from start)\] to [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (0) should be [shape(from top left, curve to 100% 50% with 20px 30px from end / 40px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from origin)\] at (0) should be [shape(from top left, smooth to 100% 50% with 20px 50px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 50px)\] to [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\] at (1) should be [shape(from top left, curve by 100% 50% with 20px 30px from end / 40px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (-0.3) should be [shape(from top left, smooth to 100% 50% with 20px 50px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, curve to 100% 50% with 20px 30px from start / 40px 50px)\] to [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\] at (1) should be [shape(from top left, curve to 100% 50% with 20px 30px / 40px 150px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.5) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Web Animations: property <clip-path> from [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\] to [shape(from top left, smooth by 100% 50% with 20px 150px)\] at (0.3) should be [shape(from top left, smooth by 100% 50% with 20px 50px from origin)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px)\] at (0.6) should be [shape(from top left, smooth to 100% 50% with 20px 150px)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [CSS Transitions with transition: all: property <clip-path> from [shape(from top left, smooth to 100% 50% with 20px 50px from start)\] to [shape(from top left, smooth to 100% 50% with 20px 150px from start)\] at (1) should be [shape(from top left, smooth to 100% 50% with 20px 150px from start)\]]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]