Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(215)

Side by Side Diff: polymer_0.5.0/bower_components/web-animations-js/test/js/animation-node.js

Issue 786953007: npm_modules: Fork bower_components into Polymer 0.4.0 and 0.5.0 versions (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 suite('animation-node', function() {
2 test('normalize timing input', function() {
3 assert.equal(normalizeTimingInput(1).duration, 1);
4 assert.equal(normalizeTimingInput(1).easing(0.2), 0.2);
5 assert.equal(normalizeTimingInput(undefined).duration, 0);
6 });
7 test('calculating active duration', function() {
8 assert.equal(calculateActiveDuration({duration: 1000, playbackRate: 4, itera tions: 20}), 5000);
9 assert.equal(calculateActiveDuration({duration: 500, playbackRate: 0.1, iter ations: 300}), 1500000);
10 });
11 test('conversion of timing functions', function() {
12 var f = toTimingFunction('ease');
13 var g = toTimingFunction('cubic-bezier(.25, 0.1, 0.25, 1.)');
14 for (var i = 0; i < 1; i += 0.1) {
15 assert.equal(f(i), g(i));
16 }
17 assert.closeTo(f(0.1844), 0.2601, 0.01);
18 assert.closeTo(g(0.1844), 0.2601, 0.01);
19
20 f = toTimingFunction('cubic-bezier(0, 1, 1, 0)');
21 assert.closeTo(f(0.104), 0.392, 0.01);
22
23 function isLinear(f) {
24 assert.equal(f(0.1), 0.1);
25 assert.equal(f(0.4), 0.4);
26 assert.equal(f(0.9), 0.9);
27 }
28
29 f = toTimingFunction('cubic-bezier(0, 1, -1, 1)');
30 isLinear(f);
31
32 f = toTimingFunction('an elephant');
33 isLinear(f);
34
35 f = toTimingFunction('cubic-bezier(-1, 1, 1, 1)');
36 isLinear(f);
37
38 f = toTimingFunction('cubic-bezier(1, 1, 1)');
39 isLinear(f);
40
41 f = toTimingFunction('steps(10, end)');
42 assert.equal(f(0), 0);
43 assert.equal(f(0.09), 0);
44 assert.equal(f(0.1), 0.1);
45 assert.equal(f(0.25), 0.2);
46 });
47 test('calculating phase', function() {
48 // calculatePhase(activeDuration, localTime, timing);
49 assert.equal(calculatePhase(1000, 100, {delay: 0}), PhaseActive);
50 assert.equal(calculatePhase(1000, 100, {delay: 200}), PhaseBefore);
51 assert.equal(calculatePhase(1000, 2000, {delay: 200}), PhaseAfter);
52 assert.equal(calculatePhase(1000, null, {delay: 200}), PhaseNone);
53 });
54 test('calculating active time', function() {
55 // calculateActiveTime(activeDuration, fillMode, localTime, phase, delay);
56 assert.equal(calculateActiveTime(1000, 'forwards', 100, PhaseActive, 0), 100 );
57 assert.equal(calculateActiveTime(1000, 'forwards', 100, PhaseBefore, 200), n ull);
58 assert.equal(calculateActiveTime(1000, 'both', 100, PhaseBefore, 200), 0);
59 assert.equal(calculateActiveTime(1000, 'forwards', 500, PhaseActive, 200), 3 00);
60 assert.equal(calculateActiveTime(1000, 'forwards', 1100, PhaseAfter, 200), 1 000);
61 assert.equal(calculateActiveTime(1000, 'none', 1100, PhaseAfter, 200), null) ;
62 assert.equal(calculateActiveTime(Infinity, 'both', 5000000, PhaseActive, 200 0000), 3000000);
63 assert.equal(calculateActiveTime(Infinity, 'both', 50000, PhaseBefore, 20000 00), 0);
64 });
65 test('calculating scaled active time', function() {
66 // calculateScaledActiveTime(activeDuration, activeTime, startOffset, timing Input);
67 assert.equal(calculateScaledActiveTime(1000, 200, 300, {playbackRate: 1.5}), 600);
68 assert.equal(calculateScaledActiveTime(1000, 200, 300, {playbackRate: -4}), 3500);
69 assert.equal(calculateScaledActiveTime(Infinity, 400, 200, {playbackRate: 1} ), 600);
70 assert.equal(calculateScaledActiveTime(Infinity, 400, 200, {playbackRate: -4 }), Infinity);
71 });
72 test('calculating iteration time', function() {
73 // calculateIterationTime(iterationDuration, repeatedDuration, scaledActiveT ime, startOffset, timingInput);
74 assert.equal(calculateIterationTime(500, 5000, 600, 100, {iterations: 10, it erationStart: 0}), 100);
75 assert.equal(calculateIterationTime(500, 5000, Infinity, 100, {iterations: 1 0, iterationStart: 0}), 500);
76 assert.equal(calculateIterationTime(500, 5000, 5100, 100, {iterations: 3.2, iterationStart: 0.8}), 500);
77 });
78 test('calculating current iteration', function() {
79 // calculateCurrentIteration(iterationDuration, iterationTime, scaledActiveT ime, timingInput);
80 assert.equal(calculateCurrentIteration(1000, 400, 4400, {iterations: 50, ite rationStart: 0.8}), 4);
81 assert.equal(calculateCurrentIteration(1000, 1000, 4400, {iterations: 50.2, iterationStart: 0.8}), 50);
82 });
83 test('calculating transformed time', function() {
84 // calculateTransformedTime(currentIteration, iterationDuration, iterationTi me, timingInput);
85 assert.equal(calculateTransformedTime(4, 1000, 200, {easing: function(x) { r eturn x; }, direction: 'normal'}), 200);
86 assert.equal(calculateTransformedTime(4, 1000, 200, {easing: function(x) { r eturn x; }, direction: 'reverse'}), 800);
87 assert.closeTo(calculateTransformedTime(4, 1000, 200, {easing: function(x) { return x * x; }, direction: 'reverse'}), 640, 0.0001);
88 assert.closeTo(calculateTransformedTime(4, 1000, 600, {easing: function(x) { return x * x; }, direction: 'alternate'}), 360, 0.0001);
89 assert.closeTo(calculateTransformedTime(3, 1000, 600, {easing: function(x) { return x * x; }, direction: 'alternate'}), 160, 0.0001);
90 assert.closeTo(calculateTransformedTime(4, 1000, 600, {easing: function(x) { return x * x; }, direction: 'alternate-reverse'}), 160, 0.0001);
91 assert.closeTo(calculateTransformedTime(3, 1000, 600, {easing: function(x) { return x * x; }, direction: 'alternate-reverse'}), 360, 0.0001);
92 });
93 test('Animation Node', function() {
94 var timing = normalizeTimingInput({duration: 1000, iterations: 4, iterationS tart: 0.5, easing: 'linear', direction: 'alternate', delay: 100, fill: 'forwards '});
95 var timing2 = normalizeTimingInput({duration: 1000, iterations: 4, iteration Start: 0.5, easing: 'ease', direction: 'alternate', delay: 100, fill: 'forwards' });
96 var node = webAnimationsMinifill.AnimationNode(timing);
97 var node2 = webAnimationsMinifill.AnimationNode(timing2);
98 assert.equal(node(0), null);
99 assert.equal(node(100), 0.5);
100 assert.closeTo(node2(100), 0.8, 0.005);
101 assert.equal(node(600), 1);
102 assert.closeTo(node2(600), 1, 0.005);
103 assert.equal(node(700), 0.9);
104 assert.closeTo(node2(700), 0.99, 0.005);
105 assert.equal(node(1600), 0);
106 assert.closeTo(node2(1600), 0, 0.005);
107 assert.equal(node(4000), 0.4);
108 assert.closeTo(node2(4000), 0.68, 0.005);
109 assert.equal(node(4100), 0.5);
110 assert.closeTo(node2(4100), 0.8, 0.005);
111 assert.equal(node(6000), 0.5);
112 assert.closeTo(node2(6000), 0.8, 0.005);
113 });
114 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698