From 862328a9154e405b2c3f7fcbf1fdba3e65952ed0 Mon Sep 17 00:00:00 2001 From: dongmucat <1127093059@qq.com> Date: Fri, 20 Mar 2026 11:57:03 +0800 Subject: [PATCH] test(select): pin dropdown visual contract MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 变更摘要: - 为共享 Select 补充最终视觉契约回归测试,覆盖下拉阴影和选项层级 - 保持范围收敛,仅强化 shared contract,不改生产代码 - 已运行共享测试、lint 和 build 进行回归验证 关键文件: - web/src/shared/ui/select.test.ts --- web/src/shared/ui/select.test.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/web/src/shared/ui/select.test.ts b/web/src/shared/ui/select.test.ts index 66992f6e..09d397e3 100644 --- a/web/src/shared/ui/select.test.ts +++ b/web/src/shared/ui/select.test.ts @@ -25,6 +25,12 @@ describe('shared select contract', () => { expect(SELECT_ITEM_CLASS_NAME).toContain('data-[disabled]:opacity-50') }) + it('keeps the dropdown and selected items visually discoverable', () => { + expect(SELECT_CONTENT_CLASS_NAME).toContain('shadow-md') + expect(SELECT_ITEM_CLASS_NAME).toContain('pl-8') + expect(SELECT_ITEM_CLASS_NAME).toContain('rounded-md') + }) + it('maps empty and nullish form state to an undefined Radix value', () => { expect(normalizeSelectValue('')).toBeUndefined() expect(normalizeSelectValue(null)).toBeUndefined()