mirror of
https://github.com/wu736139669/hapi.git
synced 2026-10-09 19:29:41 +00:00
* 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
30 lines
1.2 KiB
TypeScript
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([])
|
|
})
|
|
}
|