aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorj.corns <[email protected]>2014-05-14 10:36:32 -0700
committerj.corns <[email protected]>2014-05-14 10:36:32 -0700
commit122c05dbd87d9708086da4d097f7e715233f3b2c (patch)
treee74040ee86e4bfee9007ff4101aa5c49c0c398c4
parent5c11632bafd573462951e91ebda0fd020c63954e (diff)
downloadbootstrap-122c05dbd87d9708086da4d097f7e715233f3b2c.tar.xz
bootstrap-122c05dbd87d9708086da4d097f7e715233f3b2c.zip
Add tooltip self-reference to address #12320
primarily adds a data- attribute to the tooltip (and thus, the popover) to create a self-reference.
-rw-r--r--js/tests/unit/popover.js10
-rw-r--r--js/tests/unit/tooltip.js11
-rw-r--r--js/tooltip.js1
3 files changed, 22 insertions, 0 deletions
diff --git a/js/tests/unit/popover.js b/js/tests/unit/popover.js
index 1a095564b..b28e1f3a7 100644
--- a/js/tests/unit/popover.js
+++ b/js/tests/unit/popover.js
@@ -46,6 +46,16 @@ $(function () {
ok(!!popover.data('bs.popover'), 'popover instance exists')
})
+ test('should store popover trigger in popover instance data object', function () {
+ $.support.transition = false
+ var popover = $('<a href="#" title="ResentedHook">@ResentedHook</a>')
+ .appendTo('#qunit-fixture')
+ .bootstrapPopover()
+ popover.bootstrapPopover('show')
+ ok(!!$('.popover').data('bs.popover'), 'popover trigger stored in instance data')
+ $('#qunit-fixture').empty()
+ })
+
test('should get title and content from options', function () {
$.support.transition = false
var popover = $('<a href="#">@fat</a>')
diff --git a/js/tests/unit/tooltip.js b/js/tests/unit/tooltip.js
index e579a9ef7..6c24111b8 100644
--- a/js/tests/unit/tooltip.js
+++ b/js/tests/unit/tooltip.js
@@ -295,6 +295,17 @@ $(function () {
ok($('.tooltip').is('.fade.in'), 'tooltip should be toggled in')
})
+ test('should hide shown tooltip when toggle is called on tooltip', function () {
+ var tooltip = $('<a href="#" rel="tooltip" title="tooltip on toggle">@ResentedHook</a>')
+ .appendTo('#qunit-fixture')
+ .bootstrapTooltip({trigger: 'manual'})
+ .bootstrapTooltip('toggle')
+ $('.tooltip', '#qunit-fixture').bootstrapTooltip('toggle')
+ ok($('.tooltip').not('.fade.in'), 'tooltip should be toggled out')
+ tooltip.bootstrapTooltip('hide')
+ $('#qunit-fixture').empty()
+ })
+
test('should place tooltips inside the body', function () {
var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>')
.appendTo('#qunit-fixture')
diff --git a/js/tooltip.js b/js/tooltip.js
index d985f96e3..076f2fa1c 100644
--- a/js/tooltip.js
+++ b/js/tooltip.js
@@ -166,6 +166,7 @@
.detach()
.css({ top: 0, left: 0, display: 'block' })
.addClass(placement)
+ .data('bs.' + this.type, this)
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)