diff --git a/packages/svelte/tests/motion/test.ts b/packages/svelte/tests/motion/test.ts new file mode 100644 index 000000000000..ea2e5c059ef6 --- /dev/null +++ b/packages/svelte/tests/motion/test.ts @@ -0,0 +1,30 @@ +import { describe, it, assert } from 'vitest'; +import { get } from 'svelte/store'; +import { spring, tweened } from 'svelte/motion'; + +describe('motion', () => { + describe('spring', () => { + it('handles initially undefined values', () => { + const size = spring(); + + size.set(100); + assert.equal(get(size), 100); + }); + }); + + describe('tweened', () => { + it('handles initially undefined values', () => { + const size = tweened(); + + size.set(100); + assert.equal(get(size), 100); + }); + + it('sets immediately when duration is 0', () => { + const size = tweened(0); + + size.set(100, { duration: 0 }); + assert.equal(get(size), 100); + }); + }); +}); diff --git a/packages/svelte/tsconfig.json b/packages/svelte/tsconfig.json index 97f8819b2810..869225f89f60 100644 --- a/packages/svelte/tsconfig.json +++ b/packages/svelte/tsconfig.json @@ -21,6 +21,7 @@ "svelte/compiler": ["./src/compiler/public.d.ts"], "svelte/internal": ["./src/internal/index.js"], "svelte/legacy": ["./src/legacy/legacy-client.js"], + "svelte/motion": ["./src/motion/public.d.ts"], "svelte/server": ["./src/server/index.js"], "svelte/store": ["./src/store/public.d.ts"], "#compiler": ["./src/compiler/types/index.d.ts"]