diff --git a/js/tests/unit/tooltip.js b/js/tests/unit/tooltip.js index 2e175583e5164f81da69475df8bb8f230691eea4..81c0fdf736279b8c8d2a448b15a217d015487f48 100644 --- a/js/tests/unit/tooltip.js +++ b/js/tests/unit/tooltip.js @@ -557,4 +557,31 @@ $(function () { $('head #test').remove() $('head #viewport-style').remove() }) + + test('should not error when trying to show an auto-placed tooltip that has been removed from the dom', function () { + var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>').appendTo('#qunit-fixture') + + tooltip + .one('show.bs.tooltip', function () { + tooltip.remove() + }) + .bootstrapTooltip({ placement: 'auto' }) + + var passed = true + try { + tooltip.bootstrapTooltip('show') + } + catch (err) { + passed = false + console.log(err) + } + ok(passed, '.tooltip(\'show\') should not throw an error in this case') + + try { + tooltip.remove() + } + catch (err) { + // tooltip may have already been removed + } + }) })