mirror of
https://seed.radicle.dev/rad:z4D5UCArafTzTQpDZNQRuqswh3ury.git
synced 2026-10-18 19:10:45 +08:00
Only prepare code blocks inside each Markdown block
Every Markdown instance searched the whole page, so code blocks got an extra wrapper and copy button for each other Markdown block on the page.
This commit is contained in:
@@ -155,7 +155,7 @@
|
||||
|
||||
// Replaces code blocks in the background with highlighted code.
|
||||
const prefix = "language-";
|
||||
const nodes = Array.from(document.body.querySelectorAll("pre code"));
|
||||
const nodes = Array.from(container.querySelectorAll("pre code"));
|
||||
|
||||
const treeChanges: Promise<void>[] = [];
|
||||
|
||||
|
||||
@@ -149,3 +149,28 @@ test("shortcut does not submit an empty comment", async ({ page }) => {
|
||||
await expect(input).toHaveValue(" ");
|
||||
await expect(comments).toHaveCount(2);
|
||||
});
|
||||
|
||||
test("each code block gets one copy button", async ({ page }) => {
|
||||
await page.goto(`/repos/${cobRid}/issues`);
|
||||
await page.getByRole("button", { name: "New" }).click();
|
||||
await page.getByPlaceholder("Title").fill("Code blocks in two places");
|
||||
await page
|
||||
.getByPlaceholder("Description")
|
||||
.fill("First:\n\n```js\nconsole.log('one')\n```");
|
||||
await page.getByRole("button", { name: /^Save/ }).click();
|
||||
await expect(
|
||||
page.getByRole("button", { name: "Code blocks in two places" }),
|
||||
).toBeVisible();
|
||||
|
||||
// A second Markdown block on the page used to wrap the first one's code
|
||||
// again.
|
||||
await page
|
||||
.getByPlaceholder("Leave a comment")
|
||||
.fill("Second:\n\n```js\nconsole.log('two')\n```");
|
||||
await page.getByRole("button", { name: /^Comment/ }).click();
|
||||
|
||||
await expect(page.locator("pre")).toHaveCount(2);
|
||||
await expect(page.locator(".pre-wrapper")).toHaveCount(2);
|
||||
await expect(page.locator(".pre-wrapper radicle-clipboard")).toHaveCount(2);
|
||||
await expect(page.locator(".pre-wrapper .pre-wrapper")).toHaveCount(0);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user