| 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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 | 80 |
| 81 double actualValue; | 81 double actualValue; |
| 82 if (value->isLength()) | 82 if (value->isLength()) |
| 83 actualValue = toAnimatableLength(value.get())->length(1, ValueRangeAll).
value(); | 83 actualValue = toAnimatableLength(value.get())->length(1, ValueRangeAll).
value(); |
| 84 else | 84 else |
| 85 actualValue = toCSSPrimitiveValue(toAnimatableUnknown(value.get())->toCS
SValue().get())->getDoubleValue(); | 85 actualValue = toCSSPrimitiveValue(toAnimatableUnknown(value.get())->toCS
SValue().get())->getDoubleValue(); |
| 86 | 86 |
| 87 EXPECT_FLOAT_EQ(static_cast<float>(expectedValue), actualValue); | 87 EXPECT_FLOAT_EQ(static_cast<float>(expectedValue), actualValue); |
| 88 } | 88 } |
| 89 | 89 |
| 90 Interpolation* findValue(WillBeHeapVector<RefPtrWillBeMember<Interpolation> >& v
alues, CSSPropertyID id) | 90 Interpolation* findValue(WillBeHeapVector<RefPtrWillBeMember<Interpolation>>& va
lues, CSSPropertyID id) |
| 91 { | 91 { |
| 92 for (auto& value : values) { | 92 for (auto& value : values) { |
| 93 if (toLegacyStyleInterpolation(value.get())->id() == id) | 93 if (toLegacyStyleInterpolation(value.get())->id() == id) |
| 94 return value.get(); | 94 return value.get(); |
| 95 } | 95 } |
| 96 return 0; | 96 return 0; |
| 97 } | 97 } |
| 98 | 98 |
| 99 | 99 |
| 100 TEST(AnimationKeyframeEffectModel, BasicOperation) | 100 TEST(AnimationKeyframeEffectModel, BasicOperation) |
| 101 { | 101 { |
| 102 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima
tableValue(3.0), unknownAnimatableValue(5.0)); | 102 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima
tableValue(3.0), unknownAnimatableValue(5.0)); |
| 103 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 103 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 104 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 104 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 105 effect->sample(0, 0.6, duration, values); | 105 effect->sample(0, 0.6, duration, values); |
| 106 ASSERT_EQ(1UL, values->size()); | 106 ASSERT_EQ(1UL, values->size()); |
| 107 expectProperty(CSSPropertyLeft, values->at(0)); | 107 expectProperty(CSSPropertyLeft, values->at(0)); |
| 108 expectDoubleValue(5.0, values->at(0)); | 108 expectDoubleValue(5.0, values->at(0)); |
| 109 } | 109 } |
| 110 | 110 |
| 111 TEST(AnimationKeyframeEffectModel, CompositeReplaceNonInterpolable) | 111 TEST(AnimationKeyframeEffectModel, CompositeReplaceNonInterpolable) |
| 112 { | 112 { |
| 113 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima
tableValue(3.0), unknownAnimatableValue(5.0)); | 113 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima
tableValue(3.0), unknownAnimatableValue(5.0)); |
| 114 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); | 114 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
| 115 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); | 115 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| 116 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 116 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 117 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 117 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 118 effect->sample(0, 0.6, duration, values); | 118 effect->sample(0, 0.6, duration, values); |
| 119 expectDoubleValue(5.0, values->at(0)); | 119 expectDoubleValue(5.0, values->at(0)); |
| 120 } | 120 } |
| 121 | 121 |
| 122 TEST(AnimationKeyframeEffectModel, CompositeReplace) | 122 TEST(AnimationKeyframeEffectModel, CompositeReplace) |
| 123 { | 123 { |
| 124 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); | 124 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); |
| 125 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); | 125 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
| 126 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); | 126 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| 127 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 127 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 128 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 128 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 129 effect->sample(0, 0.6, duration, values); | 129 effect->sample(0, 0.6, duration, values); |
| 130 expectDoubleValue(3.0 * 0.4 + 5.0 * 0.6, values->at(0)); | 130 expectDoubleValue(3.0 * 0.4 + 5.0 * 0.6, values->at(0)); |
| 131 } | 131 } |
| 132 | 132 |
| 133 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. | 133 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| 134 TEST(AnimationKeyframeEffectModel, DISABLED_CompositeAdd) | 134 TEST(AnimationKeyframeEffectModel, DISABLED_CompositeAdd) |
| 135 { | 135 { |
| 136 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); | 136 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); |
| 137 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); | 137 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); |
| 138 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); | 138 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
| 139 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 139 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 140 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 140 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 141 effect->sample(0, 0.6, duration, values); | 141 effect->sample(0, 0.6, duration, values); |
| 142 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->at(0)); | 142 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->at(0)); |
| 143 } | 143 } |
| 144 | 144 |
| 145 TEST(AnimationKeyframeEffectModel, CompositeEaseIn) | 145 TEST(AnimationKeyframeEffectModel, CompositeEaseIn) |
| 146 { | 146 { |
| 147 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); | 147 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); |
| 148 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); | 148 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
| 149 keyframes[0]->setEasing(CubicBezierTimingFunction::preset(CubicBezierTimingF
unction::EaseIn)); | 149 keyframes[0]->setEasing(CubicBezierTimingFunction::preset(CubicBezierTimingF
unction::EaseIn)); |
| 150 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); | 150 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| 151 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 151 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 152 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 152 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 153 effect->sample(0, 0.6, duration, values); | 153 effect->sample(0, 0.6, duration, values); |
| 154 expectDoubleValue(3.8579516, values->at(0)); | 154 expectDoubleValue(3.8579516, values->at(0)); |
| 155 effect->sample(0, 0.6, duration * 100, values); | 155 effect->sample(0, 0.6, duration * 100, values); |
| 156 expectDoubleValue(3.8582394, values->at(0)); | 156 expectDoubleValue(3.8582394, values->at(0)); |
| 157 } | 157 } |
| 158 | 158 |
| 159 TEST(AnimationKeyframeEffectModel, CompositeCubicBezier) | 159 TEST(AnimationKeyframeEffectModel, CompositeCubicBezier) |
| 160 { | 160 { |
| 161 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); | 161 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); |
| 162 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); | 162 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
| 163 keyframes[0]->setEasing(CubicBezierTimingFunction::create(0.42, 0, 0.58, 1))
; | 163 keyframes[0]->setEasing(CubicBezierTimingFunction::create(0.42, 0, 0.58, 1))
; |
| 164 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); | 164 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| 165 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 165 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 166 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 166 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 167 effect->sample(0, 0.6, duration, values); | 167 effect->sample(0, 0.6, duration, values); |
| 168 expectDoubleValue(4.3363357, values->at(0)); | 168 expectDoubleValue(4.3363357, values->at(0)); |
| 169 effect->sample(0, 0.6, duration * 1000, values); | 169 effect->sample(0, 0.6, duration * 1000, values); |
| 170 expectDoubleValue(4.3362322, values->at(0)); | 170 expectDoubleValue(4.3362322, values->at(0)); |
| 171 } | 171 } |
| 172 | 172 |
| 173 TEST(AnimationKeyframeEffectModel, ExtrapolateReplaceNonInterpolable) | 173 TEST(AnimationKeyframeEffectModel, ExtrapolateReplaceNonInterpolable) |
| 174 { | 174 { |
| 175 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima
tableValue(3.0), unknownAnimatableValue(5.0)); | 175 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima
tableValue(3.0), unknownAnimatableValue(5.0)); |
| 176 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); | 176 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
| 177 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); | 177 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| 178 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 178 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 179 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 179 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 180 effect->sample(0, 1.6, duration, values); | 180 effect->sample(0, 1.6, duration, values); |
| 181 expectDoubleValue(5.0, values->at(0)); | 181 expectDoubleValue(5.0, values->at(0)); |
| 182 } | 182 } |
| 183 | 183 |
| 184 TEST(AnimationKeyframeEffectModel, ExtrapolateReplace) | 184 TEST(AnimationKeyframeEffectModel, ExtrapolateReplace) |
| 185 { | 185 { |
| 186 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); | 186 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); |
| 187 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 187 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 188 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); | 188 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
| 189 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); | 189 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| 190 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 190 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 191 effect->sample(0, 1.6, duration, values); | 191 effect->sample(0, 1.6, duration, values); |
| 192 expectDoubleValue(3.0 * -0.6 + 5.0 * 1.6, values->at(0)); | 192 expectDoubleValue(3.0 * -0.6 + 5.0 * 1.6, values->at(0)); |
| 193 } | 193 } |
| 194 | 194 |
| 195 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. | 195 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| 196 TEST(AnimationKeyframeEffectModel, DISABLED_ExtrapolateAdd) | 196 TEST(AnimationKeyframeEffectModel, DISABLED_ExtrapolateAdd) |
| 197 { | 197 { |
| 198 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); | 198 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); |
| 199 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); | 199 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); |
| 200 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); | 200 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
| 201 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 201 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 202 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 202 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 203 effect->sample(0, 1.6, duration, values); | 203 effect->sample(0, 1.6, duration, values); |
| 204 expectDoubleValue((7.0 + 3.0) * -0.6 + (7.0 + 5.0) * 1.6, values->at(0)); | 204 expectDoubleValue((7.0 + 3.0) * -0.6 + (7.0 + 5.0) * 1.6, values->at(0)); |
| 205 } | 205 } |
| 206 | 206 |
| 207 TEST(AnimationKeyframeEffectModel, ZeroKeyframes) | 207 TEST(AnimationKeyframeEffectModel, ZeroKeyframes) |
| 208 { | 208 { |
| 209 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(AnimatableValueKeyframeVector()); | 209 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(AnimatableValueKeyframeVector()); |
| 210 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 210 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 211 effect->sample(0, 0.5, duration, values); | 211 effect->sample(0, 0.5, duration, values); |
| 212 EXPECT_TRUE(values->isEmpty()); | 212 EXPECT_TRUE(values->isEmpty()); |
| 213 } | 213 } |
| 214 | 214 |
| 215 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. | 215 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| 216 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetZero) | 216 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetZero) |
| 217 { | 217 { |
| 218 AnimatableValueKeyframeVector keyframes(1); | 218 AnimatableValueKeyframeVector keyframes(1); |
| 219 keyframes[0] = AnimatableValueKeyframe::create(); | 219 keyframes[0] = AnimatableValueKeyframe::create(); |
| 220 keyframes[0]->setOffset(0.0); | 220 keyframes[0]->setOffset(0.0); |
| 221 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0).
get()); | 221 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0).
get()); |
| 222 | 222 |
| 223 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 223 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 224 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 224 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 225 effect->sample(0, 0.6, duration, values); | 225 effect->sample(0, 0.6, duration, values); |
| 226 expectDoubleValue(3.0, values->at(0)); | 226 expectDoubleValue(3.0, values->at(0)); |
| 227 } | 227 } |
| 228 | 228 |
| 229 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. | 229 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| 230 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetOne) | 230 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetOne) |
| 231 { | 231 { |
| 232 AnimatableValueKeyframeVector keyframes(1); | 232 AnimatableValueKeyframeVector keyframes(1); |
| 233 keyframes[0] = AnimatableValueKeyframe::create(); | 233 keyframes[0] = AnimatableValueKeyframe::create(); |
| 234 keyframes[0]->setOffset(1.0); | 234 keyframes[0]->setOffset(1.0); |
| 235 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge
t()); | 235 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge
t()); |
| 236 | 236 |
| 237 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 237 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 238 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 238 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 239 effect->sample(0, 0.6, duration, values); | 239 effect->sample(0, 0.6, duration, values); |
| 240 expectDoubleValue(7.0 * 0.4 + 5.0 * 0.6, values->at(0)); | 240 expectDoubleValue(7.0 * 0.4 + 5.0 * 0.6, values->at(0)); |
| 241 } | 241 } |
| 242 | 242 |
| 243 TEST(AnimationKeyframeEffectModel, MoreThanTwoKeyframes) | 243 TEST(AnimationKeyframeEffectModel, MoreThanTwoKeyframes) |
| 244 { | 244 { |
| 245 AnimatableValueKeyframeVector keyframes(3); | 245 AnimatableValueKeyframeVector keyframes(3); |
| 246 keyframes[0] = AnimatableValueKeyframe::create(); | 246 keyframes[0] = AnimatableValueKeyframe::create(); |
| 247 keyframes[0]->setOffset(0.0); | 247 keyframes[0]->setOffset(0.0); |
| 248 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0).
get()); | 248 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0).
get()); |
| 249 keyframes[1] = AnimatableValueKeyframe::create(); | 249 keyframes[1] = AnimatableValueKeyframe::create(); |
| 250 keyframes[1]->setOffset(0.5); | 250 keyframes[1]->setOffset(0.5); |
| 251 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0).
get()); | 251 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0).
get()); |
| 252 keyframes[2] = AnimatableValueKeyframe::create(); | 252 keyframes[2] = AnimatableValueKeyframe::create(); |
| 253 keyframes[2]->setOffset(1.0); | 253 keyframes[2]->setOffset(1.0); |
| 254 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0).
get()); | 254 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0).
get()); |
| 255 | 255 |
| 256 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 256 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 257 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 257 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 258 effect->sample(0, 0.3, duration, values); | 258 effect->sample(0, 0.3, duration, values); |
| 259 expectDoubleValue(4.0, values->at(0)); | 259 expectDoubleValue(4.0, values->at(0)); |
| 260 effect->sample(0, 0.8, duration, values); | 260 effect->sample(0, 0.8, duration, values); |
| 261 expectDoubleValue(5.0, values->at(0)); | 261 expectDoubleValue(5.0, values->at(0)); |
| 262 } | 262 } |
| 263 | 263 |
| 264 TEST(AnimationKeyframeEffectModel, EndKeyframeOffsetsUnspecified) | 264 TEST(AnimationKeyframeEffectModel, EndKeyframeOffsetsUnspecified) |
| 265 { | 265 { |
| 266 AnimatableValueKeyframeVector keyframes(3); | 266 AnimatableValueKeyframeVector keyframes(3); |
| 267 keyframes[0] = AnimatableValueKeyframe::create(); | 267 keyframes[0] = AnimatableValueKeyframe::create(); |
| 268 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0).
get()); | 268 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0).
get()); |
| 269 keyframes[1] = AnimatableValueKeyframe::create(); | 269 keyframes[1] = AnimatableValueKeyframe::create(); |
| 270 keyframes[1]->setOffset(0.5); | 270 keyframes[1]->setOffset(0.5); |
| 271 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0).
get()); | 271 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0).
get()); |
| 272 keyframes[2] = AnimatableValueKeyframe::create(); | 272 keyframes[2] = AnimatableValueKeyframe::create(); |
| 273 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0).
get()); | 273 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0).
get()); |
| 274 | 274 |
| 275 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 275 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 276 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 276 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 277 effect->sample(0, 0.1, duration, values); | 277 effect->sample(0, 0.1, duration, values); |
| 278 expectDoubleValue(3.0, values->at(0)); | 278 expectDoubleValue(3.0, values->at(0)); |
| 279 effect->sample(0, 0.6, duration, values); | 279 effect->sample(0, 0.6, duration, values); |
| 280 expectDoubleValue(4.0, values->at(0)); | 280 expectDoubleValue(4.0, values->at(0)); |
| 281 effect->sample(0, 0.9, duration, values); | 281 effect->sample(0, 0.9, duration, values); |
| 282 expectDoubleValue(5.0, values->at(0)); | 282 expectDoubleValue(5.0, values->at(0)); |
| 283 } | 283 } |
| 284 | 284 |
| 285 TEST(AnimationKeyframeEffectModel, SampleOnKeyframe) | 285 TEST(AnimationKeyframeEffectModel, SampleOnKeyframe) |
| 286 { | 286 { |
| 287 AnimatableValueKeyframeVector keyframes(3); | 287 AnimatableValueKeyframeVector keyframes(3); |
| 288 keyframes[0] = AnimatableValueKeyframe::create(); | 288 keyframes[0] = AnimatableValueKeyframe::create(); |
| 289 keyframes[0]->setOffset(0.0); | 289 keyframes[0]->setOffset(0.0); |
| 290 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0).
get()); | 290 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0).
get()); |
| 291 keyframes[1] = AnimatableValueKeyframe::create(); | 291 keyframes[1] = AnimatableValueKeyframe::create(); |
| 292 keyframes[1]->setOffset(0.5); | 292 keyframes[1]->setOffset(0.5); |
| 293 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0).
get()); | 293 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0).
get()); |
| 294 keyframes[2] = AnimatableValueKeyframe::create(); | 294 keyframes[2] = AnimatableValueKeyframe::create(); |
| 295 keyframes[2]->setOffset(1.0); | 295 keyframes[2]->setOffset(1.0); |
| 296 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0).
get()); | 296 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0).
get()); |
| 297 | 297 |
| 298 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 298 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 299 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 299 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 300 effect->sample(0, 0.0, duration, values); | 300 effect->sample(0, 0.0, duration, values); |
| 301 expectDoubleValue(3.0, values->at(0)); | 301 expectDoubleValue(3.0, values->at(0)); |
| 302 effect->sample(0, 0.5, duration, values); | 302 effect->sample(0, 0.5, duration, values); |
| 303 expectDoubleValue(4.0, values->at(0)); | 303 expectDoubleValue(4.0, values->at(0)); |
| 304 effect->sample(0, 1.0, duration, values); | 304 effect->sample(0, 1.0, duration, values); |
| 305 expectDoubleValue(5.0, values->at(0)); | 305 expectDoubleValue(5.0, values->at(0)); |
| 306 } | 306 } |
| 307 | 307 |
| 308 TEST(AnimationKeyframeEffectModel, MultipleKeyframesWithSameOffset) | 308 TEST(AnimationKeyframeEffectModel, MultipleKeyframesWithSameOffset) |
| 309 { | 309 { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 330 keyframes[6]->setOffset(0.9); | 330 keyframes[6]->setOffset(0.9); |
| 331 keyframes[6]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(6.0).
get()); | 331 keyframes[6]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(6.0).
get()); |
| 332 keyframes[7] = AnimatableValueKeyframe::create(); | 332 keyframes[7] = AnimatableValueKeyframe::create(); |
| 333 keyframes[7]->setOffset(0.9); | 333 keyframes[7]->setOffset(0.9); |
| 334 keyframes[7]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0).
get()); | 334 keyframes[7]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0).
get()); |
| 335 keyframes[8] = AnimatableValueKeyframe::create(); | 335 keyframes[8] = AnimatableValueKeyframe::create(); |
| 336 keyframes[8]->setOffset(1.0); | 336 keyframes[8]->setOffset(1.0); |
| 337 keyframes[8]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0).
get()); | 337 keyframes[8]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0).
get()); |
| 338 | 338 |
| 339 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 339 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 340 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 340 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 341 effect->sample(0, 0.0, duration, values); | 341 effect->sample(0, 0.0, duration, values); |
| 342 expectDoubleValue(0.0, values->at(0)); | 342 expectDoubleValue(0.0, values->at(0)); |
| 343 effect->sample(0, 0.2, duration, values); | 343 effect->sample(0, 0.2, duration, values); |
| 344 expectDoubleValue(2.0, values->at(0)); | 344 expectDoubleValue(2.0, values->at(0)); |
| 345 effect->sample(0, 0.4, duration, values); | 345 effect->sample(0, 0.4, duration, values); |
| 346 expectDoubleValue(3.0, values->at(0)); | 346 expectDoubleValue(3.0, values->at(0)); |
| 347 effect->sample(0, 0.5, duration, values); | 347 effect->sample(0, 0.5, duration, values); |
| 348 expectDoubleValue(5.0, values->at(0)); | 348 expectDoubleValue(5.0, values->at(0)); |
| 349 effect->sample(0, 0.6, duration, values); | 349 effect->sample(0, 0.6, duration, values); |
| 350 expectDoubleValue(5.0, values->at(0)); | 350 expectDoubleValue(5.0, values->at(0)); |
| 351 effect->sample(0, 0.8, duration, values); | 351 effect->sample(0, 0.8, duration, values); |
| 352 expectDoubleValue(6.0, values->at(0)); | 352 expectDoubleValue(6.0, values->at(0)); |
| 353 effect->sample(0, 1.0, duration, values); | 353 effect->sample(0, 1.0, duration, values); |
| 354 expectDoubleValue(7.0, values->at(0)); | 354 expectDoubleValue(7.0, values->at(0)); |
| 355 } | 355 } |
| 356 | 356 |
| 357 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. | 357 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| 358 TEST(AnimationKeyframeEffectModel, DISABLED_PerKeyframeComposite) | 358 TEST(AnimationKeyframeEffectModel, DISABLED_PerKeyframeComposite) |
| 359 { | 359 { |
| 360 AnimatableValueKeyframeVector keyframes(2); | 360 AnimatableValueKeyframeVector keyframes(2); |
| 361 keyframes[0] = AnimatableValueKeyframe::create(); | 361 keyframes[0] = AnimatableValueKeyframe::create(); |
| 362 keyframes[0]->setOffset(0.0); | 362 keyframes[0]->setOffset(0.0); |
| 363 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(3.0).ge
t()); | 363 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(3.0).ge
t()); |
| 364 keyframes[1] = AnimatableValueKeyframe::create(); | 364 keyframes[1] = AnimatableValueKeyframe::create(); |
| 365 keyframes[1]->setOffset(1.0); | 365 keyframes[1]->setOffset(1.0); |
| 366 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge
t()); | 366 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge
t()); |
| 367 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); | 367 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
| 368 | 368 |
| 369 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 369 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 370 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 370 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 371 effect->sample(0, 0.6, duration, values); | 371 effect->sample(0, 0.6, duration, values); |
| 372 expectDoubleValue(3.0 * 0.4 + (7.0 + 5.0) * 0.6, values->at(0)); | 372 expectDoubleValue(3.0 * 0.4 + (7.0 + 5.0) * 0.6, values->at(0)); |
| 373 } | 373 } |
| 374 | 374 |
| 375 TEST(AnimationKeyframeEffectModel, MultipleProperties) | 375 TEST(AnimationKeyframeEffectModel, MultipleProperties) |
| 376 { | 376 { |
| 377 AnimatableValueKeyframeVector keyframes(2); | 377 AnimatableValueKeyframeVector keyframes(2); |
| 378 keyframes[0] = AnimatableValueKeyframe::create(); | 378 keyframes[0] = AnimatableValueKeyframe::create(); |
| 379 keyframes[0]->setOffset(0.0); | 379 keyframes[0]->setOffset(0.0); |
| 380 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0).
get()); | 380 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0).
get()); |
| 381 keyframes[0]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(4.0)
.get()); | 381 keyframes[0]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(4.0)
.get()); |
| 382 keyframes[1] = AnimatableValueKeyframe::create(); | 382 keyframes[1] = AnimatableValueKeyframe::create(); |
| 383 keyframes[1]->setOffset(1.0); | 383 keyframes[1]->setOffset(1.0); |
| 384 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0).
get()); | 384 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0).
get()); |
| 385 keyframes[1]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(6.0)
.get()); | 385 keyframes[1]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(6.0)
.get()); |
| 386 | 386 |
| 387 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 387 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 388 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 388 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 389 effect->sample(0, 0.6, duration, values); | 389 effect->sample(0, 0.6, duration, values); |
| 390 EXPECT_EQ(2UL, values->size()); | 390 EXPECT_EQ(2UL, values->size()); |
| 391 Interpolation* leftValue = findValue(*values.get(), CSSPropertyLeft); | 391 Interpolation* leftValue = findValue(*values.get(), CSSPropertyLeft); |
| 392 ASSERT_TRUE(leftValue); | 392 ASSERT_TRUE(leftValue); |
| 393 expectDoubleValue(5.0, leftValue); | 393 expectDoubleValue(5.0, leftValue); |
| 394 Interpolation* rightValue = findValue(*values.get(), CSSPropertyRight); | 394 Interpolation* rightValue = findValue(*values.get(), CSSPropertyRight); |
| 395 ASSERT_TRUE(rightValue); | 395 ASSERT_TRUE(rightValue); |
| 396 expectDoubleValue(6.0, rightValue); | 396 expectDoubleValue(6.0, rightValue); |
| 397 } | 397 } |
| 398 | 398 |
| 399 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. | 399 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| 400 TEST(AnimationKeyframeEffectModel, DISABLED_RecompositeCompositableValue) | 400 TEST(AnimationKeyframeEffectModel, DISABLED_RecompositeCompositableValue) |
| 401 { | 401 { |
| 402 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); | 402 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(3.0), pixelAnimatableValue(5.0)); |
| 403 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); | 403 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); |
| 404 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); | 404 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
| 405 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 405 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 406 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 406 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 407 effect->sample(0, 0.6, duration, values); | 407 effect->sample(0, 0.6, duration, values); |
| 408 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->at(0)); | 408 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->at(0)); |
| 409 expectDoubleValue((9.0 + 3.0) * 0.4 + (9.0 + 5.0) * 0.6, values->at(0)); | 409 expectDoubleValue((9.0 + 3.0) * 0.4 + (9.0 + 5.0) * 0.6, values->at(0)); |
| 410 } | 410 } |
| 411 | 411 |
| 412 TEST(AnimationKeyframeEffectModel, MultipleIterations) | 412 TEST(AnimationKeyframeEffectModel, MultipleIterations) |
| 413 { | 413 { |
| 414 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(1.0), pixelAnimatableValue(3.0)); | 414 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata
bleValue(1.0), pixelAnimatableValue(3.0)); |
| 415 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 415 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 416 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 416 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 417 effect->sample(0, 0.5, duration, values); | 417 effect->sample(0, 0.5, duration, values); |
| 418 expectDoubleValue(2.0, values->at(0)); | 418 expectDoubleValue(2.0, values->at(0)); |
| 419 effect->sample(1, 0.5, duration, values); | 419 effect->sample(1, 0.5, duration, values); |
| 420 expectDoubleValue(2.0, values->at(0)); | 420 expectDoubleValue(2.0, values->at(0)); |
| 421 effect->sample(2, 0.5, duration, values); | 421 effect->sample(2, 0.5, duration, values); |
| 422 expectDoubleValue(2.0, values->at(0)); | 422 expectDoubleValue(2.0, values->at(0)); |
| 423 } | 423 } |
| 424 | 424 |
| 425 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. | 425 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| 426 TEST(AnimationKeyframeEffectModel, DISABLED_DependsOnUnderlyingValue) | 426 TEST(AnimationKeyframeEffectModel, DISABLED_DependsOnUnderlyingValue) |
| 427 { | 427 { |
| 428 AnimatableValueKeyframeVector keyframes(3); | 428 AnimatableValueKeyframeVector keyframes(3); |
| 429 keyframes[0] = AnimatableValueKeyframe::create(); | 429 keyframes[0] = AnimatableValueKeyframe::create(); |
| 430 keyframes[0]->setOffset(0.0); | 430 keyframes[0]->setOffset(0.0); |
| 431 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge
t()); | 431 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge
t()); |
| 432 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); | 432 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); |
| 433 keyframes[1] = AnimatableValueKeyframe::create(); | 433 keyframes[1] = AnimatableValueKeyframe::create(); |
| 434 keyframes[1]->setOffset(0.5); | 434 keyframes[1]->setOffset(0.5); |
| 435 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge
t()); | 435 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge
t()); |
| 436 keyframes[2] = AnimatableValueKeyframe::create(); | 436 keyframes[2] = AnimatableValueKeyframe::create(); |
| 437 keyframes[2]->setOffset(1.0); | 437 keyframes[2]->setOffset(1.0); |
| 438 keyframes[2]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge
t()); | 438 keyframes[2]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge
t()); |
| 439 | 439 |
| 440 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); | 440 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa
lueKeyframeEffectModel::create(keyframes); |
| 441 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va
lues = nullptr; | 441 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu
es = nullptr; |
| 442 effect->sample(0, 0, duration, values); | 442 effect->sample(0, 0, duration, values); |
| 443 EXPECT_TRUE(values->at(0)); | 443 EXPECT_TRUE(values->at(0)); |
| 444 effect->sample(0, 0.1, duration, values); | 444 effect->sample(0, 0.1, duration, values); |
| 445 EXPECT_TRUE(values->at(0)); | 445 EXPECT_TRUE(values->at(0)); |
| 446 effect->sample(0, 0.25, duration, values); | 446 effect->sample(0, 0.25, duration, values); |
| 447 EXPECT_TRUE(values->at(0)); | 447 EXPECT_TRUE(values->at(0)); |
| 448 effect->sample(0, 0.4, duration, values); | 448 effect->sample(0, 0.4, duration, values); |
| 449 EXPECT_TRUE(values->at(0)); | 449 EXPECT_TRUE(values->at(0)); |
| 450 effect->sample(0, 0.5, duration, values); | 450 effect->sample(0, 0.5, duration, values); |
| 451 EXPECT_FALSE(values->at(0)); | 451 EXPECT_FALSE(values->at(0)); |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 565 EXPECT_DOUBLE_EQ(0.6, result[5]->offset()); | 565 EXPECT_DOUBLE_EQ(0.6, result[5]->offset()); |
| 566 EXPECT_DOUBLE_EQ(0.7, result[6]->offset()); | 566 EXPECT_DOUBLE_EQ(0.7, result[6]->offset()); |
| 567 EXPECT_DOUBLE_EQ(0.8, result[7]->offset()); | 567 EXPECT_DOUBLE_EQ(0.8, result[7]->offset()); |
| 568 EXPECT_DOUBLE_EQ(0.85, result[8]->offset()); | 568 EXPECT_DOUBLE_EQ(0.85, result[8]->offset()); |
| 569 EXPECT_DOUBLE_EQ(0.9, result[9]->offset()); | 569 EXPECT_DOUBLE_EQ(0.9, result[9]->offset()); |
| 570 EXPECT_DOUBLE_EQ(0.95, result[10]->offset()); | 570 EXPECT_DOUBLE_EQ(0.95, result[10]->offset()); |
| 571 EXPECT_DOUBLE_EQ(1.0, result[11]->offset()); | 571 EXPECT_DOUBLE_EQ(1.0, result[11]->offset()); |
| 572 } | 572 } |
| 573 | 573 |
| 574 } // namespace blink | 574 } // namespace blink |
| OLD | NEW |