document-title.spec.tsx 961 B

12345678910111213141516171819202122232425262728
  1. // @vitest-environment jsdom
  2. import { afterEach, describe, expect, it } from 'vitest'
  3. import { cleanup, render } from '@testing-library/react'
  4. import { DocumentTitle } from '../src/DocumentTitle.tsx'
  5. afterEach(() => {
  6. cleanup()
  7. document.title = ''
  8. })
  9. describe('DocumentTitle', () => {
  10. it('preserves the product title without a durable title and restores it on unmount', () => {
  11. document.title = 'DeepSeek Harness'
  12. const mounted = render(<DocumentTitle />)
  13. expect(document.title).toBe('DeepSeek Harness')
  14. mounted.rerender(<DocumentTitle title="First title" />)
  15. expect(document.title).toBe('First title — DeepSeek Harness')
  16. mounted.rerender(<DocumentTitle title="Revised title" />)
  17. expect(document.title).toBe('Revised title — DeepSeek Harness')
  18. mounted.rerender(<DocumentTitle />)
  19. expect(document.title).toBe('DeepSeek Harness')
  20. mounted.unmount()
  21. expect(document.title).toBe('DeepSeek Harness')
  22. })
  23. })