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
3 // found in the LICENSE file.
5 #include "base/memory/scoped_ptr.h"
6 #include "cc/blink/web_animation_impl.h"
7 #include "cc/blink/web_float_animation_curve_impl.h"
8 #include "testing/gtest/include/gtest/gtest.h"
10 using blink::WebCompositorAnimation
;
11 using blink::WebCompositorAnimationCurve
;
12 using blink::WebFloatAnimationCurve
;
17 TEST(WebCompositorAnimationTest
, DefaultSettings
) {
18 scoped_ptr
<WebCompositorAnimationCurve
> curve(
19 new WebFloatAnimationCurveImpl());
20 scoped_ptr
<WebCompositorAnimation
> animation(new WebCompositorAnimationImpl(
21 *curve
, WebCompositorAnimation::TargetPropertyOpacity
, 1, 0));
23 // Ensure that the defaults are correct.
24 EXPECT_EQ(1, animation
->iterations());
25 EXPECT_EQ(0, animation
->startTime());
26 EXPECT_EQ(0, animation
->timeOffset());
27 #if WEB_ANIMATION_SUPPORTS_FULL_DIRECTION
28 EXPECT_EQ(WebCompositorAnimation::DirectionNormal
, animation
->direction());
30 EXPECT_FALSE(animation
->alternatesDirection());
34 TEST(WebCompositorAnimationTest
, ModifiedSettings
) {
35 scoped_ptr
<WebFloatAnimationCurve
> curve(new WebFloatAnimationCurveImpl());
36 scoped_ptr
<WebCompositorAnimation
> animation(new WebCompositorAnimationImpl(
37 *curve
, WebCompositorAnimation::TargetPropertyOpacity
, 1, 0));
38 animation
->setIterations(2);
39 animation
->setStartTime(2);
40 animation
->setTimeOffset(2);
41 #if WEB_ANIMATION_SUPPORTS_FULL_DIRECTION
42 animation
->setDirection(WebCompositorAnimation::DirectionReverse
);
44 animation
->setAlternatesDirection(true);
47 EXPECT_EQ(2, animation
->iterations());
48 EXPECT_EQ(2, animation
->startTime());
49 EXPECT_EQ(2, animation
->timeOffset());
50 #if WEB_ANIMATION_SUPPORTS_FULL_DIRECTION
51 EXPECT_EQ(WebCompositorAnimation::DirectionReverse
, animation
->direction());
53 EXPECT_TRUE(animation
->alternatesDirection());
54 animation
->setAlternatesDirection(false);
55 EXPECT_FALSE(animation
->alternatesDirection());
60 } // namespace cc_blink