From da3f39cfb8990be36883dc5124817c4693999f3f Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann Date: Wed, 4 Mar 2020 22:54:18 +0100 Subject: [PATCH] fix(allByLabelText): forEach on NodeList is not supported in edge --- src/queries/label-text.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/queries/label-text.js b/src/queries/label-text.js index 3b394f41..588258d1 100644 --- a/src/queries/label-text.js +++ b/src/queries/label-text.js @@ -64,17 +64,19 @@ function queryAllByLabelText( } if (label.getAttribute('id')) { // - container - .querySelectorAll(`[aria-labelledby~="${label.getAttribute('id')}"]`) - .forEach(element => elementsForLabel.push(element)) + Array.from( + container.querySelectorAll( + `[aria-labelledby~="${label.getAttribute('id')}"]`, + ), + ).forEach(element => elementsForLabel.push(element)) } if (label.childNodes.length) { // const formControlSelector = 'button, input, meter, output, progress, select, textarea' - label - .querySelectorAll(formControlSelector) - .forEach(element => elementsForLabel.push(element)) + Array.from( + label.querySelectorAll(formControlSelector), + ).forEach(element => elementsForLabel.push(element)) } return matchedElements.concat(elementsForLabel) }, [])