Index: Source/core/animation/LengthBoxStyleInterpolationTest.cpp |
diff --git a/Source/core/animation/LengthBoxStyleInterpolationTest.cpp b/Source/core/animation/LengthBoxStyleInterpolationTest.cpp |
index ca8101992a5b8c2a4dd8909cdf42a3b488267376..ad97c15798281451b19894cfdf984b572bc0fcff 100644 |
--- a/Source/core/animation/LengthBoxStyleInterpolationTest.cpp |
+++ b/Source/core/animation/LengthBoxStyleInterpolationTest.cpp |
@@ -7,7 +7,7 @@ |
#include "core/animation/LengthStyleInterpolation.h" |
#include "core/css/CSSPrimitiveValue.h" |
-#include "core/css/Rect.h" |
+#include "core/css/CSSQuadValue.h" |
#include "core/css/StylePropertySet.h" |
#include <gtest/gtest.h> |
@@ -31,10 +31,10 @@ protected: |
return interpolableValueToLengthBox(lengthBoxToInterpolableValue(*value).get(), *value, *value); |
} |
- static void testPrimitiveValue(RefPtrWillBeRawPtr<CSSValue> value, double left, double right, double top, double bottom, CSSPrimitiveValue::UnitType unitType) |
+ static void testQuadValue(RefPtrWillBeRawPtr<CSSValue> value, double left, double right, double top, double bottom, CSSPrimitiveValue::UnitType unitType) |
{ |
- EXPECT_TRUE(value->isPrimitiveValue()); |
- Rect* rect = toCSSPrimitiveValue(value.get())->getRectValue(); |
+ EXPECT_TRUE(value->isQuadValue()); |
+ RefPtrWillBeRawPtr<CSSQuadValue> rect = toCSSQuadValue(value.get()); |
EXPECT_EQ(rect->left()->getDoubleValue(), left); |
EXPECT_EQ(rect->right()->getDoubleValue(), right); |
@@ -50,73 +50,66 @@ protected: |
TEST_F(AnimationLengthBoxStyleInterpolationTest, ZeroLengthBox) |
{ |
- RefPtrWillBeRawPtr<Rect> rectPx = Rect::create(); |
- rectPx->setLeft(CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Pixels)); |
- rectPx->setRight(CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Pixels)); |
- rectPx->setTop(CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Pixels)); |
- rectPx->setBottom(CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Pixels)); |
- RefPtrWillBeRawPtr<CSSValue> value = roundTrip(CSSPrimitiveValue::create(rectPx.release())); |
- testPrimitiveValue(value, 0, 0, 0, 0, CSSPrimitiveValue::UnitType::Pixels); |
- |
- RefPtrWillBeRawPtr<Rect> rectEms = Rect::create(); |
- rectEms->setLeft(CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Ems)); |
- rectEms->setRight(CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Ems)); |
- rectEms->setTop(CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Ems)); |
- rectEms->setBottom(CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Ems)); |
- |
- value = roundTrip(CSSPrimitiveValue::create(rectEms.release())); |
- testPrimitiveValue(value, 0, 0, 0, 0, CSSPrimitiveValue::UnitType::Ems); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> left = CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Pixels); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> right = CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Pixels); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> top = CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Pixels); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> bottom = CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Pixels); |
+ RefPtrWillBeRawPtr<CSSValue> value = roundTrip(CSSQuadValue::create(top, right, bottom, left, CSSQuadValue::SerializeAsRect)); |
+ testQuadValue(value, 0, 0, 0, 0, CSSPrimitiveValue::UnitType::Pixels); |
+ |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> leftEms = CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Ems); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> rightEms = CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Ems); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> topEms = CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Ems); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> bottomEms = CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Ems); |
+ |
+ value = roundTrip(CSSQuadValue::create(topEms.release(), rightEms.release(), bottomEms.release(), leftEms.release(), CSSQuadValue::SerializeAsRect)); |
+ testQuadValue(value, 0, 0, 0, 0, CSSPrimitiveValue::UnitType::Ems); |
} |
TEST_F(AnimationLengthBoxStyleInterpolationTest, SingleUnitBox) |
{ |
- RefPtrWillBeRawPtr<Rect> rectPx = Rect::create(); |
- rectPx->setLeft(CSSPrimitiveValue::create(10, CSSPrimitiveValue::UnitType::Pixels)); |
- rectPx->setRight(CSSPrimitiveValue::create(10, CSSPrimitiveValue::UnitType::Pixels)); |
- rectPx->setTop(CSSPrimitiveValue::create(10, CSSPrimitiveValue::UnitType::Pixels)); |
- rectPx->setBottom(CSSPrimitiveValue::create(10, CSSPrimitiveValue::UnitType::Pixels)); |
- |
- RefPtrWillBeRawPtr<CSSValue> value = roundTrip(CSSPrimitiveValue::create(rectPx.release())); |
- testPrimitiveValue(value, 10, 10, 10, 10, CSSPrimitiveValue::UnitType::Pixels); |
- |
- RefPtrWillBeRawPtr<Rect> rectPer = Rect::create(); |
- rectPer->setLeft(CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage)); |
- rectPer->setRight(CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage)); |
- rectPer->setTop(CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage)); |
- rectPer->setBottom(CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage)); |
- |
- value = roundTrip(CSSPrimitiveValue::create(rectPer.release())); |
- testPrimitiveValue(value, 30, 30, 30, 30, CSSPrimitiveValue::UnitType::Percentage); |
- |
- RefPtrWillBeRawPtr<Rect> rectEms = Rect::create(); |
- rectEms->setLeft(CSSPrimitiveValue::create(-10, CSSPrimitiveValue::UnitType::Ems)); |
- rectEms->setRight(CSSPrimitiveValue::create(-10, CSSPrimitiveValue::UnitType::Ems)); |
- rectEms->setTop(CSSPrimitiveValue::create(-10, CSSPrimitiveValue::UnitType::Ems)); |
- rectEms->setBottom(CSSPrimitiveValue::create(-10, CSSPrimitiveValue::UnitType::Ems)); |
- |
- value = roundTrip(CSSPrimitiveValue::create(rectEms.release())); |
- testPrimitiveValue(value, -10, -10, -10, -10, CSSPrimitiveValue::UnitType::Ems); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> leftPx = CSSPrimitiveValue::create(10, CSSPrimitiveValue::UnitType::Pixels); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> rightPx = CSSPrimitiveValue::create(10, CSSPrimitiveValue::UnitType::Pixels); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> topPx = CSSPrimitiveValue::create(10, CSSPrimitiveValue::UnitType::Pixels); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> bottomPx = CSSPrimitiveValue::create(10, CSSPrimitiveValue::UnitType::Pixels); |
+ |
+ RefPtrWillBeRawPtr<CSSValue> value = roundTrip(CSSQuadValue::create(topPx.release(), rightPx.release(), bottomPx.release(), leftPx.release(), CSSQuadValue::SerializeAsRect)); |
+ testQuadValue(value, 10, 10, 10, 10, CSSPrimitiveValue::UnitType::Pixels); |
+ |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> leftPer = CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> rightPer = CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> topPer = CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> bottomPer = CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage); |
+ |
+ value = roundTrip(CSSQuadValue::create(topPer.release(), rightPer.release(), bottomPer.release(), leftPer.release(), CSSQuadValue::SerializeAsRect)); |
+ testQuadValue(value, 30, 30, 30, 30, CSSPrimitiveValue::UnitType::Percentage); |
+ |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> leftEms = CSSPrimitiveValue::create(-10, CSSPrimitiveValue::UnitType::Ems); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> rightEms = CSSPrimitiveValue::create(-10, CSSPrimitiveValue::UnitType::Ems); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> topEms = CSSPrimitiveValue::create(-10, CSSPrimitiveValue::UnitType::Ems); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> bottomEms = CSSPrimitiveValue::create(-10, CSSPrimitiveValue::UnitType::Ems); |
+ |
+ value = roundTrip(CSSQuadValue::create(topEms.release(), rightEms.release(), bottomEms.release(), leftEms.release(), CSSQuadValue::SerializeAsRect)); |
+ testQuadValue(value, -10, -10, -10, -10, CSSPrimitiveValue::UnitType::Ems); |
} |
TEST_F(AnimationLengthBoxStyleInterpolationTest, MultipleValues) |
{ |
- RefPtrWillBeRawPtr<Rect> rectPx = Rect::create(); |
- rectPx->setLeft(CSSPrimitiveValue::create(10, CSSPrimitiveValue::UnitType::Pixels)); |
- rectPx->setRight(CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Pixels)); |
- rectPx->setTop(CSSPrimitiveValue::create(20, CSSPrimitiveValue::UnitType::Pixels)); |
- rectPx->setBottom(CSSPrimitiveValue::create(40, CSSPrimitiveValue::UnitType::Pixels)); |
- |
- RefPtrWillBeRawPtr<CSSValue> value = roundTrip(CSSPrimitiveValue::create(rectPx.release())); |
- testPrimitiveValue(value, 10, 0, 20, 40, CSSPrimitiveValue::UnitType::Pixels); |
- |
- RefPtrWillBeRawPtr<Rect> rectPer = Rect::create(); |
- rectPer->setLeft(CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage)); |
- rectPer->setRight(CSSPrimitiveValue::create(-30, CSSPrimitiveValue::UnitType::Percentage)); |
- rectPer->setTop(CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage)); |
- rectPer->setBottom(CSSPrimitiveValue::create(-30, CSSPrimitiveValue::UnitType::Percentage)); |
- |
- value = roundTrip(CSSPrimitiveValue::create(rectPer.release())); |
- testPrimitiveValue(value, 30, -30, 30, -30, CSSPrimitiveValue::UnitType::Percentage); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> leftPx = CSSPrimitiveValue::create(10, CSSPrimitiveValue::UnitType::Pixels); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> rightPx = CSSPrimitiveValue::create(0, CSSPrimitiveValue::UnitType::Pixels); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> topPx = CSSPrimitiveValue::create(20, CSSPrimitiveValue::UnitType::Pixels); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> bottomPx = CSSPrimitiveValue::create(40, CSSPrimitiveValue::UnitType::Pixels); |
+ |
+ RefPtrWillBeRawPtr<CSSValue> value = roundTrip(CSSQuadValue::create(topPx.release(), rightPx.release(), bottomPx.release(), leftPx.release(), CSSQuadValue::SerializeAsRect)); |
+ testQuadValue(value, 10, 0, 20, 40, CSSPrimitiveValue::UnitType::Pixels); |
+ |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> leftPer = CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> rightPer = CSSPrimitiveValue::create(-30, CSSPrimitiveValue::UnitType::Percentage); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> topPer = CSSPrimitiveValue::create(30, CSSPrimitiveValue::UnitType::Percentage); |
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> bottomPer = CSSPrimitiveValue::create(-30, CSSPrimitiveValue::UnitType::Percentage); |
+ |
+ value = roundTrip(CSSQuadValue::create(topPer.release(), rightPer.release(), bottomPer.release(), leftPer.release(), CSSQuadValue::SerializeAsRect)); |
+ testQuadValue(value, 30, -30, 30, -30, CSSPrimitiveValue::UnitType::Percentage); |
} |
} |