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

Side by Side Diff: sky/engine/core/css/CSSCalculationValueTest.cpp

Issue 710113003: Initial step of removing CSS zoom related properties. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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 /* 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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 80
81 bool lengthArraysEqual(CSSLengthArray& a, CSSLengthArray& b) 81 bool lengthArraysEqual(CSSLengthArray& a, CSSLengthArray& b)
82 { 82 {
83 for (size_t i = 0; i < CSSPrimitiveValue::LengthUnitTypeCount; ++i) { 83 for (size_t i = 0; i < CSSPrimitiveValue::LengthUnitTypeCount; ++i) {
84 if (a.at(i) != b.at(i)) 84 if (a.at(i) != b.at(i))
85 return false; 85 return false;
86 } 86 }
87 return true; 87 return true;
88 } 88 }
89 89
90 TEST(CSSCalculationValue, AccumulatePixelsAndPercent)
91 {
92 RefPtr<RenderStyle> style = RenderStyle::createDefaultStyle();
93 style->setEffectiveZoom(5);
94 CSSToLengthConversionData conversionData(style.get(), style.get(), 0);
95
96 testAccumulatePixelsAndPercent(conversionData,
97 CSSCalcValue::createExpressionNode(CSSPrimitiveValue::create(10, CSSPrim itiveValue::CSS_PX), true),
98 50, 0);
99
100 testAccumulatePixelsAndPercent(conversionData,
101 CSSCalcValue::createExpressionNode(
102 CSSCalcValue::createExpressionNode(CSSPrimitiveValue::create(10, CSS PrimitiveValue::CSS_PX), true),
103 CSSCalcValue::createExpressionNode(CSSPrimitiveValue::create(20, CSS PrimitiveValue::CSS_PX), true),
104 CalcAdd),
105 150, 0);
106
107 testAccumulatePixelsAndPercent(conversionData,
108 CSSCalcValue::createExpressionNode(
109 CSSCalcValue::createExpressionNode(CSSPrimitiveValue::create(1, CSSP rimitiveValue::CSS_IN), true),
110 CSSCalcValue::createExpressionNode(CSSPrimitiveValue::create(2, CSSP rimitiveValue::CSS_NUMBER), true),
111 CalcMultiply),
112 960, 0);
113
114 testAccumulatePixelsAndPercent(conversionData,
115 CSSCalcValue::createExpressionNode(
116 CSSCalcValue::createExpressionNode(
117 CSSCalcValue::createExpressionNode(CSSPrimitiveValue::create(50, CSSPrimitiveValue::CSS_PX), true),
118 CSSCalcValue::createExpressionNode(CSSPrimitiveValue::create(0.2 5, CSSPrimitiveValue::CSS_NUMBER), false),
119 CalcMultiply),
120 CSSCalcValue::createExpressionNode(
121 CSSCalcValue::createExpressionNode(CSSPrimitiveValue::create(20, CSSPrimitiveValue::CSS_PX), true),
122 CSSCalcValue::createExpressionNode(CSSPrimitiveValue::create(40, CSSPrimitiveValue::CSS_PERCENTAGE), false),
123 CalcSubtract),
124 CalcSubtract),
125 -37.5, 40);
126 }
127
128 TEST(CSSCalculationValue, RefCount) 90 TEST(CSSCalculationValue, RefCount)
129 { 91 {
130 RefPtr<CalculationValue> calc = CalculationValue::create(PixelsAndPercent(1, 2), ValueRangeAll); 92 RefPtr<CalculationValue> calc = CalculationValue::create(PixelsAndPercent(1, 2), ValueRangeAll);
131 Length lengthA(calc); 93 Length lengthA(calc);
132 EXPECT_EQ(calc->refCount(), 2); 94 EXPECT_EQ(calc->refCount(), 2);
133 95
134 Length lengthB; 96 Length lengthB;
135 lengthB = lengthA; 97 lengthB = lengthA;
136 EXPECT_EQ(calc->refCount(), 3); 98 EXPECT_EQ(calc->refCount(), 3);
137 99
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 expectation.at(CSSPrimitiveValue::UnitTypePercentage) = 10; 151 expectation.at(CSSPrimitiveValue::UnitTypePercentage) = 10;
190 EXPECT_TRUE(lengthArraysEqual(expectation, setLengthArray(actual, "calc(1in + 10%% - 6px)"))); 152 EXPECT_TRUE(lengthArraysEqual(expectation, setLengthArray(actual, "calc(1in + 10%% - 6px)")));
191 153
192 expectation.at(CSSPrimitiveValue::UnitTypePixels) = 15; 154 expectation.at(CSSPrimitiveValue::UnitTypePixels) = 15;
193 expectation.at(CSSPrimitiveValue::UnitTypeFontSize) = 20; 155 expectation.at(CSSPrimitiveValue::UnitTypeFontSize) = 20;
194 expectation.at(CSSPrimitiveValue::UnitTypePercentage) = -40; 156 expectation.at(CSSPrimitiveValue::UnitTypePercentage) = -40;
195 EXPECT_TRUE(lengthArraysEqual(expectation, setLengthArray(actual, "calc((1 * 2) * (5px + 20em / 2) - 80%% / (3 - 1) + 5px)"))); 157 EXPECT_TRUE(lengthArraysEqual(expectation, setLengthArray(actual, "calc((1 * 2) * (5px + 20em / 2) - 80%% / (3 - 1) + 5px)")));
196 } 158 }
197 159
198 } 160 }
OLDNEW
« no previous file with comments | « sky/engine/core/animation/css/CSSPropertyEquality.cpp ('k') | sky/engine/core/css/CSSComputedStyleDeclaration.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698