c41e5063b7
Removed entire kbx-foundation-v36 directory as it's been replaced by the new KBX Foundation v4 patterns implemented in this session: - Registry-driven screen definitions - Density-aware UI adapter components - Feature module templates (ShadowRun, Models) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
17 lines
728 B
TypeScript
17 lines
728 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { getKbxShortcutDebugSnapshot, registerKbxShortcuts } from '@kbx/ui'
|
|
|
|
describe('KBX shortcut manager contract',()=>{
|
|
it('rejects protected browser shortcuts',()=>{
|
|
for(const key of ['F5','Ctrl+L','Ctrl+T','Ctrl+W','Ctrl+R']){
|
|
expect(()=>registerKbxShortcuts([{key,scope:'application',execute(){}}])).toThrow(/protected/)
|
|
}
|
|
})
|
|
|
|
it('registers semantic scope without page-level window ownership',()=>{
|
|
const unregister=registerKbxShortcuts([{key:'F8',scope:'page',priority:10,execute(){}}])
|
|
expect(getKbxShortcutDebugSnapshot()).toEqual(expect.arrayContaining([expect.objectContaining({key:'F8',scope:'page',priority:10})]))
|
|
unregister()
|
|
})
|
|
})
|