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 |