OLD | NEW |
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 |
OLD | NEW |