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 EXPECT_EQ(WebCompositorAnimation::DirectionNormal
, animation
->direction());
30 TEST(WebCompositorAnimationTest
, ModifiedSettings
) {
31 scoped_ptr
<WebFloatAnimationCurve
> curve(new WebFloatAnimationCurveImpl());
32 scoped_ptr
<WebCompositorAnimation
> animation(new WebCompositorAnimationImpl(
33 *curve
, WebCompositorAnimation::TargetPropertyOpacity
, 1, 0));
34 animation
->setIterations(2);
35 animation
->setStartTime(2);
36 animation
->setTimeOffset(2);
37 animation
->setDirection(WebCompositorAnimation::DirectionReverse
);
39 EXPECT_EQ(2, animation
->iterations());
40 EXPECT_EQ(2, animation
->startTime());
41 EXPECT_EQ(2, animation
->timeOffset());
42 EXPECT_EQ(WebCompositorAnimation::DirectionReverse
, animation
->direction());
46 } // namespace cc_blink