OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013, Google Inc. All rights reserved. | 2 * Copyright (c) 2013, Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 28 matching lines...) Expand all Loading... |
39 #include "core/rendering/style/RenderStyle.h" | 39 #include "core/rendering/style/RenderStyle.h" |
40 #include "core/rendering/style/StyleInheritedData.h" | 40 #include "core/rendering/style/StyleInheritedData.h" |
41 #include "wtf/MathExtras.h" | 41 #include "wtf/MathExtras.h" |
42 | 42 |
43 #include <gtest/gtest.h> | 43 #include <gtest/gtest.h> |
44 | 44 |
45 #define EXPECT_ROUNDTRIP(a, f) EXPECT_REFV_EQ(a, f(a.get())) | 45 #define EXPECT_ROUNDTRIP(a, f) EXPECT_REFV_EQ(a, f(a.get())) |
46 | 46 |
47 namespace WebCore { | 47 namespace WebCore { |
48 | 48 |
49 class AnimatableLengthTest : public ::testing::Test { | 49 class CoreAnimationAnimatableLengthTest : public ::testing::Test { |
50 protected: | 50 protected: |
51 virtual void SetUp() | 51 virtual void SetUp() |
52 { | 52 { |
53 style = RenderStyle::createDefaultStyle(); | 53 style = RenderStyle::createDefaultStyle(); |
54 } | 54 } |
55 | 55 |
56 PassRefPtr<AnimatableLength> create(double value, CSSPrimitiveValue::UnitTyp
es type) | 56 PassRefPtr<AnimatableLength> create(double value, CSSPrimitiveValue::UnitTyp
es type) |
57 { | 57 { |
58 return AnimatableLength::create(CSSPrimitiveValue::create(value, type).g
et()); | 58 return AnimatableLength::create(CSSPrimitiveValue::create(value, type).g
et()); |
59 } | 59 } |
(...skipping 23 matching lines...) Expand all Loading... |
83 } | 83 } |
84 | 84 |
85 bool isUnitlessZero(PassRefPtr<AnimatableLength> a) | 85 bool isUnitlessZero(PassRefPtr<AnimatableLength> a) |
86 { | 86 { |
87 return a->isUnitlessZero(); | 87 return a->isUnitlessZero(); |
88 } | 88 } |
89 | 89 |
90 RefPtr<RenderStyle> style; | 90 RefPtr<RenderStyle> style; |
91 }; | 91 }; |
92 | 92 |
93 TEST_F(AnimatableLengthTest, CanCreateFrom) | 93 TEST_F(CoreAnimationAnimatableLengthTest, CanCreateFrom) |
94 { | 94 { |
95 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_PX).get())); | 95 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_PX).get())); |
96 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_CM).get())); | 96 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_CM).get())); |
97 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_MM).get())); | 97 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_MM).get())); |
98 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_IN).get())); | 98 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_IN).get())); |
99 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_PT).get())); | 99 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_PT).get())); |
100 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_PC).get())); | 100 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_PC).get())); |
101 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_EMS).get())); | 101 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_EMS).get())); |
102 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_EXS).get())); | 102 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_EXS).get())); |
103 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_REMS).get())); | 103 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_REMS).get())); |
104 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_PERCENTAGE).get())); | 104 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_PERCENTAGE).get())); |
105 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_VW).get())); | 105 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_VW).get())); |
106 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_VH).get())); | 106 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_VH).get())); |
107 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_VMIN).get())); | 107 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_VMIN).get())); |
108 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_VMAX).get())); | 108 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(5, CSS
PrimitiveValue::CSS_VMAX).get())); |
109 | 109 |
110 EXPECT_TRUE(AnimatableLength::canCreateFrom(createCalc(3, CSSPrimitiveValue:
:CSS_PX, 5, CSSPrimitiveValue::CSS_CM).get())); | 110 EXPECT_TRUE(AnimatableLength::canCreateFrom(createCalc(3, CSSPrimitiveValue:
:CSS_PX, 5, CSSPrimitiveValue::CSS_CM).get())); |
111 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(create
Calc(3, CSSPrimitiveValue::CSS_PX, 5, CSSPrimitiveValue::CSS_CM)).get())); | 111 EXPECT_TRUE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create(create
Calc(3, CSSPrimitiveValue::CSS_PX, 5, CSSPrimitiveValue::CSS_CM)).get())); |
112 | 112 |
113 EXPECT_FALSE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create("NaN"
, CSSPrimitiveValue::CSS_STRING).get())); | 113 EXPECT_FALSE(AnimatableLength::canCreateFrom(CSSPrimitiveValue::create("NaN"
, CSSPrimitiveValue::CSS_STRING).get())); |
114 } | 114 } |
115 | 115 |
116 TEST_F(AnimatableLengthTest, Create) | 116 TEST_F(CoreAnimationAnimatableLengthTest, Create) |
117 { | 117 { |
118 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_PX).get())); | 118 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_PX).get())); |
119 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_CM).get())); | 119 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_CM).get())); |
120 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_MM).get())); | 120 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_MM).get())); |
121 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_IN).get())); | 121 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_IN).get())); |
122 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_PT).get())); | 122 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_PT).get())); |
123 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_PC).get())); | 123 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_PC).get())); |
124 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_EMS).get())); | 124 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_EMS).get())); |
125 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_EXS).get())); | 125 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_EXS).get())); |
126 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_REMS).get()))
; | 126 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_REMS).get()))
; |
127 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_PERCENTAGE).g
et())); | 127 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_PERCENTAGE).g
et())); |
128 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_VW).get())); | 128 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_VW).get())); |
129 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_VH).get())); | 129 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_VH).get())); |
130 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_VMIN).get()))
; | 130 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_VMIN).get()))
; |
131 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_VMAX).get()))
; | 131 EXPECT_TRUE(static_cast<bool>(create(5, CSSPrimitiveValue::CSS_VMAX).get()))
; |
132 | 132 |
133 EXPECT_TRUE(static_cast<bool>( | 133 EXPECT_TRUE(static_cast<bool>( |
134 AnimatableLength::create(createCalc(3, CSSPrimitiveValue::CSS_PX, 5, CSS
PrimitiveValue::CSS_CM).get()).get() | 134 AnimatableLength::create(createCalc(3, CSSPrimitiveValue::CSS_PX, 5, CSS
PrimitiveValue::CSS_CM).get()).get() |
135 )); | 135 )); |
136 EXPECT_TRUE(static_cast<bool>( | 136 EXPECT_TRUE(static_cast<bool>( |
137 AnimatableLength::create(CSSPrimitiveValue::create(createCalc(3, CSSPrim
itiveValue::CSS_PX, 5, CSSPrimitiveValue::CSS_CM)).get()).get() | 137 AnimatableLength::create(CSSPrimitiveValue::create(createCalc(3, CSSPrim
itiveValue::CSS_PX, 5, CSSPrimitiveValue::CSS_CM)).get()).get() |
138 )); | 138 )); |
139 } | 139 } |
140 | 140 |
141 | 141 |
142 TEST_F(AnimatableLengthTest, ToCSSValue) | 142 TEST_F(CoreAnimationAnimatableLengthTest, ToCSSValue) |
143 { | 143 { |
144 | 144 |
145 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_PX), t
oCSSValue); | 145 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_PX), t
oCSSValue); |
146 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_CM), t
oCSSValue); | 146 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_CM), t
oCSSValue); |
147 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_MM), t
oCSSValue); | 147 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_MM), t
oCSSValue); |
148 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_IN), t
oCSSValue); | 148 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_IN), t
oCSSValue); |
149 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_PT), t
oCSSValue); | 149 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_PT), t
oCSSValue); |
150 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_PC), t
oCSSValue); | 150 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_PC), t
oCSSValue); |
151 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_EMS),
toCSSValue); | 151 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_EMS),
toCSSValue); |
152 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_EXS),
toCSSValue); | 152 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_EXS),
toCSSValue); |
153 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_REMS),
toCSSValue); | 153 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_REMS),
toCSSValue); |
154 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_PERCEN
TAGE), toCSSValue); | 154 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_PERCEN
TAGE), toCSSValue); |
155 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_VW), t
oCSSValue); | 155 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_VW), t
oCSSValue); |
156 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_VH), t
oCSSValue); | 156 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_VH), t
oCSSValue); |
157 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_VMIN),
toCSSValue); | 157 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_VMIN),
toCSSValue); |
158 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_VMAX),
toCSSValue); | 158 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(-5, CSSPrimitiveValue::CSS_VMAX),
toCSSValue); |
159 | 159 |
160 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(createCalc(3, CSSPrimitiveValue::
CSS_PX, 5, CSSPrimitiveValue::CSS_IN)), toCSSValue); | 160 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(createCalc(3, CSSPrimitiveValue::
CSS_PX, 5, CSSPrimitiveValue::CSS_IN)), toCSSValue); |
161 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(createCalc(3, CSSPrimitiveValue::
CSS_PX, 5, CSSPrimitiveValue::CSS_IN)), toCSSValue); | 161 EXPECT_ROUNDTRIP(CSSPrimitiveValue::create(createCalc(3, CSSPrimitiveValue::
CSS_PX, 5, CSSPrimitiveValue::CSS_IN)), toCSSValue); |
162 } | 162 } |
163 | 163 |
164 | 164 |
165 TEST_F(AnimatableLengthTest, ToLength) | 165 TEST_F(CoreAnimationAnimatableLengthTest, ToLength) |
166 { | 166 { |
167 EXPECT_EQ(Length(-5, WebCore::Fixed), create(-5, CSSPrimitiveValue::CSS_PX)-
>toLength(style.get(), style.get(), 1)); | 167 EXPECT_EQ(Length(-5, WebCore::Fixed), create(-5, CSSPrimitiveValue::CSS_PX)-
>toLength(style.get(), style.get(), 1)); |
168 EXPECT_EQ(Length(-15, WebCore::Fixed), create(-5, CSSPrimitiveValue::CSS_PX)
->toLength(style.get(), style.get(), 3)); | 168 EXPECT_EQ(Length(-15, WebCore::Fixed), create(-5, CSSPrimitiveValue::CSS_PX)
->toLength(style.get(), style.get(), 3)); |
169 EXPECT_EQ(Length(0, WebCore::Fixed), create(-5, CSSPrimitiveValue::CSS_PX)->
toLength(style.get(), style.get(), 1, NonNegativeValues)); | 169 EXPECT_EQ(Length(0, WebCore::Fixed), create(-5, CSSPrimitiveValue::CSS_PX)->
toLength(style.get(), style.get(), 1, NonNegativeValues)); |
170 EXPECT_EQ(Length(0, WebCore::Fixed), create(-5, CSSPrimitiveValue::CSS_PX)->
toLength(style.get(), style.get(), 3, NonNegativeValues)); | 170 EXPECT_EQ(Length(0, WebCore::Fixed), create(-5, CSSPrimitiveValue::CSS_PX)->
toLength(style.get(), style.get(), 3, NonNegativeValues)); |
171 | 171 |
172 EXPECT_EQ(Length(-5, Percent), create(-5, CSSPrimitiveValue::CSS_PERCENTAGE)
->toLength(style.get(), style.get(), 1)); | 172 EXPECT_EQ(Length(-5, Percent), create(-5, CSSPrimitiveValue::CSS_PERCENTAGE)
->toLength(style.get(), style.get(), 1)); |
173 EXPECT_EQ(Length(-5, Percent), create(-5, CSSPrimitiveValue::CSS_PERCENTAGE)
->toLength(style.get(), style.get(), 3)); | 173 EXPECT_EQ(Length(-5, Percent), create(-5, CSSPrimitiveValue::CSS_PERCENTAGE)
->toLength(style.get(), style.get(), 3)); |
174 EXPECT_EQ(Length(0, Percent), create(-5, CSSPrimitiveValue::CSS_PERCENTAGE)-
>toLength(style.get(), style.get(), 1, NonNegativeValues)); | 174 EXPECT_EQ(Length(0, Percent), create(-5, CSSPrimitiveValue::CSS_PERCENTAGE)-
>toLength(style.get(), style.get(), 1, NonNegativeValues)); |
175 EXPECT_EQ(Length(0, Percent), create(-5, CSSPrimitiveValue::CSS_PERCENTAGE)-
>toLength(style.get(), style.get(), 3, NonNegativeValues)); | 175 EXPECT_EQ(Length(0, Percent), create(-5, CSSPrimitiveValue::CSS_PERCENTAGE)-
>toLength(style.get(), style.get(), 3, NonNegativeValues)); |
(...skipping 25 matching lines...) Expand all Loading... |
201 EXPECT_EQ( | 201 EXPECT_EQ( |
202 Length(CalculationValue::create( | 202 Length(CalculationValue::create( |
203 adoptPtr(new CalcExpressionBinaryOperation( | 203 adoptPtr(new CalcExpressionBinaryOperation( |
204 adoptPtr(new CalcExpressionLength(Length(-15, WebCore::Fixed))), | 204 adoptPtr(new CalcExpressionLength(Length(-15, WebCore::Fixed))), |
205 adoptPtr(new CalcExpressionLength(Length(-5, Percent))), | 205 adoptPtr(new CalcExpressionLength(Length(-5, Percent))), |
206 CalcAdd)), | 206 CalcAdd)), |
207 ValueRangeNonNegative)), | 207 ValueRangeNonNegative)), |
208 create(-5, CSSPrimitiveValue::CSS_PX, -5, CSSPrimitiveValue::CSS_PERCENT
AGE)->toLength(style.get(), style.get(), 3, NonNegativeValues)); | 208 create(-5, CSSPrimitiveValue::CSS_PX, -5, CSSPrimitiveValue::CSS_PERCENT
AGE)->toLength(style.get(), style.get(), 3, NonNegativeValues)); |
209 } | 209 } |
210 | 210 |
211 TEST_F(AnimatableLengthTest, Interpolate) | 211 TEST_F(CoreAnimationAnimatableLengthTest, Interpolate) |
212 { | 212 { |
213 RefPtr<AnimatableLength> from10px = create(10, CSSPrimitiveValue::CSS_PX); | 213 RefPtr<AnimatableLength> from10px = create(10, CSSPrimitiveValue::CSS_PX); |
214 RefPtr<AnimatableLength> to20pxAsInches = create(20.0 / 96, CSSPrimitiveValu
e::CSS_IN); | 214 RefPtr<AnimatableLength> to20pxAsInches = create(20.0 / 96, CSSPrimitiveValu
e::CSS_IN); |
215 | 215 |
216 EXPECT_REFV_EQ(create(5, CSSPrimitiveValue::CSS_PX), | 216 EXPECT_REFV_EQ(create(5, CSSPrimitiveValue::CSS_PX), |
217 AnimatableValue::interpolate(from10px.get(), to20pxAsInches.get(), -0.5)
); | 217 AnimatableValue::interpolate(from10px.get(), to20pxAsInches.get(), -0.5)
); |
218 | 218 |
219 EXPECT_REFV_EQ(create(10, CSSPrimitiveValue::CSS_PX), | 219 EXPECT_REFV_EQ(create(10, CSSPrimitiveValue::CSS_PX), |
220 AnimatableValue::interpolate(from10px.get(), to20pxAsInches.get(), 0)); | 220 AnimatableValue::interpolate(from10px.get(), to20pxAsInches.get(), 0)); |
221 EXPECT_REFV_EQ(create(14, CSSPrimitiveValue::CSS_PX), | 221 EXPECT_REFV_EQ(create(14, CSSPrimitiveValue::CSS_PX), |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 AnimatableValue::interpolate(from0percent.get(), to20rem.get(), 0)); | 269 AnimatableValue::interpolate(from0percent.get(), to20rem.get(), 0)); |
270 EXPECT_REFV_EQ(create(0, CSSPrimitiveValue::CSS_PERCENTAGE, 10, CSSPrimitive
Value::CSS_REMS), | 270 EXPECT_REFV_EQ(create(0, CSSPrimitiveValue::CSS_PERCENTAGE, 10, CSSPrimitive
Value::CSS_REMS), |
271 AnimatableValue::interpolate(from0percent.get(), to20rem.get(), 0.5)); | 271 AnimatableValue::interpolate(from0percent.get(), to20rem.get(), 0.5)); |
272 // At t=1, interpolate always returns the "to" value. | 272 // At t=1, interpolate always returns the "to" value. |
273 EXPECT_REFV_EQ(create(20, CSSPrimitiveValue::CSS_REMS), | 273 EXPECT_REFV_EQ(create(20, CSSPrimitiveValue::CSS_REMS), |
274 AnimatableValue::interpolate(from0percent.get(), to20rem.get(), 1.0)); | 274 AnimatableValue::interpolate(from0percent.get(), to20rem.get(), 1.0)); |
275 EXPECT_REFV_EQ(create(0, CSSPrimitiveValue::CSS_PERCENTAGE, 30, CSSPrimitive
Value::CSS_REMS), | 275 EXPECT_REFV_EQ(create(0, CSSPrimitiveValue::CSS_PERCENTAGE, 30, CSSPrimitive
Value::CSS_REMS), |
276 AnimatableValue::interpolate(from0percent.get(), to20rem.get(), 1.5)); | 276 AnimatableValue::interpolate(from0percent.get(), to20rem.get(), 1.5)); |
277 } | 277 } |
278 | 278 |
279 TEST_F(AnimatableLengthTest, Add) | 279 TEST_F(CoreAnimationAnimatableLengthTest, Add) |
280 { | 280 { |
281 EXPECT_REFV_EQ(create(10, CSSPrimitiveValue::CSS_PX), | 281 EXPECT_REFV_EQ(create(10, CSSPrimitiveValue::CSS_PX), |
282 AnimatableValue::add(create(10, CSSPrimitiveValue::CSS_PX).get(), create
(0, CSSPrimitiveValue::CSS_MM).get())); | 282 AnimatableValue::add(create(10, CSSPrimitiveValue::CSS_PX).get(), create
(0, CSSPrimitiveValue::CSS_MM).get())); |
283 EXPECT_REFV_EQ(create(100, CSSPrimitiveValue::CSS_PX), | 283 EXPECT_REFV_EQ(create(100, CSSPrimitiveValue::CSS_PX), |
284 AnimatableValue::add(create(4, CSSPrimitiveValue::CSS_PX).get(), create(
1, CSSPrimitiveValue::CSS_IN).get())); | 284 AnimatableValue::add(create(4, CSSPrimitiveValue::CSS_PX).get(), create(
1, CSSPrimitiveValue::CSS_IN).get())); |
285 EXPECT_REFV_EQ( | 285 EXPECT_REFV_EQ( |
286 create(10, CSSPrimitiveValue::CSS_EMS, 20, CSSPrimitiveValue::CSS_REMS), | 286 create(10, CSSPrimitiveValue::CSS_EMS, 20, CSSPrimitiveValue::CSS_REMS), |
287 AnimatableValue::add(create(10, CSSPrimitiveValue::CSS_EMS).get(), creat
e(20, CSSPrimitiveValue::CSS_REMS).get())); | 287 AnimatableValue::add(create(10, CSSPrimitiveValue::CSS_EMS).get(), creat
e(20, CSSPrimitiveValue::CSS_REMS).get())); |
288 EXPECT_REFV_EQ( | 288 EXPECT_REFV_EQ( |
289 create(10, CSSPrimitiveValue::CSS_EMS), | 289 create(10, CSSPrimitiveValue::CSS_EMS), |
290 AnimatableValue::add(create(10, CSSPrimitiveValue::CSS_EMS).get(), creat
e(0, CSSPrimitiveValue::CSS_REMS).get())); | 290 AnimatableValue::add(create(10, CSSPrimitiveValue::CSS_EMS).get(), creat
e(0, CSSPrimitiveValue::CSS_REMS).get())); |
291 EXPECT_REFV_EQ( | 291 EXPECT_REFV_EQ( |
292 create(20, CSSPrimitiveValue::CSS_REMS), | 292 create(20, CSSPrimitiveValue::CSS_REMS), |
293 AnimatableValue::add(create(0, CSSPrimitiveValue::CSS_EMS).get(), create
(20, CSSPrimitiveValue::CSS_REMS).get())); | 293 AnimatableValue::add(create(0, CSSPrimitiveValue::CSS_EMS).get(), create
(20, CSSPrimitiveValue::CSS_REMS).get())); |
294 | 294 |
295 // Check you actually get the reference back for zero optimization | 295 // Check you actually get the reference back for zero optimization |
296 RefPtr<AnimatableLength> rems20 = create(20, CSSPrimitiveValue::CSS_REMS); | 296 RefPtr<AnimatableLength> rems20 = create(20, CSSPrimitiveValue::CSS_REMS); |
297 EXPECT_EQ(rems20.get(), AnimatableValue::add(create(0, CSSPrimitiveValue::CS
S_EMS).get(), rems20.get()).get()); | 297 EXPECT_EQ(rems20.get(), AnimatableValue::add(create(0, CSSPrimitiveValue::CS
S_EMS).get(), rems20.get()).get()); |
298 EXPECT_EQ(rems20.get(), AnimatableValue::add(rems20.get(), create(0, CSSPrim
itiveValue::CSS_EMS).get()).get()); | 298 EXPECT_EQ(rems20.get(), AnimatableValue::add(rems20.get(), create(0, CSSPrim
itiveValue::CSS_EMS).get()).get()); |
299 | 299 |
300 // Except 0% which is special | 300 // Except 0% which is special |
301 RefPtr<AnimatableLength> zeropercent = create(0, CSSPrimitiveValue::CSS_PERC
ENTAGE); | 301 RefPtr<AnimatableLength> zeropercent = create(0, CSSPrimitiveValue::CSS_PERC
ENTAGE); |
302 EXPECT_REFV_EQ(create(0, CSSPrimitiveValue::CSS_PERCENTAGE, -10, CSSPrimitiv
eValue::CSS_REMS), | 302 EXPECT_REFV_EQ(create(0, CSSPrimitiveValue::CSS_PERCENTAGE, -10, CSSPrimitiv
eValue::CSS_REMS), |
303 AnimatableValue::add(zeropercent.get(), create(-10, CSSPrimitiveValue::C
SS_REMS).get())); | 303 AnimatableValue::add(zeropercent.get(), create(-10, CSSPrimitiveValue::C
SS_REMS).get())); |
304 EXPECT_REFV_EQ(create(-10, CSSPrimitiveValue::CSS_REMS, 0, CSSPrimitiveValue
::CSS_PERCENTAGE), | 304 EXPECT_REFV_EQ(create(-10, CSSPrimitiveValue::CSS_REMS, 0, CSSPrimitiveValue
::CSS_PERCENTAGE), |
305 AnimatableValue::add(create(-10, CSSPrimitiveValue::CSS_REMS).get(), zer
opercent.get())); | 305 AnimatableValue::add(create(-10, CSSPrimitiveValue::CSS_REMS).get(), zer
opercent.get())); |
306 } | 306 } |
307 | 307 |
308 TEST_F(AnimatableLengthTest, IsUnitless) | 308 TEST_F(CoreAnimationAnimatableLengthTest, IsUnitless) |
309 { | 309 { |
310 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_PX))); | 310 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_PX))); |
311 EXPECT_FALSE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_PERCENTAGE))); | 311 EXPECT_FALSE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_PERCENTAGE))); |
312 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_EMS))); | 312 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_EMS))); |
313 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_EXS))); | 313 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_EXS))); |
314 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_REMS))); | 314 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_REMS))); |
315 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_VW))); | 315 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_VW))); |
316 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_VH))); | 316 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_VH))); |
317 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_VMIN))); | 317 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_VMIN))); |
318 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_VMAX))); | 318 EXPECT_TRUE(isUnitlessZero(create(0, CSSPrimitiveValue::CSS_VMAX))); |
319 | 319 |
320 EXPECT_FALSE(isUnitlessZero(create(1, CSSPrimitiveValue::CSS_PX))); | 320 EXPECT_FALSE(isUnitlessZero(create(1, CSSPrimitiveValue::CSS_PX))); |
321 EXPECT_FALSE(isUnitlessZero(create(2, CSSPrimitiveValue::CSS_PERCENTAGE))); | 321 EXPECT_FALSE(isUnitlessZero(create(2, CSSPrimitiveValue::CSS_PERCENTAGE))); |
322 EXPECT_FALSE(isUnitlessZero(create(3, CSSPrimitiveValue::CSS_EMS))); | 322 EXPECT_FALSE(isUnitlessZero(create(3, CSSPrimitiveValue::CSS_EMS))); |
323 EXPECT_FALSE(isUnitlessZero(create(4, CSSPrimitiveValue::CSS_EXS))); | 323 EXPECT_FALSE(isUnitlessZero(create(4, CSSPrimitiveValue::CSS_EXS))); |
324 EXPECT_FALSE(isUnitlessZero(create(5, CSSPrimitiveValue::CSS_REMS))); | 324 EXPECT_FALSE(isUnitlessZero(create(5, CSSPrimitiveValue::CSS_REMS))); |
325 EXPECT_FALSE(isUnitlessZero(create(6, CSSPrimitiveValue::CSS_VW))); | 325 EXPECT_FALSE(isUnitlessZero(create(6, CSSPrimitiveValue::CSS_VW))); |
326 EXPECT_FALSE(isUnitlessZero(create(7, CSSPrimitiveValue::CSS_VH))); | 326 EXPECT_FALSE(isUnitlessZero(create(7, CSSPrimitiveValue::CSS_VH))); |
327 EXPECT_FALSE(isUnitlessZero(create(8, CSSPrimitiveValue::CSS_VMIN))); | 327 EXPECT_FALSE(isUnitlessZero(create(8, CSSPrimitiveValue::CSS_VMIN))); |
328 EXPECT_FALSE(isUnitlessZero(create(9, CSSPrimitiveValue::CSS_VMAX))); | 328 EXPECT_FALSE(isUnitlessZero(create(9, CSSPrimitiveValue::CSS_VMAX))); |
329 } | 329 } |
330 | 330 |
331 TEST_F(AnimatableLengthTest, CommonUnitType) | 331 TEST_F(CoreAnimationAnimatableLengthTest, CommonUnitType) |
332 { | 332 { |
333 RefPtr<AnimatableLength> length10px = create(10, CSSPrimitiveValue::CSS_PX); | 333 RefPtr<AnimatableLength> length10px = create(10, CSSPrimitiveValue::CSS_PX); |
334 EXPECT_EQ(AnimatableLength::UnitTypePixels, commonUnitType(length10px, crea
te(1, CSSPrimitiveValue::CSS_PX).get())); | 334 EXPECT_EQ(AnimatableLength::UnitTypePixels, commonUnitType(length10px, crea
te(1, CSSPrimitiveValue::CSS_PX).get())); |
335 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(length10px, crea
te(2, CSSPrimitiveValue::CSS_PERCENTAGE).get())); | 335 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(length10px, crea
te(2, CSSPrimitiveValue::CSS_PERCENTAGE).get())); |
336 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(length10px, crea
te(3, CSSPrimitiveValue::CSS_EMS).get())); | 336 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(length10px, crea
te(3, CSSPrimitiveValue::CSS_EMS).get())); |
337 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(length10px, crea
te(4, CSSPrimitiveValue::CSS_PX, 5, CSSPrimitiveValue::CSS_CM).get())); | 337 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(length10px, crea
te(4, CSSPrimitiveValue::CSS_PX, 5, CSSPrimitiveValue::CSS_CM).get())); |
338 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(length10px, crea
te(0, CSSPrimitiveValue::CSS_PERCENTAGE).get())); | 338 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(length10px, crea
te(0, CSSPrimitiveValue::CSS_PERCENTAGE).get())); |
339 | 339 |
340 RefPtr<AnimatableLength> length0px = create(0, CSSPrimitiveValue::CSS_PX); | 340 RefPtr<AnimatableLength> length0px = create(0, CSSPrimitiveValue::CSS_PX); |
341 EXPECT_EQ(AnimatableLength::UnitTypePixels, commonUnitType(length0px, cr
eate(1, CSSPrimitiveValue::CSS_PX).get())); | 341 EXPECT_EQ(AnimatableLength::UnitTypePixels, commonUnitType(length0px, cr
eate(1, CSSPrimitiveValue::CSS_PX).get())); |
(...skipping 11 matching lines...) Expand all Loading... |
353 | 353 |
354 RefPtr<AnimatableLength> lengthCalc = create(3, CSSPrimitiveValue::CSS_PX, 5
, CSSPrimitiveValue::CSS_CM); | 354 RefPtr<AnimatableLength> lengthCalc = create(3, CSSPrimitiveValue::CSS_PX, 5
, CSSPrimitiveValue::CSS_CM); |
355 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(lengthCalc, crea
te(1, CSSPrimitiveValue::CSS_PX).get())); | 355 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(lengthCalc, crea
te(1, CSSPrimitiveValue::CSS_PX).get())); |
356 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(lengthCalc, crea
te(2, CSSPrimitiveValue::CSS_PERCENTAGE).get())); | 356 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(lengthCalc, crea
te(2, CSSPrimitiveValue::CSS_PERCENTAGE).get())); |
357 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(lengthCalc, crea
te(3, CSSPrimitiveValue::CSS_EMS).get())); | 357 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(lengthCalc, crea
te(3, CSSPrimitiveValue::CSS_EMS).get())); |
358 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(lengthCalc, crea
te(4, CSSPrimitiveValue::CSS_PX, 5, CSSPrimitiveValue::CSS_CM).get())); | 358 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(lengthCalc, crea
te(4, CSSPrimitiveValue::CSS_PX, 5, CSSPrimitiveValue::CSS_CM).get())); |
359 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(lengthCalc, crea
te(0, CSSPrimitiveValue::CSS_PERCENTAGE).get())); | 359 EXPECT_EQ(AnimatableLength::UnitTypeInvalid, commonUnitType(lengthCalc, crea
te(0, CSSPrimitiveValue::CSS_PERCENTAGE).get())); |
360 } | 360 } |
361 | 361 |
362 } // namespace WebCore | 362 } // namespace WebCore |
OLD | NEW |