Files
hapi/e2e/markdown-math.spec.ts
T
AnanovoandGitHub a815230886 fix(web): support bracket-delimited LaTeX in Markdown and share exports (#1846)
* fix(web): support bracket-delimited LaTeX in Markdown and share exports

* fix(web): preserve Markdown containers around LaTeX

* fix(web): handle list fences and math comparisons

* fix(web): cover Markdown metadata edge cases

* fix(web): protect Markdown metadata around LaTeX

* fix(web): preserve reference metadata around LaTeX

* fix(web): preserve quoted formulas after prose

* fix(web): normalize nested Markdown containers

* fix(web): preserve existing dollar math

* fix(web): stop LaTeX matching at protected ranges
2026-09-14 14:24:33 +08:00

30 lines
1.2 KiB
TypeScript

import { expect, test } from '@playwright/test'
for (const viewport of [
{ width: 1440, height: 900 },
{ width: 390, height: 844 },
]) {
test(`renders TeX bracket delimiters and preserves code blocks at ${viewport.width}px`, async ({ page }) => {
const pageErrors: string[] = []
page.on('pageerror', (error) => pageErrors.push(error.message))
await page.setViewportSize(viewport)
await page.goto('/e2e-fixtures/markdown-math-fixture.html')
const fixture = page.getByTestId('markdown-math-fixture')
await expect(fixture).toBeVisible()
await expect(fixture.locator('.katex-display')).toHaveCount(1)
await expect(fixture.locator('.katex')).toHaveCount(2)
const codeBody = fixture.locator('[data-hapi-code-body="true"]')
await expect(codeBody).toBeVisible()
await expect(codeBody).toContainText('\\[x^2\\]')
await expect(codeBody.locator('.katex')).toHaveCount(0)
const pageFitsViewport = await page.evaluate(() => (
document.documentElement.scrollWidth <= window.innerWidth
))
expect(pageFitsViewport).toBe(true)
expect(pageErrors).toEqual([])
})
}