| OLD | NEW |
| 1 #include "config.h" | 1 #include "config.h" |
| 2 #include "core/animation/VisibilityStyleInterpolation.h" | 2 #include "core/animation/VisibilityStyleInterpolation.h" |
| 3 | 3 |
| 4 #include "core/css/CSSPrimitiveValue.h" | 4 #include "core/css/CSSPrimitiveValue.h" |
| 5 #include "core/css/StylePropertySet.h" | 5 #include "core/css/StylePropertySet.h" |
| 6 | 6 |
| 7 #include <gtest/gtest.h> | 7 #include <gtest/gtest.h> |
| 8 | 8 |
| 9 namespace blink { | 9 namespace blink { |
| 10 | 10 |
| 11 class AnimationVisibilityStyleInterpolationTest : public ::testing::Test { | 11 class AnimationVisibilityStyleInterpolationTest : public ::testing::Test { |
| 12 protected: | 12 protected: |
| 13 static PassOwnPtrWillBeRawPtr<InterpolableValue> visibilityToInterpolableVal
ue(const CSSValue& value) | 13 static PassOwnPtrWillBeRawPtr<InterpolableValue> visibilityToInterpolableVal
ue(const CSSValue& value) |
| 14 { | 14 { |
| 15 return VisibilityStyleInterpolation::visibilityToInterpolableValue(value
); | 15 return VisibilityStyleInterpolation::visibilityToInterpolableValue(value
); |
| 16 } | 16 } |
| 17 | 17 |
| 18 static PassRefPtrWillBeRawPtr<CSSValue> interpolableValueToVisibility(Interp
olableValue* value, CSSValueID notVisible) | 18 static CSSValue interpolableValueToVisibility(InterpolableValue* value, CSSV
alueID notVisible) |
| 19 { | 19 { |
| 20 return VisibilityStyleInterpolation::interpolableValueToVisibility(value
, notVisible); | 20 return VisibilityStyleInterpolation::interpolableValueToVisibility(value
, notVisible); |
| 21 } | 21 } |
| 22 | 22 |
| 23 static PassRefPtrWillBeRawPtr<CSSValue> roundTrip(PassRefPtrWillBeRawPtr<CSS
Value> value, CSSValueID valueID) | 23 static CSSValue roundTrip(CSSValue value, CSSValueID valueID) |
| 24 { | 24 { |
| 25 return interpolableValueToVisibility(visibilityToInterpolableValue(*valu
e).get(), valueID); | 25 return interpolableValueToVisibility(visibilityToInterpolableValue(value
).get(), valueID); |
| 26 } | 26 } |
| 27 | 27 |
| 28 static void testPrimitiveValue(PassRefPtrWillBeRawPtr<CSSValue> value, CSSVa
lueID valueID) | 28 static void testPrimitiveValue(CSSValue value, CSSValueID valueID) |
| 29 { | 29 { |
| 30 EXPECT_TRUE(value->isPrimitiveValue()); | 30 EXPECT_TRUE(value.isPrimitiveValue()); |
| 31 EXPECT_EQ(valueID, toCSSPrimitiveValue(value.get())->getValueID()); | 31 EXPECT_EQ(valueID, toCSSPrimitiveValue(value).getValueID()); |
| 32 } | 32 } |
| 33 | 33 |
| 34 static InterpolableValue* getCachedValue(Interpolation& interpolation) | 34 static InterpolableValue* getCachedValue(Interpolation& interpolation) |
| 35 { | 35 { |
| 36 return interpolation.getCachedValueForTesting(); | 36 return interpolation.getCachedValueForTesting(); |
| 37 } | 37 } |
| 38 }; | 38 }; |
| 39 | 39 |
| 40 TEST_F(AnimationVisibilityStyleInterpolationTest, ValueIDs) | 40 TEST_F(AnimationVisibilityStyleInterpolationTest, ValueIDs) |
| 41 { | 41 { |
| 42 RefPtrWillBeRawPtr<CSSValue> value = roundTrip(CSSPrimitiveValue::createIden
tifier(CSSValueVisible), CSSValueHidden); | 42 CSSValue value = roundTrip(CSSPrimitiveValue::createIdentifier(CSSValueVisib
le), CSSValueHidden); |
| 43 testPrimitiveValue(value, CSSValueVisible); | 43 testPrimitiveValue(value, CSSValueVisible); |
| 44 | 44 |
| 45 value = roundTrip(CSSPrimitiveValue::createIdentifier(CSSValueCollapse), CSS
ValueCollapse); | 45 value = roundTrip(CSSPrimitiveValue::createIdentifier(CSSValueCollapse), CSS
ValueCollapse); |
| 46 testPrimitiveValue(value, CSSValueCollapse); | 46 testPrimitiveValue(value, CSSValueCollapse); |
| 47 | 47 |
| 48 value = roundTrip(CSSPrimitiveValue::createIdentifier(CSSValueHidden), CSSVa
lueHidden); | 48 value = roundTrip(CSSPrimitiveValue::createIdentifier(CSSValueHidden), CSSVa
lueHidden); |
| 49 testPrimitiveValue(value, CSSValueHidden); | 49 testPrimitiveValue(value, CSSValueHidden); |
| 50 } | 50 } |
| 51 | 51 |
| 52 TEST_F(AnimationVisibilityStyleInterpolationTest, Interpolation) | 52 TEST_F(AnimationVisibilityStyleInterpolationTest, Interpolation) |
| 53 { | 53 { |
| 54 RefPtrWillBeRawPtr<Interpolation> interpolation = VisibilityStyleInterpolati
on::create( | 54 RefPtrWillBeRawPtr<Interpolation> interpolation = VisibilityStyleInterpolati
on::create( |
| 55 *CSSPrimitiveValue::createIdentifier(CSSValueHidden), | 55 CSSPrimitiveValue::createIdentifier(CSSValueHidden), |
| 56 *CSSPrimitiveValue::createIdentifier(CSSValueVisible), | 56 CSSPrimitiveValue::createIdentifier(CSSValueVisible), |
| 57 CSSPropertyVisibility); | 57 CSSPropertyVisibility); |
| 58 | 58 |
| 59 interpolation->interpolate(0, 0.0); | 59 interpolation->interpolate(0, 0.0); |
| 60 RefPtrWillBeRawPtr<CSSValue> value = interpolableValueToVisibility(getCached
Value(*interpolation), CSSValueHidden); | 60 CSSValue value = interpolableValueToVisibility(getCachedValue(*interpolation
), CSSValueHidden); |
| 61 testPrimitiveValue(value, CSSValueHidden); | 61 testPrimitiveValue(value, CSSValueHidden); |
| 62 | 62 |
| 63 interpolation->interpolate(0, 0.5); | 63 interpolation->interpolate(0, 0.5); |
| 64 value = interpolableValueToVisibility(getCachedValue(*interpolation), CSSVal
ueHidden); | 64 value = interpolableValueToVisibility(getCachedValue(*interpolation), CSSVal
ueHidden); |
| 65 testPrimitiveValue(value, CSSValueVisible); | 65 testPrimitiveValue(value, CSSValueVisible); |
| 66 } | 66 } |
| 67 } | 67 } |
| OLD | NEW |