From 27bfef5b35f3e12af8beb7140e3b19bb6a3b3a75 Mon Sep 17 00:00:00 2001 From: Chris Rebert Date: Mon, 22 Dec 2014 14:02:31 -0800 Subject: Add regression test for #14244. Special thanks to @programcsharp [skip validator] --- js/tests/unit/popover.js | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'js/tests/unit') 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 = $('
Button with event handler
').appendTo('#qunit-fixture') + + var handlerCalled = false; + $('.content-with-handler .btn').click(function () { + handlerCalled = true + }); + + var $div = $('
Show popover
') + .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') + }) }) -- cgit v1.2.3 From 32cb0715949e5ab20716121234d858e51f3ff386 Mon Sep 17 00:00:00 2001 From: Chris Rebert Date: Mon, 29 Dec 2014 18:34:35 -0800 Subject: Remove semicolons from #15425 because fat --- js/tests/unit/popover.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'js/tests/unit') diff --git a/js/tests/unit/popover.js b/js/tests/unit/popover.js index 4b8b2a96b..13ba93862 100644 --- a/js/tests/unit/popover.js +++ b/js/tests/unit/popover.js @@ -221,10 +221,10 @@ $(function () { test('should detach popover content rather than removing it so that event handlers are left intact', function () { var $content = $('').appendTo('#qunit-fixture') - var handlerCalled = false; + var handlerCalled = false $('.content-with-handler .btn').click(function () { handlerCalled = true - }); + }) var $div = $('
Show popover
') .appendTo('#qunit-fixture') @@ -233,7 +233,7 @@ $(function () { trigger: 'manual', container: 'body', content: function () { - return $content; + return $content } }) -- cgit v1.2.3 From adaabab81bcc7da1c832ecdab79db9d87f04e5b2 Mon Sep 17 00:00:00 2001 From: Chris Rebert Date: Mon, 29 Dec 2014 20:03:27 -0800 Subject: Revert "Allow multiple delegated tooltip selectors on a node" This reverts commit 1b3237629a316af41945e20837cf3a332798b264. This reverts PR #14189 because it caused major regressions. Fixes #15168. We'll try to revisit #14167's feature request in Bootstrap v4. [skip validator] --- js/tests/unit/popover.js | 30 ------------------------------ js/tests/unit/tooltip.js | 31 ------------------------------- 2 files changed, 61 deletions(-) (limited to 'js/tests/unit') diff --git a/js/tests/unit/popover.js b/js/tests/unit/popover.js index 13ba93862..e1a2edef7 100644 --- a/js/tests/unit/popover.js +++ b/js/tests/unit/popover.js @@ -188,36 +188,6 @@ $(function () { equal($('.popover').length, 0, 'popover was removed') }) - test('should render popover elements using different delegated selectors on the same node', function () { - var popoverHTML = '
' - + '@mdo' - + '@mdo' - + '
' - - var $div = $(popoverHTML) - .appendTo('#qunit-fixture') - .bootstrapPopover({ - selector: 'a.first', - trigger: 'click' - }) - .bootstrapPopover({ - selector: 'a.second', - trigger: 'click' - }) - - $div.find('a.first').click() - notEqual($('.popover').length, 0, 'first popover was inserted') - - $div.find('a.first').click() - equal($('.popover').length, 0, 'first popover removed') - - $div.find('a.second').click() - notEqual($('.popover').length, 0, 'second popover was inserted') - - $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 = $('').appendTo('#qunit-fixture') diff --git a/js/tests/unit/tooltip.js b/js/tests/unit/tooltip.js index eb578c22a..2264ca372 100644 --- a/js/tests/unit/tooltip.js +++ b/js/tests/unit/tooltip.js @@ -235,37 +235,6 @@ $(function () { equal($('.tooltip').length, 0, 'tooltip was removed from dom') }) - test('should show tooltips with different delegate selectors on the same node on click', function () { - var tooltipHTML = '
' - + '' - + '' - + '
' - - var $div = $(tooltipHTML) - .append() - .appendTo('#qunit-fixture') - .bootstrapTooltip({ - selector: 'a.first[rel="tooltip"]', - trigger: 'click' - }) - .bootstrapTooltip({ - selector: 'a.second[rel="tooltip"]', - trigger: 'click' - }) - - $div.find('a.first').click() - ok($('.tooltip').is('.fade.in'), 'first tooltip is faded in') - - $div.find('a.first').click() - equal($('.tooltip').length, 0, 'first tooltip was removed from dom') - - $div.find('a.second').click() - ok($('.tooltip').is('.fade.in'), 'second tooltip is faded in') - - $div.find('a.second').click() - equal($('.tooltip').length, 0, 'second tooltip was removed from dom') - }) - test('should show tooltip when toggle is called', function () { $('') .appendTo('#qunit-fixture') -- cgit v1.2.3