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

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

Issue 149363002: Web Animations API: Implement step-middle and steps(x, middle) timing functions. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Merged patch into fresh branch (to avoid scary rebase) 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013, Google Inc. All rights reserved. 2 * Copyright (c) 2013, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 14 matching lines...) Expand all
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #include "config.h" 31 #include "config.h"
32 32
33 #include "core/animation/CompositorAnimations.h" 33 #include "core/animation/CompositorAnimations.h"
34 34
35 #include "platform/animation/TimingFunctionTestHelper.h"
36
37 #include "wtf/PassRefPtr.h" 35 #include "wtf/PassRefPtr.h"
38 #include "wtf/RefPtr.h" 36 #include "wtf/RefPtr.h"
39 37
40 #include <gmock/gmock.h> 38 #include <gmock/gmock.h>
41 #include <gtest/gtest.h> 39 #include <gtest/gtest.h>
42 40
43 // FIXME: Remove once https://codereview.chromium.org/50603011/ lands. 41 // FIXME: Remove once https://codereview.chromium.org/50603011/ lands.
44 #define EXPECT_REFV_EQ(a, b) EXPECT_EQ(*(a.get()), *(b.get())) 42 #define EXPECT_REFV_EQ(a, b) EXPECT_EQ(*(a.get()), *(b.get()))
45 #define EXPECT_REFV_NE(a, b) EXPECT_NE(*(a.get()), *(b.get())) 43 #define EXPECT_REFV_NE(a, b) EXPECT_NE(*(a.get()), *(b.get()))
46 44
(...skipping 30 matching lines...) Expand all
77 RefPtr<TimingFunction> cubicCustomTiming = CubicBezierTimingFunction::create (0.17, 0.67, 1, -1.73); 75 RefPtr<TimingFunction> cubicCustomTiming = CubicBezierTimingFunction::create (0.17, 0.67, 1, -1.73);
78 // Due to floating point, 1.0-(-1.73) != 2.73 76 // Due to floating point, 1.0-(-1.73) != 2.73
79 RefPtr<TimingFunction> cubicCustomTimingReversed = CubicBezierTimingFunction ::create(0, 1.0 - (-1.73), 1.0 - 0.17, 1.0 - 0.67); 77 RefPtr<TimingFunction> cubicCustomTimingReversed = CubicBezierTimingFunction ::create(0, 1.0 - (-1.73), 1.0 - 0.17, 1.0 - 0.67);
80 EXPECT_REFV_EQ(cubicCustomTimingReversed, reverse(cubicCustomTiming)); 78 EXPECT_REFV_EQ(cubicCustomTimingReversed, reverse(cubicCustomTiming));
81 79
82 RefPtr<TimingFunction> cubicEaseTiming = CubicBezierTimingFunction::preset(C ubicBezierTimingFunction::Ease); 80 RefPtr<TimingFunction> cubicEaseTiming = CubicBezierTimingFunction::preset(C ubicBezierTimingFunction::Ease);
83 RefPtr<TimingFunction> cubicEaseTimingReversed = CubicBezierTimingFunction:: create(1.0 - 0.25, 0.0, 1.0 - 0.25, 1.0 - 0.1); 81 RefPtr<TimingFunction> cubicEaseTimingReversed = CubicBezierTimingFunction:: create(1.0 - 0.25, 0.0, 1.0 - 0.25, 1.0 - 0.1);
84 EXPECT_REFV_EQ(cubicEaseTimingReversed, reverse(cubicEaseTiming)); 82 EXPECT_REFV_EQ(cubicEaseTimingReversed, reverse(cubicEaseTiming));
85 } 83 }
86 84
87 TEST_F(AnimationCompositorAnimationsTimingFunctionReverserTest, ChainedReverse)
88 {
89 RefPtr<TimingFunction> linearTiming = LinearTimingFunction::create();
90 RefPtr<ChainedTimingFunction> chainedLinearSingle = ChainedTimingFunction::c reate();
91 chainedLinearSingle->appendSegment(1.0, linearTiming.get());
92 EXPECT_REFV_EQ(chainedLinearSingle, reverse(chainedLinearSingle));
93
94 RefPtr<TimingFunction> cubicEaseInTiming = CubicBezierTimingFunction::preset (CubicBezierTimingFunction::EaseIn);
95 RefPtr<TimingFunction> cubicEaseOutTiming = CubicBezierTimingFunction::prese t(CubicBezierTimingFunction::EaseOut);
96
97 RefPtr<ChainedTimingFunction> chainedMixed = ChainedTimingFunction::create() ;
98 chainedMixed->appendSegment(0.75, chainedLinearSingle.get());
99 chainedMixed->appendSegment(1.0, cubicEaseInTiming.get());
100
101 RefPtr<ChainedTimingFunction> chainedMixedReversed = ChainedTimingFunction:: create();
102 chainedMixedReversed->appendSegment(0.25, cubicEaseOutTiming.get());
103 chainedMixedReversed->appendSegment(1.0, chainedLinearSingle.get());
104 EXPECT_REFV_EQ(chainedMixedReversed, reverse(chainedMixed));
105 }
106
107 } // namespace 85 } // namespace
OLDNEW
« no previous file with comments | « Source/core/animation/CompositorAnimationsTest.cpp ('k') | Source/core/animation/TimedItemCalculationsTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698