From ef4e2daa48193463b36fdc297d79c6a002e4ee67 Mon Sep 17 00:00:00 2001 From: Pierre Souchay Date: Mon, 7 Nov 2022 13:43:06 +0100 Subject: Properly escape IDs in getSelector() to handle weird IDs (#35565) (#35566) --- js/tests/unit/collapse.spec.js | 6 +++--- js/tests/unit/tab.spec.js | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 3 deletions(-) (limited to 'js/tests') diff --git a/js/tests/unit/collapse.spec.js b/js/tests/unit/collapse.spec.js index 9c8671988..834d1b98e 100644 --- a/js/tests/unit/collapse.spec.js +++ b/js/tests/unit/collapse.spec.js @@ -887,17 +887,17 @@ describe('Collapse', () => { return new Promise(resolve => { fixtureEl.innerHTML = [ '', - '', + '', '', '
', - '
' + '
' ].join('') const trigger1 = fixtureEl.querySelector('#trigger1') const trigger2 = fixtureEl.querySelector('#trigger2') const trigger3 = fixtureEl.querySelector('#trigger3') const target1 = fixtureEl.querySelector('#test1') - const target2 = fixtureEl.querySelector('#test2') + const target2 = fixtureEl.querySelector('#' + CSS.escape('0/my/id')) const target2Shown = () => { expect(trigger1).not.toHaveClass('collapsed') diff --git a/js/tests/unit/tab.spec.js b/js/tests/unit/tab.spec.js index 896e61180..66238efbb 100644 --- a/js/tests/unit/tab.spec.js +++ b/js/tests/unit/tab.spec.js @@ -177,6 +177,43 @@ describe('Tab', () => { }) }) + it('should work with tab id being an int', done => { + fixtureEl.innerHTML = [ + '
', + ' ', + '
', + '
', + '
', + '
', + ' Working Tab 1 (#tab1) Content Here', + '
', + '
', + ' Working Tab 2 (#2) with numeric ID', + '
', + '
' + ].join('') + const profileTriggerEl = fixtureEl.querySelector('#trigger2') + const tab = new Tab(profileTriggerEl) + + profileTriggerEl.addEventListener('shown.bs.tab', () => { + expect(fixtureEl.querySelector('#' + CSS.escape('2'))).toHaveClass('active') + done() + }) + + tab.show() + }) + it('should not fire shown when show is prevented', () => { return new Promise((resolve, reject) => { fixtureEl.innerHTML = '' -- cgit v1.2.3