A11Y: improved titles for chat in the sidebar (#19134)

This commit is contained in:
Kris
2022-11-21 20:24:39 -05:00
committed by GitHub
parent d3366a9092
commit bc61629d0f
3 changed files with 34 additions and 10 deletions
@@ -112,6 +112,7 @@ acceptance("Discourse Chat - Core Sidebar", function (needs) {
{
id: 3,
title: "random",
description: "The channel for random <script>evil</script> things",
chatable_type: "Category",
chatable: { slug: "random" },
last_message_sent_at: "2021-11-08T21:26:05.710Z",
@@ -421,6 +422,19 @@ acceptance("Discourse Chat - Core Sidebar", function (needs) {
assert.strictEqual(currentURL(), "/");
});
test("Escaped channel description used as title when present", async function (assert) {
await visit("/");
const randomChannel = queryAll(
".sidebar-section-chat-channels .sidebar-section-link-wrapper .sidebar-section-link"
)[3];
assert.strictEqual(
randomChannel.title,
"The channel for random &lt;script&gt;evil&lt;/script&gt; things"
);
});
test("Escapes public channel titles", async function (assert) {
await visit("/");
@@ -428,7 +442,10 @@ acceptance("Discourse Chat - Core Sidebar", function (needs) {
".sidebar-section-chat-channels .sidebar-section-link-wrapper .sidebar-section-link"
);
assert.strictEqual(evilChannel.title, "&lt;script&gt;evil&lt;/script&gt;");
assert.strictEqual(
evilChannel.title,
"&lt;script&gt;evil&lt;/script&gt; chat"
);
assert.ok(
evilChannel.className.includes(
@@ -451,7 +468,10 @@ acceptance("Discourse Chat - Core Sidebar", function (needs) {
".sidebar-section-chat-dms .sidebar-section-link-wrapper .sidebar-section-link"
)[3];
assert.strictEqual(evilChannel.title, "@&lt;script&gt;sam&lt;/script&gt;");
assert.strictEqual(
evilChannel.title,
"Chat with @&lt;script&gt;sam&lt;/script&gt;"
);
assert.ok(
evilChannel.className.includes(