| 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 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 *ApplyTimingInputString(scope.GetIsolate(), "easing", | 322 *ApplyTimingInputString(scope.GetIsolate(), "easing", |
| 323 "steps(5, middle)", success) | 323 "steps(5, middle)", success) |
| 324 .timing_function); | 324 .timing_function); |
| 325 EXPECT_TRUE(success); | 325 EXPECT_TRUE(success); |
| 326 EXPECT_EQ( | 326 EXPECT_EQ( |
| 327 *StepsTimingFunction::Create(5, StepsTimingFunction::StepPosition::END), | 327 *StepsTimingFunction::Create(5, StepsTimingFunction::StepPosition::END), |
| 328 *ApplyTimingInputString(scope.GetIsolate(), "easing", "steps(5, end)", | 328 *ApplyTimingInputString(scope.GetIsolate(), "easing", "steps(5, end)", |
| 329 success) | 329 success) |
| 330 .timing_function); | 330 .timing_function); |
| 331 EXPECT_TRUE(success); | 331 EXPECT_TRUE(success); |
| 332 EXPECT_EQ(*FramesTimingFunction::Create(5), |
| 333 *ApplyTimingInputString(scope.GetIsolate(), "easing", "frames(5)", |
| 334 success) |
| 335 .timing_function); |
| 336 EXPECT_TRUE(success); |
| 332 | 337 |
| 333 ApplyTimingInputString(scope.GetIsolate(), "easing", "", success); | 338 ApplyTimingInputString(scope.GetIsolate(), "easing", "", success); |
| 334 EXPECT_FALSE(success); | 339 EXPECT_FALSE(success); |
| 335 ApplyTimingInputString(scope.GetIsolate(), "easing", "steps(5.6, end)", | 340 ApplyTimingInputString(scope.GetIsolate(), "easing", "steps(5.6, end)", |
| 336 success); | 341 success); |
| 337 EXPECT_FALSE(success); | 342 EXPECT_FALSE(success); |
| 338 ApplyTimingInputString(scope.GetIsolate(), "easing", | 343 ApplyTimingInputString(scope.GetIsolate(), "easing", |
| 339 "cubic-bezier(2, 2, 0.3, 0.3)", success); | 344 "cubic-bezier(2, 2, 0.3, 0.3)", success); |
| 340 EXPECT_FALSE(success); | 345 EXPECT_FALSE(success); |
| 346 ApplyTimingInputString(scope.GetIsolate(), "easing", "frames(1)", success); |
| 347 EXPECT_FALSE(success); |
| 348 ApplyTimingInputString(scope.GetIsolate(), "easing", "frames(3, start)", |
| 349 success); |
| 350 EXPECT_FALSE(success); |
| 341 ApplyTimingInputString(scope.GetIsolate(), "easing", "rubbish", success); | 351 ApplyTimingInputString(scope.GetIsolate(), "easing", "rubbish", success); |
| 342 EXPECT_FALSE(success); | 352 EXPECT_FALSE(success); |
| 343 ApplyTimingInputNumber(scope.GetIsolate(), "easing", 2, success); | 353 ApplyTimingInputNumber(scope.GetIsolate(), "easing", 2, success); |
| 344 EXPECT_FALSE(success); | 354 EXPECT_FALSE(success); |
| 345 ApplyTimingInputString(scope.GetIsolate(), "easing", "initial", success); | 355 ApplyTimingInputString(scope.GetIsolate(), "easing", "initial", success); |
| 346 EXPECT_FALSE(success); | 356 EXPECT_FALSE(success); |
| 347 } | 357 } |
| 348 | 358 |
| 349 TEST(AnimationTimingInputTest, TimingInputEmpty) { | 359 TEST(AnimationTimingInputTest, TimingInputEmpty) { |
| 350 DummyExceptionStateForTesting exception_state; | 360 DummyExceptionStateForTesting exception_state; |
| 351 Timing control_timing; | 361 Timing control_timing; |
| 352 Timing updated_timing; | 362 Timing updated_timing; |
| 353 bool success = TimingInput::Convert(KeyframeEffectOptions(), updated_timing, | 363 bool success = TimingInput::Convert(KeyframeEffectOptions(), updated_timing, |
| 354 nullptr, exception_state); | 364 nullptr, exception_state); |
| 355 EXPECT_TRUE(success); | 365 EXPECT_TRUE(success); |
| 356 EXPECT_FALSE(exception_state.HadException()); | 366 EXPECT_FALSE(exception_state.HadException()); |
| 357 | 367 |
| 358 EXPECT_EQ(control_timing.start_delay, updated_timing.start_delay); | 368 EXPECT_EQ(control_timing.start_delay, updated_timing.start_delay); |
| 359 EXPECT_EQ(control_timing.fill_mode, updated_timing.fill_mode); | 369 EXPECT_EQ(control_timing.fill_mode, updated_timing.fill_mode); |
| 360 EXPECT_EQ(control_timing.iteration_start, updated_timing.iteration_start); | 370 EXPECT_EQ(control_timing.iteration_start, updated_timing.iteration_start); |
| 361 EXPECT_EQ(control_timing.iteration_count, updated_timing.iteration_count); | 371 EXPECT_EQ(control_timing.iteration_count, updated_timing.iteration_count); |
| 362 EXPECT_TRUE(std::isnan(updated_timing.iteration_duration)); | 372 EXPECT_TRUE(std::isnan(updated_timing.iteration_duration)); |
| 363 EXPECT_EQ(control_timing.playback_rate, updated_timing.playback_rate); | 373 EXPECT_EQ(control_timing.playback_rate, updated_timing.playback_rate); |
| 364 EXPECT_EQ(control_timing.direction, updated_timing.direction); | 374 EXPECT_EQ(control_timing.direction, updated_timing.direction); |
| 365 EXPECT_EQ(*control_timing.timing_function, *updated_timing.timing_function); | 375 EXPECT_EQ(*control_timing.timing_function, *updated_timing.timing_function); |
| 366 } | 376 } |
| 367 | 377 |
| 368 } // namespace blink | 378 } // namespace blink |
| OLD | NEW |