Skip to content

feat(package): export VERSION string #29

feat(package): export VERSION string

feat(package): export VERSION string #29

GitHub Actions / Jest Tests succeeded Sep 25, 2023 in 0s

Jest Tests ✅

Tests passed successfully

✅ reports/jest-junit.xml

73 tests were completed in 3s with 73 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
src/bezier.test.ts 3✅ 128ms
src/interpolate.test.ts 4✅ 129ms
src/scene.test.ts 12✅ 160ms
src/token.test.ts 10✅ 151ms
src/tweenable.test.ts 44✅ 3s

✅ src/bezier.test.ts

✅ can create a linear bezier easing curve
✅ can create a "stretched" linear bezier easing curve
✅ bezier handle positions are stored on a custom easing function

✅ src/interpolate.test.ts

✅ computes the midpoint of two numbers
✅ computes the midpoint of two token strings
✅ accounts for optional delay
✅ supports per-interpolation custom easing curves

✅ src/scene.test.ts

constructor
  ✅ stores internal Tweenables
get promises
  ✅ returns promises for all tweenables
add
  ✅ adds a Tweenable
remove
  ✅ removes a Tweenable
empty
  ✅ removes all Tweenables
isPlaying
  ✅ returns false if no tweenables are playing
  ✅ returns true if any Tweenables are playing
play
  ✅ plays all Tweenables from their beginning
pause
  ✅ pauses all Tweenables
resume
  ✅ resumes Tweenables
  ✅ does not resume Tweenables that have ended
stop
  ✅ stops all Tweenables

✅ src/token.test.ts

✅ can tween an rgb color
✅ can tween an rgb color with a number in the tween
✅ can tween an rgba color with a number in the tween
✅ can tween hex color values
✅ can tween multiple rgb color tokens
✅ each token chunk can have its own easing curve
✅ missing token eases inherit from the last easing listed
✅ can tween a negative value token to a positive value
✅ can interpolate two number strings that have no non-number token structure
✅ can tween css value pairs

✅ src/tweenable.test.ts

✅ can accept initial state
#tween
  ✅ midpoints of a tween are correctly computed
  ✅ render handler receives timestamp offset
#tween › custom easing functions
  ✅ can be given an easing function directly
  ✅ can be given an Object of easing functions directly
  ✅ supports tokens
#tween › cubic bezier array easing
  ✅ accepts bezier point array for easing
  ✅ defaults to linear bezier point array for easing
#tween › lifecycle hooks › render
  ✅ receives the current state
#tween › lifecycle hooks › start
  ✅ receives the current state
#tween › promise support
  ✅ supports third party libraries
#tween › promise support › resolution
  ✅ resolves with final state
#tween › promise support › finally
  ✅ runs finally with no parameters
#tween › promise support › rejection
  ✅ rejects with final state
#tween › re-tweening previously paused tweens
  ✅ uses correct _timestamp
#tween › tween is already running
  ✅ stops the old tween and starts the new one
#tween › config reuse
  ✅ reuses relevant config data from previous tweens
#hasEnded
  ✅ Only trigger after the end of the tween
  ✅ Triggers again after restarting the tween
#resume
  ✅ calls tween if not called previously
  ✅ shifts timestamp to account for amount of time paused
#pause
  ✅ moves the end time of the tween
#seek
  ✅ forces the tween to a specific point on the timeline
  ✅ provides correct value to render handler via seek() (issue #77)
  ✅ The seek() parameter cannot be less than 0
  ✅ no-ops if seeking to the current millisecond
  ✅ keeps time reference (rel #60)
#stop
  ✅ stop(undefined) leaves a tween where it was stopped
  ✅ stop(true) skips a tween to the end
#stop › repeated calls (#105) › first tween is stopped twice
  ✅ does not break when multiple tweens are running and stop() is called twice
#stop › repeated calls (#105) › second tween is stopped twice
  ✅ does not break when multiple tweens are running and stop() is called twice
cancel
  ✅ rejects a tween promise
#setScheduleFunction
  ✅ calling setScheduleFunction change the internal schedule function
delay support
  ✅ tween does not start until delay is met
  ✅ pause() functionality is not affected by delay
static tween
  ✅ midpoints of a tween are correctly computed
linked tween list › single tweenable › adding to the list
  ✅ tween becomes both head and tail
linked tween list › single tweenable › removing from the list › pause
  ✅ resets head and tail
linked tween list › single tweenable › removing from the list › stop
  ✅ resets head and tail
linked tween list › two tweenables › adding to the list
  ✅ head and tail are linked up
linked tween list › two tweenables › removing from the list › removing the head
  ✅ orphans the tail
linked tween list › two tweenables › removing from the list › removing the tail
  ✅ orphans the head
linked tween list › more than two tweenables › adding to the list
  ✅ nodes are linked up
linked tween list › more than two tweenables › removing from the list › removing the middle
  ✅ updates links