| Index: third_party/WebKit/Source/platform/animation/UnitBezierTest.cpp
|
| diff --git a/third_party/WebKit/Source/platform/animation/UnitBezierTest.cpp b/third_party/WebKit/Source/platform/animation/UnitBezierTest.cpp
|
| deleted file mode 100644
|
| index e5172b2214f5f63560cf2f7da34101f9554cfbbf..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/Source/platform/animation/UnitBezierTest.cpp
|
| +++ /dev/null
|
| @@ -1,192 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2013 Google Inc. All rights reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions
|
| - * are met:
|
| - * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright
|
| - * notice, this list of conditions and the following disclaimer in the
|
| - * documentation and/or other materials provided with the distribution.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
|
| - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
| - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
| - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
| - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
| - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
| - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
| - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
| - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| - */
|
| -
|
| -#include "platform/animation/UnitBezier.h"
|
| -
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace blink {
|
| -
|
| -TEST(UnitBezierTest, BasicUse)
|
| -{
|
| - UnitBezier bezier(0.5, 1.0, 0.5, 1.0);
|
| - EXPECT_EQ(0.875, bezier.solve(0.5));
|
| -}
|
| -
|
| -TEST(UnitBezierTest, Overshoot)
|
| -{
|
| - UnitBezier bezier(0.5, 2.0, 0.5, 2.0);
|
| - EXPECT_EQ(1.625, bezier.solve(0.5));
|
| -}
|
| -
|
| -TEST(UnitBezierTest, Undershoot)
|
| -{
|
| - UnitBezier bezier(0.5, -1.0, 0.5, -1.0);
|
| - EXPECT_EQ(-0.625, bezier.solve(0.5));
|
| -}
|
| -
|
| -TEST(UnitBezierTest, InputAtEdgeOfRange)
|
| -{
|
| - UnitBezier bezier(0.5, 1.0, 0.5, 1.0);
|
| - EXPECT_EQ(0.0, bezier.solve(0.0));
|
| - EXPECT_EQ(1.0, bezier.solve(1.0));
|
| -}
|
| -
|
| -TEST(UnitBezierTest, InputOutOfRange)
|
| -{
|
| - UnitBezier bezier(0.5, 1.0, 0.5, 1.0);
|
| - EXPECT_EQ(-2.0, bezier.solve(-1.0));
|
| - EXPECT_EQ(1.0, bezier.solve(2.0));
|
| -}
|
| -
|
| -TEST(UnitBezierTest, InputOutOfRangeLargeEpsilon)
|
| -{
|
| - UnitBezier bezier(0.5, 1.0, 0.5, 1.0);
|
| - EXPECT_EQ(-2.0, bezier.solveWithEpsilon(-1.0, 1.0));
|
| - EXPECT_EQ(1.0, bezier.solveWithEpsilon(2.0, 1.0));
|
| -}
|
| -
|
| -TEST(UnitBezierTest, InputOutOfRangeCoincidentEndpoints)
|
| -{
|
| - UnitBezier bezier(0.0, 0.0, 1.0, 1.0);
|
| - EXPECT_EQ(-1.0, bezier.solve(-1.0));
|
| - EXPECT_EQ(2.0, bezier.solve(2.0));
|
| -}
|
| -
|
| -TEST(UnitBezierTest, InputOutOfRangeVerticalGradient)
|
| -{
|
| - UnitBezier bezier(0.0, 1.0, 1.0, 0.0);
|
| - EXPECT_EQ(0.0, bezier.solve(-1.0));
|
| - EXPECT_EQ(1.0, bezier.solve(2.0));
|
| -}
|
| -
|
| -TEST(UnitBezierTest, InputOutOfRangeDistinctEndpoints)
|
| -{
|
| - UnitBezier bezier(0.1, 0.2, 0.8, 0.8);
|
| - EXPECT_EQ(-2.0, bezier.solve(-1.0));
|
| - EXPECT_EQ(2.0, bezier.solve(2.0));
|
| -}
|
| -
|
| -TEST(UnitBezierTest, Range)
|
| -{
|
| - double epsilon = 0.00015;
|
| - double min, max;
|
| -
|
| - // Derivative is a constant.
|
| - scoped_ptr<UnitBezier> bezier(
|
| - new UnitBezier(0.25, (1.0 / 3.0), 0.75, (2.0 / 3.0)));
|
| - bezier->range(&min, &max);
|
| - EXPECT_EQ(0, min);
|
| - EXPECT_EQ(1, max);
|
| -
|
| - // Derivative is linear.
|
| - bezier.reset(new UnitBezier(0.25, -0.5, 0.75, (-1.0 / 6.0)));
|
| - bezier->range(&min, &max);
|
| - EXPECT_NEAR(min, -0.225, epsilon);
|
| - EXPECT_EQ(1, max);
|
| -
|
| - // Derivative has no real roots.
|
| - bezier.reset(new UnitBezier(0.25, 0.25, 0.75, 0.5));
|
| - bezier->range(&min, &max);
|
| - EXPECT_EQ(0, min);
|
| - EXPECT_EQ(1, max);
|
| -
|
| - // Derivative has exactly one real root.
|
| - bezier.reset(new UnitBezier(0.0, 1.0, 1.0, 0.0));
|
| - bezier->range(&min, &max);
|
| - EXPECT_EQ(0, min);
|
| - EXPECT_EQ(1, max);
|
| -
|
| - // Derivative has one root < 0 and one root > 1.
|
| - bezier.reset(new UnitBezier(0.25, 0.1, 0.75, 0.9));
|
| - bezier->range(&min, &max);
|
| - EXPECT_EQ(0, min);
|
| - EXPECT_EQ(1, max);
|
| -
|
| - // Derivative has two roots in [0,1].
|
| - bezier.reset(new UnitBezier(0.25, 2.5, 0.75, 0.5));
|
| - bezier->range(&min, &max);
|
| - EXPECT_EQ(0, min);
|
| - EXPECT_NEAR(max, 1.28818, epsilon);
|
| - bezier.reset(new UnitBezier(0.25, 0.5, 0.75, -1.5));
|
| - bezier->range(&min, &max);
|
| - EXPECT_NEAR(min, -0.28818, epsilon);
|
| - EXPECT_EQ(1, max);
|
| -
|
| - // Derivative has one root < 0 and one root in [0,1].
|
| - bezier.reset(new UnitBezier(0.25, 0.1, 0.75, 1.5));
|
| - bezier->range(&min, &max);
|
| - EXPECT_EQ(0, min);
|
| - EXPECT_NEAR(max, 1.10755, epsilon);
|
| -
|
| - // Derivative has one root in [0,1] and one root > 1.
|
| - bezier.reset(new UnitBezier(0.25, -0.5, 0.75, 0.9));
|
| - bezier->range(&min, &max);
|
| - EXPECT_NEAR(min, -0.10755, epsilon);
|
| - EXPECT_EQ(1, max);
|
| -
|
| - // Derivative has two roots < 0.
|
| - bezier.reset(new UnitBezier(0.25, 0.3, 0.75, 0.633));
|
| - bezier->range(&min, &max);
|
| - EXPECT_EQ(0, min);
|
| - EXPECT_EQ(1, max);
|
| -
|
| - // Derivative has two roots > 1.
|
| - bezier.reset(new UnitBezier(0.25, 0.367, 0.75, 0.7));
|
| - bezier->range(&min, &max);
|
| - EXPECT_EQ(0.f, min);
|
| - EXPECT_EQ(1.f, max);
|
| -}
|
| -
|
| -TEST(UnitBezierTest, Slope)
|
| -{
|
| - UnitBezier bezier(0.25, 0.0, 0.75, 1.0);
|
| -
|
| - double epsilon = 0.00015;
|
| -
|
| - EXPECT_NEAR(bezier.slope(0), 0, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.05), 0.42170, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.1), 0.69778, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.15), 0.89121, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.2), 1.03184, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.25), 1.13576, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.3), 1.21239, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.35), 1.26751, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.4), 1.30474, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.45), 1.32628, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.5), 1.33333, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.55), 1.32628, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.6), 1.30474, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.65), 1.26751, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.7), 1.21239, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.75), 1.13576, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.8), 1.03184, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.85), 0.89121, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.9), 0.69778, epsilon);
|
| - EXPECT_NEAR(bezier.slope(0.95), 0.42170, epsilon);
|
| - EXPECT_NEAR(bezier.slope(1), 0, epsilon);
|
| -}
|
| -
|
| -} // namespace blink
|
|
|