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

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

Issue 182063005: Web Animations API: Refactor IDL input conversion out of Animation (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/animation/TimingInput.cpp ('k') | Source/core/core.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/Animation.h" 6 #include "core/animation/TimingInput.h"
7 7
8 #include "bindings/v8/Dictionary.h" 8 #include "bindings/v8/Dictionary.h"
9 #include "core/animation/AnimationTestHelper.h" 9 #include "core/animation/AnimationTestHelper.h"
10 #include "core/animation/TimedItemTiming.h" 10 #include "core/animation/TimedItemTiming.h"
11 11
12 #include <gtest/gtest.h> 12 #include <gtest/gtest.h>
13 13
14 namespace WebCore { 14 namespace WebCore {
15 15
16 class AnimationAnimationTimingInputTest : public ::testing::Test { 16 class AnimationTimingInputTest : public ::testing::Test {
17 protected: 17 protected:
18 AnimationAnimationTimingInputTest() 18 AnimationTimingInputTest()
19 : m_isolate(v8::Isolate::GetCurrent()) 19 : m_isolate(v8::Isolate::GetCurrent())
20 , m_scope(V8BindingTestScope::create(m_isolate)) 20 , m_scope(V8BindingTestScope::create(m_isolate))
21 { 21 {
22 } 22 }
23 23
24 void populateTiming(Timing& timing, Dictionary timingInputDictionary)
25 {
26 Animation::populateTiming(timing, timingInputDictionary);
27 }
28
29 Timing applyTimingInputNumber(String timingProperty, double timingPropertyVa lue) 24 Timing applyTimingInputNumber(String timingProperty, double timingPropertyVa lue)
30 { 25 {
31 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate); 26 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate);
32 setV8ObjectPropertyAsNumber(timingInput, timingProperty, timingPropertyV alue); 27 setV8ObjectPropertyAsNumber(timingInput, timingProperty, timingPropertyV alue);
33 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cas t(timingInput), m_isolate); 28 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cas t(timingInput), m_isolate);
34 Timing timing; 29 return TimingInput::convert(timingInputDictionary);
35 populateTiming(timing, timingInputDictionary);
36 return timing;
37 } 30 }
38 31
39 Timing applyTimingInputString(String timingProperty, String timingPropertyVa lue) 32 Timing applyTimingInputString(String timingProperty, String timingPropertyVa lue)
40 { 33 {
41 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate); 34 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate);
42 setV8ObjectPropertyAsString(timingInput, timingProperty, timingPropertyV alue); 35 setV8ObjectPropertyAsString(timingInput, timingProperty, timingPropertyV alue);
43 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cas t(timingInput), m_isolate); 36 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cas t(timingInput), m_isolate);
44 Timing timing; 37 return TimingInput::convert(timingInputDictionary);
45 populateTiming(timing, timingInputDictionary);
46 return timing;
47 } 38 }
48 39
49 v8::Isolate* m_isolate; 40 v8::Isolate* m_isolate;
50 41
51 private: 42 private:
52 OwnPtr<V8BindingTestScope> m_scope; 43 OwnPtr<V8BindingTestScope> m_scope;
53 }; 44 };
54 45
55 TEST_F(AnimationAnimationTimingInputTest, TimingInputStartDelay) 46 TEST_F(AnimationTimingInputTest, TimingInputStartDelay)
56 { 47 {
57 EXPECT_EQ(1.1, applyTimingInputNumber("delay", 1.1).startDelay); 48 EXPECT_EQ(1.1, applyTimingInputNumber("delay", 1.1).startDelay);
58 EXPECT_EQ(-1, applyTimingInputNumber("delay", -1).startDelay); 49 EXPECT_EQ(-1, applyTimingInputNumber("delay", -1).startDelay);
59 EXPECT_EQ(1, applyTimingInputString("delay", "1").startDelay); 50 EXPECT_EQ(1, applyTimingInputString("delay", "1").startDelay);
60 EXPECT_EQ(0, applyTimingInputString("delay", "1s").startDelay); 51 EXPECT_EQ(0, applyTimingInputString("delay", "1s").startDelay);
61 EXPECT_EQ(0, applyTimingInputString("delay", "Infinity").startDelay); 52 EXPECT_EQ(0, applyTimingInputString("delay", "Infinity").startDelay);
62 EXPECT_EQ(0, applyTimingInputString("delay", "-Infinity").startDelay); 53 EXPECT_EQ(0, applyTimingInputString("delay", "-Infinity").startDelay);
63 EXPECT_EQ(0, applyTimingInputString("delay", "NaN").startDelay); 54 EXPECT_EQ(0, applyTimingInputString("delay", "NaN").startDelay);
64 EXPECT_EQ(0, applyTimingInputString("delay", "rubbish").startDelay); 55 EXPECT_EQ(0, applyTimingInputString("delay", "rubbish").startDelay);
65 } 56 }
66 57
67 TEST_F(AnimationAnimationTimingInputTest, TimingInputEndDelay) 58 TEST_F(AnimationTimingInputTest, TimingInputEndDelay)
68 { 59 {
69 EXPECT_EQ(10, applyTimingInputNumber("endDelay", 10).endDelay); 60 EXPECT_EQ(10, applyTimingInputNumber("endDelay", 10).endDelay);
70 EXPECT_EQ(-2.5, applyTimingInputNumber("endDelay", -2.5).endDelay); 61 EXPECT_EQ(-2.5, applyTimingInputNumber("endDelay", -2.5).endDelay);
71 } 62 }
72 63
73 TEST_F(AnimationAnimationTimingInputTest, TimingInputFillMode) 64 TEST_F(AnimationTimingInputTest, TimingInputFillMode)
74 { 65 {
75 Timing::FillMode defaultFillMode = Timing::FillModeAuto; 66 Timing::FillMode defaultFillMode = Timing::FillModeAuto;
76 67
77 EXPECT_EQ(Timing::FillModeAuto, applyTimingInputString("fill", "auto").fillM ode); 68 EXPECT_EQ(Timing::FillModeAuto, applyTimingInputString("fill", "auto").fillM ode);
78 EXPECT_EQ(Timing::FillModeForwards, applyTimingInputString("fill", "forwards ").fillMode); 69 EXPECT_EQ(Timing::FillModeForwards, applyTimingInputString("fill", "forwards ").fillMode);
79 EXPECT_EQ(Timing::FillModeNone, applyTimingInputString("fill", "none").fillM ode); 70 EXPECT_EQ(Timing::FillModeNone, applyTimingInputString("fill", "none").fillM ode);
80 EXPECT_EQ(Timing::FillModeBackwards, applyTimingInputString("fill", "backwar ds").fillMode); 71 EXPECT_EQ(Timing::FillModeBackwards, applyTimingInputString("fill", "backwar ds").fillMode);
81 EXPECT_EQ(Timing::FillModeBoth, applyTimingInputString("fill", "both").fillM ode); 72 EXPECT_EQ(Timing::FillModeBoth, applyTimingInputString("fill", "both").fillM ode);
82 EXPECT_EQ(defaultFillMode, applyTimingInputString("fill", "everything!").fil lMode); 73 EXPECT_EQ(defaultFillMode, applyTimingInputString("fill", "everything!").fil lMode);
83 EXPECT_EQ(defaultFillMode, applyTimingInputString("fill", "backwardsandforwa rds").fillMode); 74 EXPECT_EQ(defaultFillMode, applyTimingInputString("fill", "backwardsandforwa rds").fillMode);
84 EXPECT_EQ(defaultFillMode, applyTimingInputNumber("fill", 2).fillMode); 75 EXPECT_EQ(defaultFillMode, applyTimingInputNumber("fill", 2).fillMode);
85 } 76 }
86 77
87 TEST_F(AnimationAnimationTimingInputTest, TimingInputIterationStart) 78 TEST_F(AnimationTimingInputTest, TimingInputIterationStart)
88 { 79 {
89 EXPECT_EQ(1.1, applyTimingInputNumber("iterationStart", 1.1).iterationStart) ; 80 EXPECT_EQ(1.1, applyTimingInputNumber("iterationStart", 1.1).iterationStart) ;
90 EXPECT_EQ(0, applyTimingInputNumber("iterationStart", -1).iterationStart); 81 EXPECT_EQ(0, applyTimingInputNumber("iterationStart", -1).iterationStart);
91 EXPECT_EQ(0, applyTimingInputString("iterationStart", "Infinity").iterationS tart); 82 EXPECT_EQ(0, applyTimingInputString("iterationStart", "Infinity").iterationS tart);
92 EXPECT_EQ(0, applyTimingInputString("iterationStart", "-Infinity").iteration Start); 83 EXPECT_EQ(0, applyTimingInputString("iterationStart", "-Infinity").iteration Start);
93 EXPECT_EQ(0, applyTimingInputString("iterationStart", "NaN").iterationStart) ; 84 EXPECT_EQ(0, applyTimingInputString("iterationStart", "NaN").iterationStart) ;
94 EXPECT_EQ(0, applyTimingInputString("iterationStart", "rubbish").iterationSt art); 85 EXPECT_EQ(0, applyTimingInputString("iterationStart", "rubbish").iterationSt art);
95 } 86 }
96 87
97 TEST_F(AnimationAnimationTimingInputTest, TimingInputIterationCount) 88 TEST_F(AnimationTimingInputTest, TimingInputIterationCount)
98 { 89 {
99 EXPECT_EQ(2.1, applyTimingInputNumber("iterations", 2.1).iterationCount); 90 EXPECT_EQ(2.1, applyTimingInputNumber("iterations", 2.1).iterationCount);
100 EXPECT_EQ(0, applyTimingInputNumber("iterations", -1).iterationCount); 91 EXPECT_EQ(0, applyTimingInputNumber("iterations", -1).iterationCount);
101 92
102 Timing timing = applyTimingInputString("iterations", "Infinity"); 93 Timing timing = applyTimingInputString("iterations", "Infinity");
103 EXPECT_TRUE(std::isinf(timing.iterationCount)); 94 EXPECT_TRUE(std::isinf(timing.iterationCount));
104 EXPECT_GT(timing.iterationCount, 0); 95 EXPECT_GT(timing.iterationCount, 0);
105 96
106 EXPECT_EQ(0, applyTimingInputString("iterations", "-Infinity").iterationCoun t); 97 EXPECT_EQ(0, applyTimingInputString("iterations", "-Infinity").iterationCoun t);
107 EXPECT_EQ(1, applyTimingInputString("iterations", "NaN").iterationCount); 98 EXPECT_EQ(1, applyTimingInputString("iterations", "NaN").iterationCount);
108 EXPECT_EQ(1, applyTimingInputString("iterations", "rubbish").iterationCount) ; 99 EXPECT_EQ(1, applyTimingInputString("iterations", "rubbish").iterationCount) ;
109 } 100 }
110 101
111 TEST_F(AnimationAnimationTimingInputTest, TimingInputIterationDuration) 102 TEST_F(AnimationTimingInputTest, TimingInputIterationDuration)
112 { 103 {
113 EXPECT_EQ(1.1, applyTimingInputNumber("duration", 1.1).iterationDuration); 104 EXPECT_EQ(1.1, applyTimingInputNumber("duration", 1.1).iterationDuration);
114 EXPECT_TRUE(std::isnan(applyTimingInputNumber("duration", -1).iterationDurat ion)); 105 EXPECT_TRUE(std::isnan(applyTimingInputNumber("duration", -1).iterationDurat ion));
115 EXPECT_EQ(1, applyTimingInputString("duration", "1").iterationDuration); 106 EXPECT_EQ(1, applyTimingInputString("duration", "1").iterationDuration);
116 107
117 Timing timing = applyTimingInputString("duration", "Infinity"); 108 Timing timing = applyTimingInputString("duration", "Infinity");
118 EXPECT_TRUE(std::isinf(timing.iterationDuration)); 109 EXPECT_TRUE(std::isinf(timing.iterationDuration));
119 EXPECT_GT(timing.iterationDuration, 0); 110 EXPECT_GT(timing.iterationDuration, 0);
120 111
121 EXPECT_TRUE(std::isnan(applyTimingInputString("duration", "-Infinity").itera tionDuration)); 112 EXPECT_TRUE(std::isnan(applyTimingInputString("duration", "-Infinity").itera tionDuration));
122 EXPECT_TRUE(std::isnan(applyTimingInputString("duration", "NaN").iterationDu ration)); 113 EXPECT_TRUE(std::isnan(applyTimingInputString("duration", "NaN").iterationDu ration));
123 EXPECT_TRUE(std::isnan(applyTimingInputString("duration", "auto").iterationD uration)); 114 EXPECT_TRUE(std::isnan(applyTimingInputString("duration", "auto").iterationD uration));
124 EXPECT_TRUE(std::isnan(applyTimingInputString("duration", "rubbish").iterati onDuration)); 115 EXPECT_TRUE(std::isnan(applyTimingInputString("duration", "rubbish").iterati onDuration));
125 } 116 }
126 117
127 TEST_F(AnimationAnimationTimingInputTest, TimingInputPlaybackRate) 118 TEST_F(AnimationTimingInputTest, TimingInputPlaybackRate)
128 { 119 {
129 EXPECT_EQ(2.1, applyTimingInputNumber("playbackRate", 2.1).playbackRate); 120 EXPECT_EQ(2.1, applyTimingInputNumber("playbackRate", 2.1).playbackRate);
130 EXPECT_EQ(-1, applyTimingInputNumber("playbackRate", -1).playbackRate); 121 EXPECT_EQ(-1, applyTimingInputNumber("playbackRate", -1).playbackRate);
131 EXPECT_EQ(1, applyTimingInputString("playbackRate", "Infinity").playbackRate ); 122 EXPECT_EQ(1, applyTimingInputString("playbackRate", "Infinity").playbackRate );
132 EXPECT_EQ(1, applyTimingInputString("playbackRate", "-Infinity").playbackRat e); 123 EXPECT_EQ(1, applyTimingInputString("playbackRate", "-Infinity").playbackRat e);
133 EXPECT_EQ(1, applyTimingInputString("playbackRate", "NaN").playbackRate); 124 EXPECT_EQ(1, applyTimingInputString("playbackRate", "NaN").playbackRate);
134 EXPECT_EQ(1, applyTimingInputString("playbackRate", "rubbish").playbackRate) ; 125 EXPECT_EQ(1, applyTimingInputString("playbackRate", "rubbish").playbackRate) ;
135 } 126 }
136 127
137 TEST_F(AnimationAnimationTimingInputTest, TimingInputDirection) 128 TEST_F(AnimationTimingInputTest, TimingInputDirection)
138 { 129 {
139 Timing::PlaybackDirection defaultPlaybackDirection = Timing::PlaybackDirecti onNormal; 130 Timing::PlaybackDirection defaultPlaybackDirection = Timing::PlaybackDirecti onNormal;
140 131
141 EXPECT_EQ(Timing::PlaybackDirectionNormal, applyTimingInputString("direction ", "normal").direction); 132 EXPECT_EQ(Timing::PlaybackDirectionNormal, applyTimingInputString("direction ", "normal").direction);
142 EXPECT_EQ(Timing::PlaybackDirectionReverse, applyTimingInputString("directio n", "reverse").direction); 133 EXPECT_EQ(Timing::PlaybackDirectionReverse, applyTimingInputString("directio n", "reverse").direction);
143 EXPECT_EQ(Timing::PlaybackDirectionAlternate, applyTimingInputString("direct ion", "alternate").direction); 134 EXPECT_EQ(Timing::PlaybackDirectionAlternate, applyTimingInputString("direct ion", "alternate").direction);
144 EXPECT_EQ(Timing::PlaybackDirectionAlternateReverse, applyTimingInputString( "direction", "alternate-reverse").direction); 135 EXPECT_EQ(Timing::PlaybackDirectionAlternateReverse, applyTimingInputString( "direction", "alternate-reverse").direction);
145 EXPECT_EQ(defaultPlaybackDirection, applyTimingInputString("direction", "rub bish").direction); 136 EXPECT_EQ(defaultPlaybackDirection, applyTimingInputString("direction", "rub bish").direction);
146 EXPECT_EQ(defaultPlaybackDirection, applyTimingInputNumber("direction", 2).d irection); 137 EXPECT_EQ(defaultPlaybackDirection, applyTimingInputNumber("direction", 2).d irection);
147 } 138 }
148 139
149 TEST_F(AnimationAnimationTimingInputTest, TimingInputTimingFunction) 140 TEST_F(AnimationTimingInputTest, TimingInputTimingFunction)
150 { 141 {
151 const RefPtr<TimingFunction> defaultTimingFunction = LinearTimingFunction::c reate(); 142 const RefPtr<TimingFunction> defaultTimingFunction = LinearTimingFunction::c reate();
152 143
153 EXPECT_EQ(*CubicBezierTimingFunction::preset(CubicBezierTimingFunction::Ease ), *applyTimingInputString("easing", "ease").timingFunction); 144 EXPECT_EQ(*CubicBezierTimingFunction::preset(CubicBezierTimingFunction::Ease ), *applyTimingInputString("easing", "ease").timingFunction);
154 EXPECT_EQ(*CubicBezierTimingFunction::preset(CubicBezierTimingFunction::Ease In), *applyTimingInputString("easing", "ease-in").timingFunction); 145 EXPECT_EQ(*CubicBezierTimingFunction::preset(CubicBezierTimingFunction::Ease In), *applyTimingInputString("easing", "ease-in").timingFunction);
155 EXPECT_EQ(*CubicBezierTimingFunction::preset(CubicBezierTimingFunction::Ease Out), *applyTimingInputString("easing", "ease-out").timingFunction); 146 EXPECT_EQ(*CubicBezierTimingFunction::preset(CubicBezierTimingFunction::Ease Out), *applyTimingInputString("easing", "ease-out").timingFunction);
156 EXPECT_EQ(*CubicBezierTimingFunction::preset(CubicBezierTimingFunction::Ease InOut), *applyTimingInputString("easing", "ease-in-out").timingFunction); 147 EXPECT_EQ(*CubicBezierTimingFunction::preset(CubicBezierTimingFunction::Ease InOut), *applyTimingInputString("easing", "ease-in-out").timingFunction);
157 EXPECT_EQ(*LinearTimingFunction::create(), *applyTimingInputString("easing", "linear").timingFunction); 148 EXPECT_EQ(*LinearTimingFunction::create(), *applyTimingInputString("easing", "linear").timingFunction);
158 EXPECT_EQ(*StepsTimingFunction::preset(StepsTimingFunction::Start), *applyTi mingInputString("easing", "step-start").timingFunction); 149 EXPECT_EQ(*StepsTimingFunction::preset(StepsTimingFunction::Start), *applyTi mingInputString("easing", "step-start").timingFunction);
159 EXPECT_EQ(*StepsTimingFunction::preset(StepsTimingFunction::Middle), *applyT imingInputString("easing", "step-middle").timingFunction); 150 EXPECT_EQ(*StepsTimingFunction::preset(StepsTimingFunction::Middle), *applyT imingInputString("easing", "step-middle").timingFunction);
160 EXPECT_EQ(*StepsTimingFunction::preset(StepsTimingFunction::End), *applyTimi ngInputString("easing", "step-end").timingFunction); 151 EXPECT_EQ(*StepsTimingFunction::preset(StepsTimingFunction::End), *applyTimi ngInputString("easing", "step-end").timingFunction);
161 EXPECT_EQ(*CubicBezierTimingFunction::create(1, 1, 0.3, 0.3), *applyTimingIn putString("easing", "cubic-bezier(1, 1, 0.3, 0.3)").timingFunction); 152 EXPECT_EQ(*CubicBezierTimingFunction::create(1, 1, 0.3, 0.3), *applyTimingIn putString("easing", "cubic-bezier(1, 1, 0.3, 0.3)").timingFunction);
162 EXPECT_EQ(*StepsTimingFunction::create(3, StepsTimingFunction::StepAtStart), *applyTimingInputString("easing", "steps(3, start)").timingFunction); 153 EXPECT_EQ(*StepsTimingFunction::create(3, StepsTimingFunction::StepAtStart), *applyTimingInputString("easing", "steps(3, start)").timingFunction);
163 EXPECT_EQ(*StepsTimingFunction::create(5, StepsTimingFunction::StepAtMiddle) , *applyTimingInputString("easing", "steps(5, middle)").timingFunction); 154 EXPECT_EQ(*StepsTimingFunction::create(5, StepsTimingFunction::StepAtMiddle) , *applyTimingInputString("easing", "steps(5, middle)").timingFunction);
164 EXPECT_EQ(*StepsTimingFunction::create(5, StepsTimingFunction::StepAtEnd), * applyTimingInputString("easing", "steps(5, end)").timingFunction); 155 EXPECT_EQ(*StepsTimingFunction::create(5, StepsTimingFunction::StepAtEnd), * applyTimingInputString("easing", "steps(5, end)").timingFunction);
165 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "steps(5 .6, end)").timingFunction); 156 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "steps(5 .6, end)").timingFunction);
166 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "cubic-b ezier(2, 2, 0.3, 0.3)").timingFunction); 157 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "cubic-b ezier(2, 2, 0.3, 0.3)").timingFunction);
167 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "rubbish ").timingFunction); 158 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "rubbish ").timingFunction);
168 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputNumber("easing", 2).timin gFunction); 159 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputNumber("easing", 2).timin gFunction);
169 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "initial ").timingFunction); 160 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "initial ").timingFunction);
170 } 161 }
171 162
172 TEST_F(AnimationAnimationTimingInputTest, TimingInputEmpty) 163 TEST_F(AnimationTimingInputTest, TimingInputEmpty)
173 { 164 {
174 Timing updatedTiming;
175 Timing controlTiming; 165 Timing controlTiming;
176 166
177 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate); 167 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate);
178 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cast(ti mingInput), m_isolate); 168 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cast(ti mingInput), m_isolate);
179 populateTiming(updatedTiming, timingInputDictionary); 169 Timing updatedTiming = TimingInput::convert(timingInputDictionary);
180 170
181 EXPECT_EQ(controlTiming.startDelay, updatedTiming.startDelay); 171 EXPECT_EQ(controlTiming.startDelay, updatedTiming.startDelay);
182 EXPECT_EQ(controlTiming.fillMode, updatedTiming.fillMode); 172 EXPECT_EQ(controlTiming.fillMode, updatedTiming.fillMode);
183 EXPECT_EQ(controlTiming.iterationStart, updatedTiming.iterationStart); 173 EXPECT_EQ(controlTiming.iterationStart, updatedTiming.iterationStart);
184 EXPECT_EQ(controlTiming.iterationCount, updatedTiming.iterationCount); 174 EXPECT_EQ(controlTiming.iterationCount, updatedTiming.iterationCount);
185 EXPECT_TRUE(std::isnan(updatedTiming.iterationDuration)); 175 EXPECT_TRUE(std::isnan(updatedTiming.iterationDuration));
186 EXPECT_EQ(controlTiming.playbackRate, updatedTiming.playbackRate); 176 EXPECT_EQ(controlTiming.playbackRate, updatedTiming.playbackRate);
187 EXPECT_EQ(controlTiming.direction, updatedTiming.direction); 177 EXPECT_EQ(controlTiming.direction, updatedTiming.direction);
188 EXPECT_EQ(*controlTiming.timingFunction, *updatedTiming.timingFunction); 178 EXPECT_EQ(*controlTiming.timingFunction, *updatedTiming.timingFunction);
189 } 179 }
190 180
191 } // namespace WebCore 181 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/animation/TimingInput.cpp ('k') | Source/core/core.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698