aboutsummaryrefslogtreecommitdiff
path: root/js/tests
diff options
context:
space:
mode:
authorJohann-S <[email protected]>2017-11-07 12:41:06 +0100
committerGitHub <[email protected]>2017-11-07 12:41:06 +0100
commit79d6b574cc0946889eb2ef23c765bab50c2a6d60 (patch)
treef2fb33479a4278f781e3a22b05e32e7277b04546 /js/tests
parent26dc17bcd23fd2f5fd762c5cb73c6a670bd5f897 (diff)
downloadbootstrap-79d6b574cc0946889eb2ef23c765bab50c2a6d60.tar.xz
bootstrap-79d6b574cc0946889eb2ef23c765bab50c2a6d60.zip
Escape ID in Util.getSelectorFromElement (#24700)
Diffstat (limited to 'js/tests')
-rw-r--r--js/tests/unit/util.js15
1 files changed, 14 insertions, 1 deletions
diff --git a/js/tests/unit/util.js b/js/tests/unit/util.js
index 372c6e3f7..7f590cc33 100644
--- a/js/tests/unit/util.js
+++ b/js/tests/unit/util.js
@@ -4,13 +4,26 @@ $(function () {
QUnit.module('util')
QUnit.test('Util.getSelectorFromElement should return the correct element', function (assert) {
- assert.expect(2)
+ assert.expect(5)
+
var $el = $('<div data-target="body"></div>').appendTo($('#qunit-fixture'))
assert.strictEqual(Util.getSelectorFromElement($el[0]), 'body')
// not found element
var $el2 = $('<div data-target="#fakeDiv"></div>').appendTo($('#qunit-fixture'))
assert.strictEqual(Util.getSelectorFromElement($el2[0]), null)
+
+ // should escape ID and find the correct element
+ var $el3 = $('<div data-target="#collapse:Example"></div>').appendTo($('#qunit-fixture'))
+ $('<div id="collapse:Example"></div>').appendTo($('#qunit-fixture'))
+ assert.strictEqual(Util.getSelectorFromElement($el3[0]), '#collapse\\:Example')
+
+ // if $.escapeSelector doesn't exist in older jQuery versions (< 3)
+ var tmpEscapeSelector = $.escapeSelector
+ delete $.escapeSelector
+ assert.ok(typeof $.escapeSelector === 'undefined', '$.escapeSelector undefined')
+ assert.strictEqual(Util.getSelectorFromElement($el3[0]), '#collapse\\:Example')
+ $.escapeSelector = tmpEscapeSelector
})
QUnit.test('Util.typeCheckConfig should thrown an error when a bad config is passed', function (assert) {