Skip to content

Commit

Permalink
refactor(bezier): [#177] convert tests to TypeScript
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremyckahn committed Jun 8, 2023
1 parent 1e7bb91 commit 8b14af3
Showing 1 changed file with 39 additions and 14 deletions.
53 changes: 39 additions & 14 deletions src/bezier.test.js → src/bezier.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,46 +3,71 @@ import {
interpolate,
setBezierFunction,
unsetBezierFunction,
} from './'
} from '.'
import { EasingKey } from './tweenable'

test('can create a linear bezier easing curve', () => {
setBezierFunction('bezier-linear', 0.25, 0.25, 0.75, 0.75)

expect(interpolate({ x: 0 }, { x: 10 }, 0.25, 'linear').x.toFixed(1)).toEqual(
interpolate({ x: 0 }, { x: 10 }, 0.25, 'bezier-linear').x.toFixed(1)
interpolate(
{ x: 0 },
{ x: 10 },
0.25,
'bezier-linear' as EasingKey
).x.toFixed(1)
)
expect(interpolate({ x: 0 }, { x: 10 }, 0.5, 'linear').x.toFixed(1)).toEqual(
interpolate({ x: 0 }, { x: 10 }, 0.5, 'bezier-linear').x.toFixed(1)
interpolate(
{ x: 0 },
{ x: 10 },
0.5,
'bezier-linear' as EasingKey
).x.toFixed(1)
)
expect(interpolate({ x: 0 }, { x: 10 }, 0.75, 'linear').x.toFixed(1)).toEqual(
interpolate({ x: 0 }, { x: 10 }, 0.75, 'bezier-linear').x.toFixed(1)
interpolate(
{ x: 0 },
{ x: 10 },
0.75,
'bezier-linear' as EasingKey
).x.toFixed(1)
)
})

test('can create a "stretched" linear bezier easing curve', () => {
setBezierFunction('bezier-stretched-linear', 0, 0, 1, 1)

expect(interpolate({ x: 0 }, { x: 10 }, 0.25, 'linear').x.toFixed(1)).toEqual(
interpolate({ x: 0 }, { x: 10 }, 0.25, 'bezier-stretched-linear').x.toFixed(
1
)
interpolate(
{ x: 0 },
{ x: 10 },
0.25,
'bezier-stretched-linear' as EasingKey
).x.toFixed(1)
)
expect(interpolate({ x: 0 }, { x: 10 }, 0.5, 'linear').x.toFixed(1)).toEqual(
interpolate({ x: 0 }, { x: 10 }, 0.5, 'bezier-stretched-linear').x.toFixed(
1
)
interpolate(
{ x: 0 },
{ x: 10 },
0.5,
'bezier-stretched-linear' as EasingKey
).x.toFixed(1)
)
expect(interpolate({ x: 0 }, { x: 10 }, 0.75, 'linear').x.toFixed(1)).toEqual(
interpolate({ x: 0 }, { x: 10 }, 0.75, 'bezier-stretched-linear').x.toFixed(
1
)
interpolate(
{ x: 0 },
{ x: 10 },
0.75,
'bezier-stretched-linear' as EasingKey
).x.toFixed(1)
)
})

test('can remove a bezier easing curve', () => {
setBezierFunction('bezier-linear', 0, 0, 1, 1)
unsetBezierFunction('bezier-linear')
expect(!Tweenable.prototype['bezier-linear']).toBeTruthy()
expect(Tweenable.formulas['bezier-linear' as EasingKey]).toBeUndefined()
})

test('bezier handle positions are stored on a custom easing function', () => {
Expand Down

0 comments on commit 8b14af3

Please sign in to comment.