summaryrefslogtreecommitdiff
path: root/apps/web/src/lib/animation/__tests__/binding-values.test.ts
diff options
context:
space:
mode:
authorMaze <mazewinther@gmail.com>2026-04-05 13:15:58 +0200
committerMaze <mazewinther@gmail.com>2026-04-05 13:15:58 +0200
commit1bd9fac203f09736c1225bbbe19e5d7cc31c0b93 (patch)
treed5c65add056209043e627a53e47e6ebbf74e64c6 /apps/web/src/lib/animation/__tests__/binding-values.test.ts
parent69da5bee0c50f331ec59a510d0cf0d45779bab31 (diff)
downloadopencut-1bd9fac203f09736c1225bbbe19e5d7cc31c0b93.tar.gz
refactor: rewrite animation system to use bindings and scalar channels
Diffstat (limited to 'apps/web/src/lib/animation/__tests__/binding-values.test.ts')
-rw-r--r--apps/web/src/lib/animation/__tests__/binding-values.test.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/apps/web/src/lib/animation/__tests__/binding-values.test.ts b/apps/web/src/lib/animation/__tests__/binding-values.test.ts
new file mode 100644
index 00000000..c5a354e4
--- /dev/null
+++ b/apps/web/src/lib/animation/__tests__/binding-values.test.ts
@@ -0,0 +1,26 @@
+import { describe, expect, test } from "bun:test";
+import {
+ composeAnimationValue,
+ createAnimationBinding,
+} from "@/lib/animation/binding-values";
+
+describe("binding values", () => {
+ test("formats composed animated colors as hex", () => {
+ const binding = createAnimationBinding({
+ path: "color",
+ kind: "color",
+ });
+
+ expect(
+ composeAnimationValue({
+ binding,
+ componentValues: {
+ r: 1,
+ g: 0,
+ b: 0,
+ a: 1,
+ },
+ }),
+ ).toBe("#ff0000");
+ });
+});