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

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

Issue 180743013: Ensure DOMWrapperWorld always exists in all webkit_unit_tests (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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/AnimationTest.cpp ('k') | Source/modules/indexeddb/IDBRequestTest.cpp » ('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/Animation.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 #include "platform/animation/TimingFunctionTestHelper.h" 11 #include "platform/animation/TimingFunctionTestHelper.h"
12 12
13 #include <gtest/gtest.h> 13 #include <gtest/gtest.h>
14 14
15 namespace WebCore { 15 namespace WebCore {
16 16
17 class AnimationAnimationTimingInputTest : public ::testing::Test { 17 class AnimationAnimationTimingInputTest : public ::testing::Test {
18 protected: 18 protected:
19 AnimationAnimationTimingInputTest() 19 AnimationAnimationTimingInputTest()
20 : isolate(v8::Isolate::GetCurrent()) 20 : m_isolate(v8::Isolate::GetCurrent())
21 , scope(isolate) 21 , m_scope(V8BindingTestScope::create(m_isolate))
22 , context(v8::Context::New(isolate))
23 , contextScope(context)
24 { 22 {
25 } 23 }
26 24
27 v8::Isolate* isolate;
28 v8::HandleScope scope;
29 v8::Local<v8::Context> context;
30 v8::Context::Scope contextScope;
31
32 void populateTiming(Timing& timing, Dictionary timingInputDictionary) 25 void populateTiming(Timing& timing, Dictionary timingInputDictionary)
33 { 26 {
34 Animation::populateTiming(timing, timingInputDictionary); 27 Animation::populateTiming(timing, timingInputDictionary);
35 } 28 }
36 29
37 Timing applyTimingInputNumber(String timingProperty, double timingPropertyVa lue) 30 Timing applyTimingInputNumber(String timingProperty, double timingPropertyVa lue)
38 { 31 {
39 v8::Handle<v8::Object> timingInput = v8::Object::New(isolate); 32 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate);
40 setV8ObjectPropertyAsNumber(timingInput, timingProperty, timingPropertyV alue); 33 setV8ObjectPropertyAsNumber(timingInput, timingProperty, timingPropertyV alue);
41 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cas t(timingInput), isolate); 34 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cas t(timingInput), m_isolate);
42 Timing timing; 35 Timing timing;
43 populateTiming(timing, timingInputDictionary); 36 populateTiming(timing, timingInputDictionary);
44 return timing; 37 return timing;
45 } 38 }
46 39
47 Timing applyTimingInputString(String timingProperty, String timingPropertyVa lue) 40 Timing applyTimingInputString(String timingProperty, String timingPropertyVa lue)
48 { 41 {
49 v8::Handle<v8::Object> timingInput = v8::Object::New(isolate); 42 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate);
50 setV8ObjectPropertyAsString(timingInput, timingProperty, timingPropertyV alue); 43 setV8ObjectPropertyAsString(timingInput, timingProperty, timingPropertyV alue);
51 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cas t(timingInput), isolate); 44 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cas t(timingInput), m_isolate);
52 Timing timing; 45 Timing timing;
53 populateTiming(timing, timingInputDictionary); 46 populateTiming(timing, timingInputDictionary);
54 return timing; 47 return timing;
55 } 48 }
49
50 v8::Isolate* m_isolate;
51
52 private:
53 OwnPtr<V8BindingTestScope> m_scope;
56 }; 54 };
57 55
58 TEST_F(AnimationAnimationTimingInputTest, TimingInputStartDelay) 56 TEST_F(AnimationAnimationTimingInputTest, TimingInputStartDelay)
59 { 57 {
60 EXPECT_EQ(1.1, applyTimingInputNumber("delay", 1.1).startDelay); 58 EXPECT_EQ(1.1, applyTimingInputNumber("delay", 1.1).startDelay);
61 EXPECT_EQ(-1, applyTimingInputNumber("delay", -1).startDelay); 59 EXPECT_EQ(-1, applyTimingInputNumber("delay", -1).startDelay);
62 EXPECT_EQ(1, applyTimingInputString("delay", "1").startDelay); 60 EXPECT_EQ(1, applyTimingInputString("delay", "1").startDelay);
63 EXPECT_EQ(0, applyTimingInputString("delay", "1s").startDelay); 61 EXPECT_EQ(0, applyTimingInputString("delay", "1s").startDelay);
64 EXPECT_EQ(0, applyTimingInputString("delay", "Infinity").startDelay); 62 EXPECT_EQ(0, applyTimingInputString("delay", "Infinity").startDelay);
65 EXPECT_EQ(0, applyTimingInputString("delay", "-Infinity").startDelay); 63 EXPECT_EQ(0, applyTimingInputString("delay", "-Infinity").startDelay);
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "cubic-b ezier(2, 2, 0.3, 0.3)").timingFunction); 168 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "cubic-b ezier(2, 2, 0.3, 0.3)").timingFunction);
171 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "rubbish ").timingFunction); 169 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputString("easing", "rubbish ").timingFunction);
172 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputNumber("easing", 2).timin gFunction); 170 EXPECT_EQ(*defaultTimingFunction, *applyTimingInputNumber("easing", 2).timin gFunction);
173 } 171 }
174 172
175 TEST_F(AnimationAnimationTimingInputTest, TimingInputEmpty) 173 TEST_F(AnimationAnimationTimingInputTest, TimingInputEmpty)
176 { 174 {
177 Timing updatedTiming; 175 Timing updatedTiming;
178 Timing controlTiming; 176 Timing controlTiming;
179 177
180 v8::Handle<v8::Object> timingInput = v8::Object::New(isolate); 178 v8::Handle<v8::Object> timingInput = v8::Object::New(m_isolate);
181 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cast(ti mingInput), isolate); 179 Dictionary timingInputDictionary = Dictionary(v8::Handle<v8::Value>::Cast(ti mingInput), m_isolate);
182 populateTiming(updatedTiming, timingInputDictionary); 180 populateTiming(updatedTiming, timingInputDictionary);
183 181
184 EXPECT_EQ(controlTiming.startDelay, updatedTiming.startDelay); 182 EXPECT_EQ(controlTiming.startDelay, updatedTiming.startDelay);
185 EXPECT_EQ(controlTiming.fillMode, updatedTiming.fillMode); 183 EXPECT_EQ(controlTiming.fillMode, updatedTiming.fillMode);
186 EXPECT_EQ(controlTiming.iterationStart, updatedTiming.iterationStart); 184 EXPECT_EQ(controlTiming.iterationStart, updatedTiming.iterationStart);
187 EXPECT_EQ(controlTiming.iterationCount, updatedTiming.iterationCount); 185 EXPECT_EQ(controlTiming.iterationCount, updatedTiming.iterationCount);
188 EXPECT_TRUE(std::isnan(updatedTiming.iterationDuration)); 186 EXPECT_TRUE(std::isnan(updatedTiming.iterationDuration));
189 EXPECT_EQ(controlTiming.playbackRate, updatedTiming.playbackRate); 187 EXPECT_EQ(controlTiming.playbackRate, updatedTiming.playbackRate);
190 EXPECT_EQ(controlTiming.direction, updatedTiming.direction); 188 EXPECT_EQ(controlTiming.direction, updatedTiming.direction);
191 EXPECT_EQ(*controlTiming.timingFunction, *updatedTiming.timingFunction); 189 EXPECT_EQ(*controlTiming.timingFunction, *updatedTiming.timingFunction);
192 } 190 }
193 191
194 } // namespace WebCore 192 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/animation/AnimationTest.cpp ('k') | Source/modules/indexeddb/IDBRequestTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698