diff options
| author | Chris Rebert <[email protected]> | 2014-12-22 14:02:31 -0800 |
|---|---|---|
| committer | Chris Rebert <[email protected]> | 2014-12-29 16:09:37 -0800 |
| commit | 27bfef5b35f3e12af8beb7140e3b19bb6a3b3a75 (patch) | |
| tree | 9860207a91564d86f93ebadec52f90140089beff | |
| parent | e4c7a92c76865545f76a84d75cfa19024d5001a5 (diff) | |
| download | bootstrap-27bfef5b35f3e12af8beb7140e3b19bb6a3b3a75.tar.xz bootstrap-27bfef5b35f3e12af8beb7140e3b19bb6a3b3a75.zip | |
Add regression test for #14244.
Special thanks to @programcsharp
[skip validator]
| -rw-r--r-- | js/tests/unit/popover.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/js/tests/unit/popover.js b/js/tests/unit/popover.js index 466ebace2..4b8b2a96b 100644 --- a/js/tests/unit/popover.js +++ b/js/tests/unit/popover.js @@ -217,4 +217,42 @@ $(function () { $div.find('a.second').click() equal($('.popover').length, 0, 'second popover removed') }) + + test('should detach popover content rather than removing it so that event handlers are left intact', function () { + var $content = $('<div class="content-with-handler"><a class="btn btn-warning">Button with event handler</a></div>').appendTo('#qunit-fixture') + + var handlerCalled = false; + $('.content-with-handler .btn').click(function () { + handlerCalled = true + }); + + var $div = $('<div><a href="#">Show popover</a></div>') + .appendTo('#qunit-fixture') + .bootstrapPopover({ + html: true, + trigger: 'manual', + container: 'body', + content: function () { + return $content; + } + }) + + stop() + $div + .one('shown.bs.popover', function () { + $div + .one('hidden.bs.popover', function () { + $div + .one('shown.bs.popover', function () { + $('.content-with-handler .btn').click() + $div.bootstrapPopover('destroy') + ok(handlerCalled, 'content\'s event handler still present') + start() + }) + .bootstrapPopover('show') + }) + .bootstrapPopover('hide') + }) + .bootstrapPopover('show') + }) }) |
