aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGijs Boddeus <[email protected]>2017-10-04 16:12:21 +0200
committerGitHub <[email protected]>2017-10-04 16:12:21 +0200
commitb14250f1963538f441322f4499bf677c5fc7263d (patch)
tree4fbae8859025bc873f797af48e7053a4ba739352
parentf40cce9ebcfc3a6b3bea3a74414459b97efd21ae (diff)
parent133cc321977ce97d5a688bf32aa2917408e48a6c (diff)
downloadbootstrap-b14250f1963538f441322f4499bf677c5fc7263d.tar.xz
bootstrap-b14250f1963538f441322f4499bf677c5fc7263d.zip
Merge branch 'v4-dev' into yiq-function-update
-rw-r--r--js/src/modal.js2
-rw-r--r--js/tests/unit/modal.js16
2 files changed, 17 insertions, 1 deletions
diff --git a/js/src/modal.js b/js/src/modal.js
index fb787208d..1ea630c41 100644
--- a/js/src/modal.js
+++ b/js/src/modal.js
@@ -113,7 +113,7 @@ const Modal = (() => {
}
show(relatedTarget) {
- if (this._isTransitioning) {
+ if (this._isTransitioning || this._isShown) {
return
}
diff --git a/js/tests/unit/modal.js b/js/tests/unit/modal.js
index e026cd7f1..e081a6dc2 100644
--- a/js/tests/unit/modal.js
+++ b/js/tests/unit/modal.js
@@ -673,4 +673,20 @@ $(function () {
$toggleBtn.trigger('click')
setTimeout(done, 500)
})
+
+ QUnit.test('should not try to open a modal which is already visible', function (assert) {
+ assert.expect(1)
+ var done = assert.async()
+ var count = 0
+
+ $('<div id="modal-test"/>').on('shown.bs.modal', function () {
+ count++
+ }).on('hidden.bs.modal', function () {
+ assert.strictEqual(count, 1, 'show() runs only once')
+ done()
+ })
+ .bootstrapModal('show')
+ .bootstrapModal('show')
+ .bootstrapModal('hide')
+ })
})