| Index: pkg/polymer/lib/elements/web-animations-js/test/testcases/impl-test-paced-timing-function.html
|
| diff --git a/pkg/polymer/lib/elements/web-animations-js/test/testcases/impl-test-paced-timing-function.html b/pkg/polymer/lib/elements/web-animations-js/test/testcases/impl-test-paced-timing-function.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0e8aa15bf3e5ee8106ab2e669914dbbfa5bf2a94
|
| --- /dev/null
|
| +++ b/pkg/polymer/lib/elements/web-animations-js/test/testcases/impl-test-paced-timing-function.html
|
| @@ -0,0 +1,83 @@
|
| +<!--
|
| +Copyright 2013 Google Inc. All Rights Reserved.
|
| +
|
| +Licensed under the Apache License, Version 2.0 (the "License");
|
| +you may not use this file except in compliance with the License.
|
| +You may obtain a copy of the License at
|
| +
|
| + http://www.apache.org/licenses/LICENSE-2.0
|
| +
|
| +Unless required by applicable law or agreed to in writing, software
|
| +distributed under the License is distributed on an "AS IS" BASIS,
|
| +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| +See the License for the specific language governing permissions and
|
| +limitations under the License.
|
| +-->
|
| +
|
| +<!DOCTYPE html><meta charset="UTF-8">
|
| +
|
| +<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
|
| + <path d="M0,0 L10,0 L30,0 L60,0 L100,0 L150,0" id="path" stroke="black"
|
| + stroke-width="1" fill="none" />
|
| +</svg>
|
| +
|
| +<script src="../bootstrap.js"></script>
|
| +<script>
|
| +"use strict";
|
| +
|
| +var PacedTimingFunction = _WebAnimationsTestingUtilities._pacedTimingFunction;
|
| +
|
| +var effect =
|
| + new MotionPathEffect(document.querySelector('#path').pathSegList);
|
| +
|
| +// Line has 5 segments of lengths 10, 20, 30, 40 and 50, giving a total length
|
| +// of 150.
|
| +var fullRangeTimingFunction = new PacedTimingFunction(effect);
|
| +fullRangeTimingFunction.setRange({min: 0, max: 1});
|
| +
|
| +// Partial range runs from midpoint of first segment ot midpoint of last
|
| +// segment, giving total length of 5 + 20 + 30 + 40 + 25 = 120.
|
| +var partialRangeTimingFunction = new PacedTimingFunction(effect);
|
| +partialRangeTimingFunction.setRange({min: 0.1, max: 0.9});
|
| +
|
| +test(function() {
|
| + assert_equals(fullRangeTimingFunction.scaleTime(0.5), (3 + 15/40) / 5);
|
| +}, 'Full range between bounds');
|
| +
|
| +test(function() {
|
| + assert_equals(fullRangeTimingFunction.scaleTime(0), 0);
|
| +}, 'Full range lower bound');
|
| +
|
| +test(function() {
|
| + assert_equals(fullRangeTimingFunction.scaleTime(1), 1);
|
| +}, 'Full range upper bound');
|
| +
|
| +test(function() {
|
| + assert_equals(fullRangeTimingFunction.scaleTime(-0.5), 0);
|
| +}, 'Full range below lower bound');
|
| +
|
| +test(function() {
|
| + assert_equals(fullRangeTimingFunction.scaleTime(1.5), 1);
|
| +}, 'Full range above upper bound');
|
| +
|
| +test(function() {
|
| + assert_equals(partialRangeTimingFunction.scaleTime(0.5), (3 + 5/40) / 5);
|
| +}, 'Partial range between bounds');
|
| +
|
| +test(function() {
|
| + assert_equals(partialRangeTimingFunction.scaleTime(0), 0.1);
|
| +}, 'Partial range lower bound');
|
| +
|
| +test(function() {
|
| + assert_equals(partialRangeTimingFunction.scaleTime(1), 0.9);
|
| +}, 'Partial range upper bound');
|
| +
|
| +test(function() {
|
| + assert_equals(partialRangeTimingFunction.scaleTime(-0.5), 0.1);
|
| +}, 'Partial range below lower bound');
|
| +
|
| +test(function() {
|
| + assert_equals(partialRangeTimingFunction.scaleTime(1.5), 0.9);
|
| +}, 'Partial range above upper bound');
|
| +
|
| +</script>
|
|
|