readability-markdown.converter.spec.ts 1.1 KB

123456789101112131415161718192021222324252627282930
  1. import { ReadabilityMarkdownConverter } from '../src//infrastructure/adapters/readability-markdown.converter';
  2. describe('ReadabilityMarkdownConverter', () => {
  3. let converter: ReadabilityMarkdownConverter;
  4. beforeEach(() => {
  5. converter = new ReadabilityMarkdownConverter();
  6. });
  7. it('converts HTML to markdown', async () => {
  8. const html = '<html><body><h1>Hello</h1><p>World</p></body></html>';
  9. const result = await converter.convert(html, 'https://example.com');
  10. expect(result.markdown).toContain('# Hello');
  11. });
  12. it('extracts title from document', async () => {
  13. const html = '<html><head><title>My Title</title></head><body><p>Text</p></body></html>';
  14. const result = await converter.convert(html, 'https://example.com');
  15. expect(result.title).toBe('My Title');
  16. });
  17. it('falls back to URL as title when no title', async () => {
  18. const html = '<html><head></head><body><p>Text</p></body></html>';
  19. const result = await converter.convert(html, 'https://example.com');
  20. expect(result.title).toBe('https://example.com');
  21. });
  22. });