Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Side by Side Diff: Source/core/animation/LengthPairStyleInterpolationTest.cpp

Issue 1164573002: CSSValue Immediates: Change CSSValue to an object instead of a pointer (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/LengthPairStyleInterpolation.h" 6 #include "core/animation/LengthPairStyleInterpolation.h"
7 7
8 #include "core/css/CSSPrimitiveValue.h" 8 #include "core/css/CSSPrimitiveValue.h"
9 #include "core/css/CSSValue.h" 9 #include "core/css/CSSValue.h"
10 #include "core/css/Pair.h" 10 #include "core/css/Pair.h"
11 #include "core/css/StylePropertySet.h" 11 #include "core/css/StylePropertySet.h"
12 12
13 #include <gtest/gtest.h> 13 #include <gtest/gtest.h>
14 14
15 namespace blink { 15 namespace blink {
16 16
17 class LengthPairStyleInterpolationTest : public ::testing::Test { 17 class LengthPairStyleInterpolationTest : public ::testing::Test {
18 18
19 protected: 19 protected:
20 static PassOwnPtrWillBeRawPtr<InterpolableValue> lengthPairToInterpolableVal ue(const CSSValue& value) 20 static PassOwnPtrWillBeRawPtr<InterpolableValue> lengthPairToInterpolableVal ue(const CSSValue& value)
21 { 21 {
22 return LengthPairStyleInterpolation::lengthPairToInterpolableValue(value ); 22 return LengthPairStyleInterpolation::lengthPairToInterpolableValue(value );
23 } 23 }
24 24
25 static PassRefPtrWillBeRawPtr<CSSValue> interpolableValueToLengthPair(Interp olableValue* value, InterpolationRange range) 25 static CSSValue interpolableValueToLengthPair(InterpolableValue* value, Inte rpolationRange range)
26 { 26 {
27 return LengthPairStyleInterpolation::interpolableValueToLengthPair(value , range); 27 return LengthPairStyleInterpolation::interpolableValueToLengthPair(value , range);
28 } 28 }
29 29
30 static PassRefPtrWillBeRawPtr<CSSValue> roundTrip(PassRefPtrWillBeRawPtr<CSS Value> value, InterpolationRange range) 30 static CSSValue roundTrip(CSSValue value, InterpolationRange range)
31 { 31 {
32 return interpolableValueToLengthPair(lengthPairToInterpolableValue(*valu e).get(), range); 32 return interpolableValueToLengthPair(lengthPairToInterpolableValue(value ).get(), range);
33 } 33 }
34 34
35 static void testPrimitiveValue(RefPtrWillBeRawPtr<CSSValue> value, double fi rst, double second, CSSPrimitiveValue::UnitType unitType) 35 static void testPrimitiveValue(CSSValue value, double first, double second, CSSPrimitiveValue::UnitType unitType)
36 { 36 {
37 EXPECT_TRUE(value->isPrimitiveValue()); 37 EXPECT_TRUE(value.isPrimitiveValue());
38 38
39 Pair* pair = toCSSPrimitiveValue(value.get())->getPairValue(); 39 Pair* pair = toCSSPrimitiveValue(value).getPairValue();
40 ASSERT_TRUE(pair); 40 ASSERT_TRUE(pair);
41 41
42 EXPECT_EQ(pair->first()->getDoubleValue(), first); 42 EXPECT_EQ(pair->first()->getDoubleValue(), first);
43 EXPECT_EQ(pair->second()->getDoubleValue(), second); 43 EXPECT_EQ(pair->second()->getDoubleValue(), second);
44 44
45 EXPECT_EQ(pair->first()->primitiveType(), unitType); 45 EXPECT_EQ(pair->first()->primitiveType(), unitType);
46 EXPECT_EQ(pair->second()->primitiveType(), unitType); 46 EXPECT_EQ(pair->second()->primitiveType(), unitType);
47 } 47 }
48 }; 48 };
49 49
50 TEST_F(LengthPairStyleInterpolationTest, ZeroTest) 50 TEST_F(LengthPairStyleInterpolationTest, ZeroTest)
51 { 51 {
52 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstPx = CSSPrimitiveValue::create(0, CSSPrimitiveValue::CSS_PX); 52 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstPx = CSSPrimitiveValue::create(0, CSSPrimitiveValue::CSS_PX);
53 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondPx = CSSPrimitiveValue::create(0 , CSSPrimitiveValue::CSS_PX); 53 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondPx = CSSPrimitiveValue::create(0 , CSSPrimitiveValue::CSS_PX);
54 RefPtrWillBeRawPtr<Pair> pairPx = Pair::create(firstPx, secondPx, Pair::Keep IdenticalValues); 54 RefPtrWillBeRawPtr<Pair> pairPx = Pair::create(firstPx, secondPx, Pair::Keep IdenticalValues);
55 RefPtrWillBeRawPtr<CSSValue> value1 = roundTrip(CSSPrimitiveValue::create(pa irPx.release()), RangeNonNegative); 55 CSSValue value1 = roundTrip(CSSPrimitiveValue::create(pairPx.release()), Ran geNonNegative);
56 testPrimitiveValue(value1, 0, 0, CSSPrimitiveValue::CSS_PX); 56 testPrimitiveValue(value1, 0, 0, CSSPrimitiveValue::CSS_PX);
57 57
58 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstPc = CSSPrimitiveValue::create(0, CSSPrimitiveValue::CSS_PERCENTAGE); 58 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstPc = CSSPrimitiveValue::create(0, CSSPrimitiveValue::CSS_PERCENTAGE);
59 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondPc = CSSPrimitiveValue::create(0 , CSSPrimitiveValue::CSS_PERCENTAGE); 59 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondPc = CSSPrimitiveValue::create(0 , CSSPrimitiveValue::CSS_PERCENTAGE);
60 RefPtrWillBeRawPtr<Pair> pairPc = Pair::create(firstPc, secondPc, Pair::Keep IdenticalValues); 60 RefPtrWillBeRawPtr<Pair> pairPc = Pair::create(firstPc, secondPc, Pair::Keep IdenticalValues);
61 RefPtrWillBeRawPtr<CSSValue> value2 = roundTrip(CSSPrimitiveValue::create(pa irPc.release()), RangeNonNegative); 61 CSSValue value2 = roundTrip(CSSPrimitiveValue::create(pairPc.release()), Ran geNonNegative);
62 testPrimitiveValue(value2, 0, 0, CSSPrimitiveValue::CSS_PERCENTAGE); 62 testPrimitiveValue(value2, 0, 0, CSSPrimitiveValue::CSS_PERCENTAGE);
63 63
64 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstEms = CSSPrimitiveValue::create(0 , CSSPrimitiveValue::CSS_EMS); 64 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstEms = CSSPrimitiveValue::create(0 , CSSPrimitiveValue::CSS_EMS);
65 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondEms = CSSPrimitiveValue::create( 0, CSSPrimitiveValue::CSS_EMS); 65 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondEms = CSSPrimitiveValue::create( 0, CSSPrimitiveValue::CSS_EMS);
66 RefPtrWillBeRawPtr<Pair> pairEms = Pair::create(firstEms, secondEms, Pair::K eepIdenticalValues); 66 RefPtrWillBeRawPtr<Pair> pairEms = Pair::create(firstEms, secondEms, Pair::K eepIdenticalValues);
67 RefPtrWillBeRawPtr<CSSValue> value3 = roundTrip(CSSPrimitiveValue::create(pa irEms.release()), RangeNonNegative); 67 CSSValue value3 = roundTrip(CSSPrimitiveValue::create(pairEms.release()), Ra ngeNonNegative);
68 testPrimitiveValue(value3, 0, 0, CSSPrimitiveValue::CSS_EMS); 68 testPrimitiveValue(value3, 0, 0, CSSPrimitiveValue::CSS_EMS);
69 69
70 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstPcNeg = CSSPrimitiveValue::create (0, CSSPrimitiveValue::CSS_PERCENTAGE); 70 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstPcNeg = CSSPrimitiveValue::create (0, CSSPrimitiveValue::CSS_PERCENTAGE);
71 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondPcNeg = CSSPrimitiveValue::creat e(0, CSSPrimitiveValue::CSS_PERCENTAGE); 71 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondPcNeg = CSSPrimitiveValue::creat e(0, CSSPrimitiveValue::CSS_PERCENTAGE);
72 RefPtrWillBeRawPtr<Pair> pairPcNeg = Pair::create(firstPcNeg, secondPcNeg, P air::KeepIdenticalValues); 72 RefPtrWillBeRawPtr<Pair> pairPcNeg = Pair::create(firstPcNeg, secondPcNeg, P air::KeepIdenticalValues);
73 RefPtrWillBeRawPtr<CSSValue> value4 = roundTrip(CSSPrimitiveValue::create(pa irPcNeg.release()), RangeAll); 73 CSSValue value4 = roundTrip(CSSPrimitiveValue::create(pairPcNeg.release()), RangeAll);
74 testPrimitiveValue(value4, 0, 0, CSSPrimitiveValue::CSS_PERCENTAGE); 74 testPrimitiveValue(value4, 0, 0, CSSPrimitiveValue::CSS_PERCENTAGE);
75 } 75 }
76 76
77 TEST_F(LengthPairStyleInterpolationTest, MultipleValueTest) 77 TEST_F(LengthPairStyleInterpolationTest, MultipleValueTest)
78 { 78 {
79 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstPx = CSSPrimitiveValue::create(10 , CSSPrimitiveValue::CSS_PX); 79 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstPx = CSSPrimitiveValue::create(10 , CSSPrimitiveValue::CSS_PX);
80 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondPx = CSSPrimitiveValue::create(2 0, CSSPrimitiveValue::CSS_PX); 80 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondPx = CSSPrimitiveValue::create(2 0, CSSPrimitiveValue::CSS_PX);
81 RefPtrWillBeRawPtr<Pair> pairPx = Pair::create(firstPx, secondPx, Pair::Keep IdenticalValues); 81 RefPtrWillBeRawPtr<Pair> pairPx = Pair::create(firstPx, secondPx, Pair::Keep IdenticalValues);
82 RefPtrWillBeRawPtr<CSSValue> value5 = roundTrip(CSSPrimitiveValue::create(pa irPx.release()), RangeNonNegative); 82 CSSValue value5 = roundTrip(CSSPrimitiveValue::create(pairPx.release()), Ran geNonNegative);
83 testPrimitiveValue(value5, 10, 20, CSSPrimitiveValue::CSS_PX); 83 testPrimitiveValue(value5, 10, 20, CSSPrimitiveValue::CSS_PX);
84 84
85 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstPc = CSSPrimitiveValue::create(30 , CSSPrimitiveValue::CSS_PERCENTAGE); 85 RefPtrWillBeRawPtr<CSSPrimitiveValue> firstPc = CSSPrimitiveValue::create(30 , CSSPrimitiveValue::CSS_PERCENTAGE);
86 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondPc = CSSPrimitiveValue::create(- 30, CSSPrimitiveValue::CSS_PERCENTAGE); 86 RefPtrWillBeRawPtr<CSSPrimitiveValue> secondPc = CSSPrimitiveValue::create(- 30, CSSPrimitiveValue::CSS_PERCENTAGE);
87 RefPtrWillBeRawPtr<Pair> pairPc = Pair::create(firstPc, secondPc, Pair::Keep IdenticalValues); 87 RefPtrWillBeRawPtr<Pair> pairPc = Pair::create(firstPc, secondPc, Pair::Keep IdenticalValues);
88 RefPtrWillBeRawPtr<CSSValue> value6 = roundTrip(CSSPrimitiveValue::create(pa irPc.release()), RangeNonNegative); 88 CSSValue value6 = roundTrip(CSSPrimitiveValue::create(pairPc.release()), Ran geNonNegative);
89 testPrimitiveValue(value6, 30, 0, CSSPrimitiveValue::CSS_PERCENTAGE); 89 testPrimitiveValue(value6, 30, 0, CSSPrimitiveValue::CSS_PERCENTAGE);
90 } 90 }
91 91
92 } 92 }
OLDNEW
« no previous file with comments | « Source/core/animation/LengthPairStyleInterpolation.cpp ('k') | Source/core/animation/LengthStyleInterpolation.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698