diff options
Diffstat (limited to 'js/tests/unit')
| -rw-r--r-- | js/tests/unit/popover.js | 54 | ||||
| -rw-r--r-- | js/tests/unit/tooltip.js | 31 |
2 files changed, 31 insertions, 54 deletions
diff --git a/js/tests/unit/popover.js b/js/tests/unit/popover.js index 8f59d3483..729ba46b7 100644 --- a/js/tests/unit/popover.js +++ b/js/tests/unit/popover.js @@ -188,33 +188,41 @@ $(function () { equal($('.popover').length, 0, 'popover was removed') }) - test('should render popover elements using different delegated selectors on the same node', function () { - var popoverHTML = '<div>' - + '<a href="#" class="first" title="mdo" data-content="http://twitter.com/mdo">@mdo</a>' - + '<a href="#" class="second" title="mdo" data-content="http://twitter.com/mdo">@mdo</a>' - + '</div>' + 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 $div = $(popoverHTML) + var handlerCalled = false + $('.content-with-handler .btn').click(function () { + handlerCalled = true + }) + + var $div = $('<div><a href="#">Show popover</a></div>') .appendTo('#qunit-fixture') .bootstrapPopover({ - selector: 'a.first', - trigger: 'click' - }) - .bootstrapPopover({ - selector: 'a.second', - trigger: 'click' + html: true, + trigger: 'manual', + container: 'body', + content: function () { + return $content + } }) - $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') + 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') }) }) diff --git a/js/tests/unit/tooltip.js b/js/tests/unit/tooltip.js index 6232ccdcb..8bde0f533 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 = '<div>' - + '<a href="#" class="first" rel="tooltip" title="First delegated tooltip"/>' - + '<a href="#" class="second" rel="tooltip" title="Second delegated tooltip"/>' - + '</div>' - - 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 () { $('<a href="#" rel="tooltip" title="tooltip on toggle"/>') .appendTo('#qunit-fixture') |
