diff options
| author | Gijs Boddeus <[email protected]> | 2017-10-04 16:12:21 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-10-04 16:12:21 +0200 |
| commit | b14250f1963538f441322f4499bf677c5fc7263d (patch) | |
| tree | 4fbae8859025bc873f797af48e7053a4ba739352 | |
| parent | f40cce9ebcfc3a6b3bea3a74414459b97efd21ae (diff) | |
| parent | 133cc321977ce97d5a688bf32aa2917408e48a6c (diff) | |
| download | bootstrap-b14250f1963538f441322f4499bf677c5fc7263d.tar.xz bootstrap-b14250f1963538f441322f4499bf677c5fc7263d.zip | |
Merge branch 'v4-dev' into yiq-function-update
| -rw-r--r-- | js/src/modal.js | 2 | ||||
| -rw-r--r-- | js/tests/unit/modal.js | 16 |
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') + }) }) |
