From 898772787c4d52c3659041f8ac6aa3a6f98d7660 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Mon, 8 Feb 2021 11:18:39 +0100 Subject: [PATCH] DEV: makes aria-expanded boolean check strict (#12008) {{d-button ariaExpanded=xxx}} only accepts Boolean now. --- .../discourse/app/components/d-button.js | 7 ++++++- .../tests/integration/components/d-button-test.js | 14 ++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/discourse/app/components/d-button.js b/app/assets/javascripts/discourse/app/components/d-button.js index adb2661c143..da93f367d0a 100644 --- a/app/assets/javascripts/discourse/app/components/d-button.js +++ b/app/assets/javascripts/discourse/app/components/d-button.js @@ -96,7 +96,12 @@ export default Component.extend({ @discourseComputed("ariaExpanded") computedAriaExpanded(ariaExpanded) { - return ariaExpanded ? "true" : "false"; + if (ariaExpanded === true) { + return "true"; + } + if (ariaExpanded === false) { + return "false"; + } }, click(event) { diff --git a/app/assets/javascripts/discourse/tests/integration/components/d-button-test.js b/app/assets/javascripts/discourse/tests/integration/components/d-button-test.js index 681d0bfccc1..08df8949f15 100644 --- a/app/assets/javascripts/discourse/tests/integration/components/d-button-test.js +++ b/app/assets/javascripts/discourse/tests/integration/components/d-button-test.js @@ -206,10 +206,12 @@ discourseModule("Integration | Component | d-button", function (hooks) { }, }); - componentTest("ariaExpanded", { - template: "{{d-button ariaExpanded=ariaExpanded}}", + componentTest("aria-expanded", { + template: hbs`{{d-button ariaExpanded=ariaExpanded}}`, test(assert) { + assert.equal(query("button").ariaExpanded, null); + this.set("ariaExpanded", true); assert.equal(query("button").ariaExpanded, "true"); @@ -220,16 +222,16 @@ discourseModule("Integration | Component | d-button", function (hooks) { this.set("ariaExpanded", "false"); - assert.equal(query("button").ariaExpanded, "true"); + assert.equal(query("button").ariaExpanded, null); this.set("ariaExpanded", "true"); - assert.equal(query("button").ariaExpanded, "true"); + assert.equal(query("button").ariaExpanded, null); }, }); - componentTest("ariaControls", { - template: "{{d-button ariaControls=ariaControls}}", + componentTest("aria-controls", { + template: hbs`{{d-button ariaControls=ariaControls}}`, test(assert) { this.set("ariaControls", "foo-bar");