aboutsummaryrefslogtreecommitdiff
path: root/js/tests/unit
diff options
context:
space:
mode:
Diffstat (limited to 'js/tests/unit')
-rw-r--r--js/tests/unit/popover.js54
-rw-r--r--js/tests/unit/tooltip.js31
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')