mirror of
https://github.com/Heretek-AI/opencode.git
synced 2026-11-09 10:29:42 -10:00
36 lines
1.8 KiB
TypeScript
36 lines
1.8 KiB
TypeScript
import { expect, test } from "@playwright/test"
|
|
import type {} from "./viewer"
|
|
|
|
test("reuses only matching patch, theme, and worker options", async ({ page }) => {
|
|
await page.goto("/")
|
|
await page.waitForFunction(() => !!window.highlighting)
|
|
const cold = await page.evaluate(() => window.highlighting.mount(1))
|
|
expect(cold.workerRequests).toBe(1)
|
|
expect(cold.cacheSize).toBe(1)
|
|
const first = await page.locator('[data-line="11"][data-line-type="change-addition"]').innerHTML()
|
|
await page.evaluate(() => window.highlighting.unmount())
|
|
|
|
const cached = await page.evaluate(() => window.highlighting.mount(1))
|
|
expect(cached.workerRequests).toBe(0)
|
|
expect(await page.locator('[data-line="11"][data-line-type="change-addition"]').innerHTML()).toBe(first)
|
|
await page.evaluate(() => window.highlighting.unmount())
|
|
|
|
const changed = await page.evaluate(() => window.highlighting.mount(2))
|
|
expect(changed.workerRequests).toBe(1)
|
|
await expect(page.locator('[data-line="11"][data-line-type="change-addition"]')).toContainText("status: 202")
|
|
await page.evaluate(() => window.highlighting.unmount())
|
|
|
|
await page.evaluate(() => window.highlighting.configure({ theme: "github-dark" }))
|
|
const themed = await page.evaluate(() => window.highlighting.mount(2))
|
|
expect(themed.workerRequests).toBe(1)
|
|
expect(themed.options.theme).toBe("github-dark")
|
|
expect(themed.cacheSize).toBe(1)
|
|
await page.evaluate(() => window.highlighting.unmount())
|
|
|
|
await page.evaluate(() => window.highlighting.configure({ tokenizeMaxLineLength: 1 }))
|
|
const plain = await page.evaluate(() => window.highlighting.mount(2))
|
|
expect(plain.workerRequests).toBe(1)
|
|
expect(plain.options.tokenizeMaxLineLength).toBe(1)
|
|
expect(await page.evaluate(() => window.highlighting.contents()!.after === window.highlighting.input.after[1])).toBe(true)
|
|
})
|