openpencil/tests/engine/color/solid-commit.test.ts
Danila Poyarkov c3f5189f8f style: tighten import grouping
- Configure oxfmt custom import groups for workspace, app, package, and test aliases
- Keep type imports grouped with their matching source category instead of one global tail group
- Expand the format script to cover formatter config, Vite files, and scripts
2026-05-06 02:22:08 +03:00

34 lines
983 B
TypeScript

import { describe, expect, test } from 'bun:test'
import type { Fill, Stroke } from '@open-pencil/core'
import { applySolidFillColor, applySolidStrokeColor } from '@open-pencil/vue'
describe('solid color commit helpers', () => {
test('syncs fill opacity with color alpha', () => {
const fill: Fill = {
type: 'SOLID',
visible: true,
opacity: 1,
color: { r: 1, g: 0, b: 0, a: 1 }
}
const updated = applySolidFillColor(fill, { r: 0, g: 1, b: 0, a: 0.4 })
expect(updated.color.a).toBeCloseTo(0.4, 5)
expect(updated.opacity).toBeCloseTo(0.4, 5)
})
test('syncs stroke opacity with color alpha', () => {
const stroke: Stroke = {
color: { r: 0, g: 0, b: 1, a: 1 },
weight: 1,
opacity: 1,
visible: true,
align: 'CENTER'
}
const updated = applySolidStrokeColor({ r: 1, g: 1, b: 0, a: 0.2 })
expect(updated.color?.a).toBeCloseTo(0.2, 5)
expect(updated.opacity).toBeCloseTo(0.2, 5)
})
})