From: Louis-Maxime Piton Date: Wed, 13 Sep 2023 07:30:32 +0000 (+0200) Subject: Fix collapse multiple ids target (#38989) X-Git-Tag: v5.3.2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9900cf33c0d980353303b0fee381199c9ee89fb8;p=thirdparty%2Fbootstrap.git Fix collapse multiple ids target (#38989) --- diff --git a/js/src/dom/selector-engine.js b/js/src/dom/selector-engine.js index 3cecf6f40c..a47f72001b 100644 --- a/js/src/dom/selector-engine.js +++ b/js/src/dom/selector-engine.js @@ -26,10 +26,10 @@ const getSelector = element => { hrefAttribute = `#${hrefAttribute.split('#')[1]}` } - selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null + selector = hrefAttribute && hrefAttribute !== '#' ? parseSelector(hrefAttribute.trim()) : null } - return parseSelector(selector) + return selector } const SelectorEngine = { diff --git a/js/tests/unit/dom/selector-engine.spec.js b/js/tests/unit/dom/selector-engine.spec.js index 8dd7b1f893..72c0bf6db8 100644 --- a/js/tests/unit/dom/selector-engine.spec.js +++ b/js/tests/unit/dom/selector-engine.spec.js @@ -359,6 +359,18 @@ describe('SelectorEngine', () => { expect(SelectorEngine.getMultipleElementsFromSelector(testEl)).toEqual(Array.from(fixtureEl.querySelectorAll('.target'))) }) + it('should get elements if several ids are given', () => { + fixtureEl.innerHTML = [ + '
', + '
', + '
' + ].join('') + + const testEl = fixtureEl.querySelector('#test') + + expect(SelectorEngine.getMultipleElementsFromSelector(testEl)).toEqual(Array.from(fixtureEl.querySelectorAll('.target'))) + }) + it('should get elements in array, from href if no data-bs-target set', () => { fixtureEl.innerHTML = [ '',