UNPKG

@drozdik.m/animation

Version:

Object for handling computed animations using lerp functions.

108 lines (107 loc) 3.02 kB
exports.__esModule = true; var unit_test_1 = require("@drozdik.m/unit-test"); var Linear_1 = require("@drozdik.m/lerp/dist/Linear"); var Animation_1 = require("../src/Animation"); var unitTest = new unit_test_1.UnitTest("Animation"); unitTest.AddAsyncTestCase("Animation events", function (Done, Fail) { var animation = new Animation_1.Animation(1000, Linear_1.Linear); animation.fps = 10; var start = 0; var end = 0; var render = 0; var frame = 0; animation.OnStart.Add(function (caller, args) { start++; try { unit_test_1.Assert.AreEqual(0, args.Value()); } catch (_a) { Fail(); } }); animation.OnFrame.Add(function (caller, args) { frame++; try { unit_test_1.Assert.AreEqual(frame * 100, args.Value()); } catch (_a) { Fail(); } }); animation.OnRender.Add(function (caller, args) { render++; try { } catch (_a) { Fail(); } }); animation.OnEnd.Add(function (caller, args) { end++; try { unit_test_1.Assert.AreEqual(1000, args.Value()); unit_test_1.Assert.AreEqual(1, start); unit_test_1.Assert.AreEqual(10, frame); unit_test_1.Assert.AreEqual(12, render); unit_test_1.Assert.AreEqual(1, end); Done(); } catch (_a) { Fail(); } }); animation.Start(0, 1000); }); unitTest.AddAsyncTestCase("Pause and continue", function (Done, Fail) { var animation = new Animation_1.Animation(1000, Linear_1.Linear); animation.fps = 10; var start = 0; var end = 0; var render = 0; var frame = 0; animation.OnStart.Add(function (caller, args) { start++; try { unit_test_1.Assert.AreEqual(0, args.Value()); } catch (_a) { Fail(); } }); animation.OnFrame.Add(function (caller, args) { frame++; try { unit_test_1.Assert.AreEqual(frame * 100, args.Value()); } catch (_a) { Fail(); } }); animation.OnRender.Add(function (caller, args) { render++; try { } catch (_a) { Fail(); } }); animation.OnEnd.Add(function (caller, args) { end++; try { unit_test_1.Assert.AreEqual(1000, args.Value()); unit_test_1.Assert.AreEqual(2, start); unit_test_1.Assert.AreEqual(10, frame); unit_test_1.Assert.AreEqual(13, render); unit_test_1.Assert.AreEqual(1, end); Done(); } catch (_a) { Fail(); } }); animation.Start(0, 1000); setTimeout(function () { animation.Pause().Continue(); }, 550); }); unitTest.Run();