Keep emoji at code size inside code blocks so line numbers stay aligned (#34497)
This commit is contained in:
@@ -909,6 +909,30 @@ test.describe("Timeline", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("should not enlarge emoji inside a code block", async ({ page, app, room }) => {
|
||||||
|
await page.goto(`/#/room/${room.roomId}`);
|
||||||
|
|
||||||
|
const composer = app.getComposerField();
|
||||||
|
await composer.fill("```\nconst waving = '👋';\n```");
|
||||||
|
await composer.press("Enter");
|
||||||
|
await composer.fill("👋 hello");
|
||||||
|
await composer.press("Enter");
|
||||||
|
|
||||||
|
const codeBlock = page.locator(".mx_EventTile_pre_container").first();
|
||||||
|
await expect(codeBlock).toBeVisible();
|
||||||
|
|
||||||
|
const fontSize = (locator: Locator): Promise<string> =>
|
||||||
|
locator.evaluate((node) => window.getComputedStyle(node).fontSize);
|
||||||
|
|
||||||
|
// Inside a code block the emoji must not be any larger than the code around it,
|
||||||
|
// otherwise the line it sits on grows and the line numbers stop lining up
|
||||||
|
expect(await fontSize(codeBlock.locator(".mx_Emoji"))).toEqual(await fontSize(codeBlock.locator("code")));
|
||||||
|
|
||||||
|
// ...but emoji in an ordinary message are still enlarged
|
||||||
|
const message = page.locator(".mx_EventTile_last .mx_EventTile_body");
|
||||||
|
expect(await fontSize(message.locator(".mx_Emoji"))).not.toEqual(await fontSize(message));
|
||||||
|
});
|
||||||
|
|
||||||
test(
|
test(
|
||||||
"should be able to hide an image",
|
"should be able to hide an image",
|
||||||
{ tag: "@screenshot" },
|
{ tag: "@screenshot" },
|
||||||
|
|||||||
@@ -851,6 +851,12 @@ $left-gutter: 64px;
|
|||||||
/* For correct positioning of _copyButton (See TextualBody) */
|
/* For correct positioning of _copyButton (See TextualBody) */
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
|
/* Emoji are enlarged in prose, but a code block's line numbers are one fixed-height block
|
||||||
|
per line and cannot follow a line that an enlarged emoji has made taller. */
|
||||||
|
.mx_Emoji {
|
||||||
|
font-size: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
&:focus-within,
|
&:focus-within,
|
||||||
&:hover {
|
&:hover {
|
||||||
.mx_EventTile_button {
|
.mx_EventTile_button {
|
||||||
|
|||||||
Reference in New Issue
Block a user