| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "config.h" | 5 #include "config.h" |
| 6 #include "core/animation/ShadowStyleInterpolation.h" | 6 #include "core/animation/ShadowStyleInterpolation.h" |
| 7 | 7 |
| 8 #include "core/css/CSSColorValue.h" | 8 #include "core/css/CSSColorValue.h" |
| 9 #include "core/css/CSSPrimitiveValue.h" | 9 #include "core/css/CSSPrimitiveValue.h" |
| 10 #include "core/css/CSSShadowValue.h" | 10 #include "core/css/CSSShadowValue.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 { | 29 { |
| 30 return ShadowStyleInterpolation::interpolableValueToShadow(*value, style
Flag); | 30 return ShadowStyleInterpolation::interpolableValueToShadow(*value, style
Flag); |
| 31 } | 31 } |
| 32 | 32 |
| 33 static PassRefPtrWillBeRawPtr<CSSValue> roundTrip(PassRefPtrWillBeRawPtr<CSS
Value> value, bool styleFlag) | 33 static PassRefPtrWillBeRawPtr<CSSValue> roundTrip(PassRefPtrWillBeRawPtr<CSS
Value> value, bool styleFlag) |
| 34 { | 34 { |
| 35 return interpolableValueToShadow(shadowToInterpolableValue(*value, style
Flag).get(), styleFlag); | 35 return interpolableValueToShadow(shadowToInterpolableValue(*value, style
Flag).get(), styleFlag); |
| 36 } | 36 } |
| 37 | 37 |
| 38 static void testPrimitiveValues(RefPtrWillBeRawPtr<CSSValue> value, double x
Expected, double yExpected, double blurExpected, double spreadExpected, | 38 static void testPrimitiveValues(RefPtrWillBeRawPtr<CSSValue> value, double x
Expected, double yExpected, double blurExpected, double spreadExpected, |
| 39 RGBA32 colorExpected, RefPtrWillBeRawPtr<CSSPrimitiveValue> idExpected,
CSSPrimitiveValue::UnitType unitType) | 39 Color colorExpected, RefPtrWillBeRawPtr<CSSPrimitiveValue> idExpected, C
SSPrimitiveValue::UnitType unitType) |
| 40 { | 40 { |
| 41 EXPECT_TRUE(value->isShadowValue()); | 41 EXPECT_TRUE(value->isShadowValue()); |
| 42 | 42 |
| 43 CSSShadowValue& shadowValue = toCSSShadowValue(*value); | 43 CSSShadowValue& shadowValue = toCSSShadowValue(*value); |
| 44 | 44 |
| 45 EXPECT_EQ(xExpected, shadowValue.x->getDoubleValue()); | 45 EXPECT_EQ(xExpected, shadowValue.x->getDoubleValue()); |
| 46 EXPECT_EQ(yExpected, shadowValue.y->getDoubleValue()); | 46 EXPECT_EQ(yExpected, shadowValue.y->getDoubleValue()); |
| 47 EXPECT_EQ(blurExpected, shadowValue.blur->getDoubleValue()); | 47 EXPECT_EQ(blurExpected, shadowValue.blur->getDoubleValue()); |
| 48 EXPECT_EQ(spreadExpected, shadowValue.spread->getDoubleValue()); | 48 EXPECT_EQ(spreadExpected, shadowValue.spread->getDoubleValue()); |
| 49 EXPECT_EQ(colorExpected, toCSSColorValue(*shadowValue.color).value()); | 49 EXPECT_EQ(colorExpected, toCSSColorValue(*shadowValue.color).value()); |
| 50 | 50 |
| 51 EXPECT_EQ(idExpected->getValueID(), shadowValue.style->getValueID()); | 51 EXPECT_EQ(idExpected->getValueID(), shadowValue.style->getValueID()); |
| 52 | 52 |
| 53 EXPECT_EQ(shadowValue.x->typeWithCalcResolved(), unitType); | 53 EXPECT_EQ(shadowValue.x->typeWithCalcResolved(), unitType); |
| 54 EXPECT_EQ(shadowValue.y->typeWithCalcResolved(), unitType); | 54 EXPECT_EQ(shadowValue.y->typeWithCalcResolved(), unitType); |
| 55 EXPECT_EQ(shadowValue.blur->typeWithCalcResolved(), unitType); | 55 EXPECT_EQ(shadowValue.blur->typeWithCalcResolved(), unitType); |
| 56 EXPECT_EQ(shadowValue.spread->typeWithCalcResolved(), unitType); | 56 EXPECT_EQ(shadowValue.spread->typeWithCalcResolved(), unitType); |
| 57 } | 57 } |
| 58 | 58 |
| 59 }; | 59 }; |
| 60 | 60 |
| 61 TEST_F(AnimationShadowStyleInterpolationTest, ZeroTest) | 61 TEST_F(AnimationShadowStyleInterpolationTest, ZeroTest) |
| 62 { | 62 { |
| 63 RefPtrWillBeRawPtr<CSSColorValue> color = CSSColorValue::create(makeRGBA(0,
0, 0, 0)); | 63 RefPtrWillBeRawPtr<CSSColorValue> color = CSSColorValue::create(Color(0, 0,
0, 0)); |
| 64 RefPtrWillBeRawPtr<CSSPrimitiveValue> x = CSSPrimitiveValue::create(0, CSSPr
imitiveValue::UnitType::Pixels); | 64 RefPtrWillBeRawPtr<CSSPrimitiveValue> x = CSSPrimitiveValue::create(0, CSSPr
imitiveValue::UnitType::Pixels); |
| 65 RefPtrWillBeRawPtr<CSSPrimitiveValue> y = CSSPrimitiveValue::create(0, CSSPr
imitiveValue::UnitType::Pixels); | 65 RefPtrWillBeRawPtr<CSSPrimitiveValue> y = CSSPrimitiveValue::create(0, CSSPr
imitiveValue::UnitType::Pixels); |
| 66 RefPtrWillBeRawPtr<CSSPrimitiveValue> blur = CSSPrimitiveValue::create(0, CS
SPrimitiveValue::UnitType::Pixels); | 66 RefPtrWillBeRawPtr<CSSPrimitiveValue> blur = CSSPrimitiveValue::create(0, CS
SPrimitiveValue::UnitType::Pixels); |
| 67 RefPtrWillBeRawPtr<CSSPrimitiveValue> spread = CSSPrimitiveValue::create(0,
CSSPrimitiveValue::UnitType::Pixels); | 67 RefPtrWillBeRawPtr<CSSPrimitiveValue> spread = CSSPrimitiveValue::create(0,
CSSPrimitiveValue::UnitType::Pixels); |
| 68 | 68 |
| 69 RefPtrWillBeRawPtr<CSSShadowValue> shadowValue = CSSShadowValue::create(x, y
, blur, spread, CSSPrimitiveValue::createIdentifier(CSSValueNone), color); | 69 RefPtrWillBeRawPtr<CSSShadowValue> shadowValue = CSSShadowValue::create(x, y
, blur, spread, CSSPrimitiveValue::createIdentifier(CSSValueNone), color); |
| 70 | 70 |
| 71 RefPtrWillBeRawPtr<CSSValue> value = roundTrip(shadowValue.release(), false)
; | 71 RefPtrWillBeRawPtr<CSSValue> value = roundTrip(shadowValue.release(), false)
; |
| 72 | 72 |
| 73 testPrimitiveValues(value, 0, 0, 0, 0, makeRGBA(0, 0, 0, 0), CSSPrimitiveVal
ue::createIdentifier(CSSValueNone), CSSPrimitiveValue::UnitType::Pixels); | 73 testPrimitiveValues(value, 0, 0, 0, 0, Color(0, 0, 0, 0), CSSPrimitiveValue:
:createIdentifier(CSSValueNone), CSSPrimitiveValue::UnitType::Pixels); |
| 74 } | 74 } |
| 75 | 75 |
| 76 TEST_F(AnimationShadowStyleInterpolationTest, MultipleValueNonPixelTest) | 76 TEST_F(AnimationShadowStyleInterpolationTest, MultipleValueNonPixelTest) |
| 77 { | 77 { |
| 78 RefPtrWillBeRawPtr<CSSColorValue> color = CSSColorValue::create(makeRGBA(112
, 123, 175, 255)); | 78 RefPtrWillBeRawPtr<CSSColorValue> color = CSSColorValue::create(Color(112, 1
23, 175, 255)); |
| 79 RefPtrWillBeRawPtr<CSSPrimitiveValue> x = CSSPrimitiveValue::create(10, CSSP
rimitiveValue::UnitType::Ems); | 79 RefPtrWillBeRawPtr<CSSPrimitiveValue> x = CSSPrimitiveValue::create(10, CSSP
rimitiveValue::UnitType::Ems); |
| 80 RefPtrWillBeRawPtr<CSSPrimitiveValue> y = CSSPrimitiveValue::create(20, CSSP
rimitiveValue::UnitType::Ems); | 80 RefPtrWillBeRawPtr<CSSPrimitiveValue> y = CSSPrimitiveValue::create(20, CSSP
rimitiveValue::UnitType::Ems); |
| 81 RefPtrWillBeRawPtr<CSSPrimitiveValue> blur = CSSPrimitiveValue::create(30, C
SSPrimitiveValue::UnitType::Ems); | 81 RefPtrWillBeRawPtr<CSSPrimitiveValue> blur = CSSPrimitiveValue::create(30, C
SSPrimitiveValue::UnitType::Ems); |
| 82 RefPtrWillBeRawPtr<CSSPrimitiveValue> spread = CSSPrimitiveValue::create(40,
CSSPrimitiveValue::UnitType::Ems); | 82 RefPtrWillBeRawPtr<CSSPrimitiveValue> spread = CSSPrimitiveValue::create(40,
CSSPrimitiveValue::UnitType::Ems); |
| 83 | 83 |
| 84 RefPtrWillBeRawPtr<CSSShadowValue> shadowValue = CSSShadowValue::create(x, y
, blur, spread, CSSPrimitiveValue::createIdentifier(CSSValueNone), color); | 84 RefPtrWillBeRawPtr<CSSShadowValue> shadowValue = CSSShadowValue::create(x, y
, blur, spread, CSSPrimitiveValue::createIdentifier(CSSValueNone), color); |
| 85 | 85 |
| 86 RefPtrWillBeRawPtr<CSSValue> value = roundTrip(shadowValue.release(), false)
; | 86 RefPtrWillBeRawPtr<CSSValue> value = roundTrip(shadowValue.release(), false)
; |
| 87 | 87 |
| 88 testPrimitiveValues(value, 10, 20, 30, 40, makeRGBA(112, 123, 175, 255), CSS
PrimitiveValue::createIdentifier(CSSValueNone), CSSPrimitiveValue::UnitType::Ems
); | 88 testPrimitiveValues(value, 10, 20, 30, 40, Color(112, 123, 175, 255), CSSPri
mitiveValue::createIdentifier(CSSValueNone), CSSPrimitiveValue::UnitType::Ems); |
| 89 } | 89 } |
| 90 | 90 |
| 91 TEST_F(AnimationShadowStyleInterpolationTest, InsetShadowTest) | 91 TEST_F(AnimationShadowStyleInterpolationTest, InsetShadowTest) |
| 92 { | 92 { |
| 93 RefPtrWillBeRawPtr<CSSColorValue> color = CSSColorValue::create(makeRGBA(54,
48, 214, 64)); | 93 RefPtrWillBeRawPtr<CSSColorValue> color = CSSColorValue::create(Color(54, 48
, 214, 64)); |
| 94 RefPtrWillBeRawPtr<CSSPrimitiveValue> x = CSSPrimitiveValue::create(10, CSSP
rimitiveValue::UnitType::Pixels); | 94 RefPtrWillBeRawPtr<CSSPrimitiveValue> x = CSSPrimitiveValue::create(10, CSSP
rimitiveValue::UnitType::Pixels); |
| 95 RefPtrWillBeRawPtr<CSSPrimitiveValue> y = CSSPrimitiveValue::create(20, CSSP
rimitiveValue::UnitType::Pixels); | 95 RefPtrWillBeRawPtr<CSSPrimitiveValue> y = CSSPrimitiveValue::create(20, CSSP
rimitiveValue::UnitType::Pixels); |
| 96 RefPtrWillBeRawPtr<CSSPrimitiveValue> blur = CSSPrimitiveValue::create(30, C
SSPrimitiveValue::UnitType::Pixels); | 96 RefPtrWillBeRawPtr<CSSPrimitiveValue> blur = CSSPrimitiveValue::create(30, C
SSPrimitiveValue::UnitType::Pixels); |
| 97 RefPtrWillBeRawPtr<CSSPrimitiveValue> spread = CSSPrimitiveValue::create(40,
CSSPrimitiveValue::UnitType::Pixels); | 97 RefPtrWillBeRawPtr<CSSPrimitiveValue> spread = CSSPrimitiveValue::create(40,
CSSPrimitiveValue::UnitType::Pixels); |
| 98 | 98 |
| 99 RefPtrWillBeRawPtr<CSSShadowValue> shadowValue = CSSShadowValue::create(x, y
, blur, spread, CSSPrimitiveValue::createIdentifier(CSSValueInset), color); | 99 RefPtrWillBeRawPtr<CSSShadowValue> shadowValue = CSSShadowValue::create(x, y
, blur, spread, CSSPrimitiveValue::createIdentifier(CSSValueInset), color); |
| 100 | 100 |
| 101 RefPtrWillBeRawPtr<CSSValue> value = roundTrip(shadowValue.release(), true); | 101 RefPtrWillBeRawPtr<CSSValue> value = roundTrip(shadowValue.release(), true); |
| 102 | 102 |
| 103 testPrimitiveValues(value, 10, 20, 30, 40, makeRGBA(54, 48, 214, 64), CSSPri
mitiveValue::createIdentifier(CSSValueInset), CSSPrimitiveValue::UnitType::Pixel
s); | 103 testPrimitiveValues(value, 10, 20, 30, 40, Color(54, 48, 214, 64), CSSPrimit
iveValue::createIdentifier(CSSValueInset), CSSPrimitiveValue::UnitType::Pixels); |
| 104 } | 104 } |
| 105 | 105 |
| 106 } | 106 } |
| OLD | NEW |