Files
deepseek-harness/packages/client/ui-layout/tests/document-title.client.spec.tsx
T
Tianyi Cui 9ebda8755e Merge remote-tracking branch 'origin/master' into worktree/localize-ui-strings-gate
# Conflicts:
#	packages/client/ui-chat/src/client/chat/AssistantMarkdown.tsx
#	packages/client/ui-chat/src/client/chat/CompactionItem.tsx
#	packages/client/ui-conversation/src/client/locales.ts
#	packages/client/ui-renderer/src/client/app.tsx
#	packages/client/ui-renderer/src/client/index.ts
#	packages/client/ui-renderer/tests/ui-renderer.client.spec.tsx
#	packages/client/ui-tool/src/client/tool/models/tool-call-model.ts
#	packages/client/ui-trajectory/src/client/trajectory-record.ts
#	packages/client/ui-trajectory/src/client/trajectory-snapshot-builder.ts
#	packages/client/ui-trajectory/tests/views.client.spec.tsx
#	packages/client/ui-workspace/src/client/tree.ts
2026-08-23 18:34:42 +08:00

37 lines
1.5 KiB
TypeScript

// @vitest-environment jsdom
import { afterEach, describe, expect, it, vi } from 'vitest'
import { cleanup, render } from '@testing-library/react'
import { DocumentTitle } from '../src/client/DocumentTitle.tsx'
afterEach(() => {
cleanup()
document.title = ''
vi.unstubAllEnvs()
})
describe('DocumentTitle', () => {
it('projects a durable title and restores the product title', () => {
vi.stubEnv('DSH_CLIENT_TITLE', 'DeepSeek Harness')
document.title = 'stale title'
const mounted = render(<DocumentTitle productTitle="DeepSeek Harness" />)
expect(document.title).toBe('DeepSeek Harness')
mounted.rerender(<DocumentTitle title="First title" productTitle="DeepSeek Harness" />)
expect(document.title).toBe('First title — DeepSeek Harness')
mounted.rerender(<DocumentTitle title="Revised title" productTitle="DeepSeek Harness" />)
expect(document.title).toBe('Revised title — DeepSeek Harness')
mounted.rerender(<DocumentTitle productTitle="DeepSeek Harness" />)
expect(document.title).toBe('DeepSeek Harness')
mounted.unmount()
expect(document.title).toBe('DeepSeek Harness')
})
it('uses the generic title when the build provides no title', () => {
vi.stubEnv('DSH_CLIENT_TITLE', '')
delete process.env.DSH_CLIENT_TITLE
const mounted = render(<DocumentTitle title="First title" productTitle="DSH Local Build" />)
expect(document.title).toBe('First title — DSH Local Build')
mounted.unmount()
expect(document.title).toBe('DSH Local Build')
})
})