| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/animation/TimingInput.h" | 5 #include "core/animation/TimingInput.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/V8BindingForTesting.h" | 7 #include "bindings/core/v8/V8BindingForTesting.h" |
| 8 #include "bindings/core/v8/V8KeyframeEffectOptions.h" | 8 #include "bindings/core/v8/V8KeyframeEffectOptions.h" |
| 9 #include "core/animation/AnimationEffectTiming.h" | 9 #include "core/animation/AnimationEffectTiming.h" |
| 10 #include "core/animation/AnimationTestHelper.h" | 10 #include "core/animation/AnimationTestHelper.h" |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 *applyTimingInputString(scope.isolate(), "easing", | 314 *applyTimingInputString(scope.isolate(), "easing", |
| 315 "steps(5, middle)", success) | 315 "steps(5, middle)", success) |
| 316 .timingFunction); | 316 .timingFunction); |
| 317 EXPECT_TRUE(success); | 317 EXPECT_TRUE(success); |
| 318 EXPECT_EQ( | 318 EXPECT_EQ( |
| 319 *StepsTimingFunction::create(5, StepsTimingFunction::StepPosition::END), | 319 *StepsTimingFunction::create(5, StepsTimingFunction::StepPosition::END), |
| 320 *applyTimingInputString(scope.isolate(), "easing", "steps(5, end)", | 320 *applyTimingInputString(scope.isolate(), "easing", "steps(5, end)", |
| 321 success) | 321 success) |
| 322 .timingFunction); | 322 .timingFunction); |
| 323 EXPECT_TRUE(success); | 323 EXPECT_TRUE(success); |
| 324 EXPECT_EQ( |
| 325 *FramesTimingFunction::create(5), |
| 326 *applyTimingInputString(scope.isolate(), "easing", "frames(5)", success) |
| 327 .timingFunction); |
| 328 EXPECT_TRUE(success); |
| 324 | 329 |
| 325 applyTimingInputString(scope.isolate(), "easing", "", success); | 330 applyTimingInputString(scope.isolate(), "easing", "", success); |
| 326 EXPECT_FALSE(success); | 331 EXPECT_FALSE(success); |
| 327 applyTimingInputString(scope.isolate(), "easing", "steps(5.6, end)", success); | 332 applyTimingInputString(scope.isolate(), "easing", "steps(5.6, end)", success); |
| 328 EXPECT_FALSE(success); | 333 EXPECT_FALSE(success); |
| 329 applyTimingInputString(scope.isolate(), "easing", | 334 applyTimingInputString(scope.isolate(), "easing", |
| 330 "cubic-bezier(2, 2, 0.3, 0.3)", success); | 335 "cubic-bezier(2, 2, 0.3, 0.3)", success); |
| 331 EXPECT_FALSE(success); | 336 EXPECT_FALSE(success); |
| 337 applyTimingInputString(scope.isolate(), "easing", "frames(1)", success); |
| 338 EXPECT_FALSE(success); |
| 339 applyTimingInputString(scope.isolate(), "easing", "frames(3, start)", |
| 340 success); |
| 341 EXPECT_FALSE(success); |
| 332 applyTimingInputString(scope.isolate(), "easing", "rubbish", success); | 342 applyTimingInputString(scope.isolate(), "easing", "rubbish", success); |
| 333 EXPECT_FALSE(success); | 343 EXPECT_FALSE(success); |
| 334 applyTimingInputNumber(scope.isolate(), "easing", 2, success); | 344 applyTimingInputNumber(scope.isolate(), "easing", 2, success); |
| 335 EXPECT_FALSE(success); | 345 EXPECT_FALSE(success); |
| 336 applyTimingInputString(scope.isolate(), "easing", "initial", success); | 346 applyTimingInputString(scope.isolate(), "easing", "initial", success); |
| 337 EXPECT_FALSE(success); | 347 EXPECT_FALSE(success); |
| 338 } | 348 } |
| 339 | 349 |
| 340 TEST(AnimationTimingInputTest, TimingInputEmpty) { | 350 TEST(AnimationTimingInputTest, TimingInputEmpty) { |
| 341 DummyExceptionStateForTesting exceptionState; | 351 DummyExceptionStateForTesting exceptionState; |
| 342 Timing controlTiming; | 352 Timing controlTiming; |
| 343 Timing updatedTiming; | 353 Timing updatedTiming; |
| 344 bool success = TimingInput::convert(KeyframeEffectOptions(), updatedTiming, | 354 bool success = TimingInput::convert(KeyframeEffectOptions(), updatedTiming, |
| 345 nullptr, exceptionState); | 355 nullptr, exceptionState); |
| 346 EXPECT_TRUE(success); | 356 EXPECT_TRUE(success); |
| 347 EXPECT_FALSE(exceptionState.hadException()); | 357 EXPECT_FALSE(exceptionState.hadException()); |
| 348 | 358 |
| 349 EXPECT_EQ(controlTiming.startDelay, updatedTiming.startDelay); | 359 EXPECT_EQ(controlTiming.startDelay, updatedTiming.startDelay); |
| 350 EXPECT_EQ(controlTiming.fillMode, updatedTiming.fillMode); | 360 EXPECT_EQ(controlTiming.fillMode, updatedTiming.fillMode); |
| 351 EXPECT_EQ(controlTiming.iterationStart, updatedTiming.iterationStart); | 361 EXPECT_EQ(controlTiming.iterationStart, updatedTiming.iterationStart); |
| 352 EXPECT_EQ(controlTiming.iterationCount, updatedTiming.iterationCount); | 362 EXPECT_EQ(controlTiming.iterationCount, updatedTiming.iterationCount); |
| 353 EXPECT_TRUE(std::isnan(updatedTiming.iterationDuration)); | 363 EXPECT_TRUE(std::isnan(updatedTiming.iterationDuration)); |
| 354 EXPECT_EQ(controlTiming.playbackRate, updatedTiming.playbackRate); | 364 EXPECT_EQ(controlTiming.playbackRate, updatedTiming.playbackRate); |
| 355 EXPECT_EQ(controlTiming.direction, updatedTiming.direction); | 365 EXPECT_EQ(controlTiming.direction, updatedTiming.direction); |
| 356 EXPECT_EQ(*controlTiming.timingFunction, *updatedTiming.timingFunction); | 366 EXPECT_EQ(*controlTiming.timingFunction, *updatedTiming.timingFunction); |
| 357 } | 367 } |
| 358 | 368 |
| 359 } // namespace blink | 369 } // namespace blink |
| OLD | NEW |