Files
apes-sidebar/tests/layout-css.spec.ts
T
2026-08-21 23:41:33 +08:00

30 lines
1.0 KiB
TypeScript

/**
* layout.css must let the DSH conversation column shrink below its content
* size. Without min-height:0 a long unbreakable URL grows the grid item
* past the viewport and clips the composer.
*/
import { readFileSync } from 'node:fs'
import { describe, expect, it } from 'vitest'
const css = readFileSync('src/client/layout.css', 'utf8')
describe('layout.css conversation column', () => {
it('targets the AppFrame center column', () => {
expect(css).toContain('[data-pane="conversation"]')
expect(css).toContain('[data-slot="conversation"]')
})
it('allows the center column to shrink and wrap long tokens', () => {
expect(css).toMatch(/min-height:\s*0/)
expect(css).toMatch(/overflow-wrap:\s*anywhere/)
})
it('leaves overflow ownership to the host conversation descendants', () => {
const conversationRule = css.match(
/#root \[data-dsh-frame\][\s\S]*?\{([\s\S]*?)\n\}/,
)?.[1]
expect(conversationRule).toBeDefined()
expect(conversationRule).not.toMatch(/(?:^|[;\s])overflow\s*:/)
})
})