| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "platform/animation/CompositorKeyframeModel.h" |
| |
| #include "platform/animation/CompositorFloatAnimationCurve.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace blink { |
| |
| TEST(WebCompositorAnimationTest, DefaultSettings) { |
| std::unique_ptr<CompositorAnimationCurve> curve = |
| CompositorFloatAnimationCurve::Create(); |
| std::unique_ptr<CompositorKeyframeModel> keyframe_model = |
| CompositorKeyframeModel::Create(*curve, CompositorTargetProperty::OPACITY, |
| 1, 0); |
| |
| // Ensure that the defaults are correct. |
| EXPECT_EQ(1, keyframe_model->Iterations()); |
| EXPECT_EQ(0, keyframe_model->StartTime()); |
| EXPECT_EQ(0, keyframe_model->TimeOffset()); |
| EXPECT_EQ(CompositorKeyframeModel::Direction::NORMAL, |
| keyframe_model->GetDirection()); |
| } |
| |
| TEST(WebCompositorAnimationTest, ModifiedSettings) { |
| std::unique_ptr<CompositorFloatAnimationCurve> curve = |
| CompositorFloatAnimationCurve::Create(); |
| std::unique_ptr<CompositorKeyframeModel> keyframe_model = |
| CompositorKeyframeModel::Create(*curve, CompositorTargetProperty::OPACITY, |
| 1, 0); |
| keyframe_model->SetIterations(2); |
| keyframe_model->SetStartTime(2); |
| keyframe_model->SetTimeOffset(2); |
| keyframe_model->SetDirection(CompositorKeyframeModel::Direction::REVERSE); |
| |
| EXPECT_EQ(2, keyframe_model->Iterations()); |
| EXPECT_EQ(2, keyframe_model->StartTime()); |
| EXPECT_EQ(2, keyframe_model->TimeOffset()); |
| EXPECT_EQ(CompositorKeyframeModel::Direction::REVERSE, |
| keyframe_model->GetDirection()); |
| } |
| |
| } // namespace blink |