Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Thornton <jacobthornton@gmail.com>2012-05-31 20:03:53 +0400
committerJacob Thornton <jacobthornton@gmail.com>2012-05-31 20:03:53 +0400
commitbcd5097c0267a8285c2b60fd3b751cd3ae78ad7a (patch)
treed1b4e6f5c57c81168d1eb18f40bca5e2fc55ad9a
parent7875e4833cb7d00db2967078fd6f51adbfd4a351 (diff)
parent8dda83906d72ade81ecf9b21d55b5a2922589d30 (diff)
Merge pull request #3655 from jorgenfb/8dda83906d72ade81ecf9b21d55b5a2922589d30
Updated unit test for tooltips. Now using is() instead of hasClass()
-rw-r--r--js/bootstrap-tooltip.js4
-rw-r--r--js/tests/unit/bootstrap-tooltip.js35
2 files changed, 29 insertions, 10 deletions
diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js
index 577ead48b5..6ff2b47086 100644
--- a/js/bootstrap-tooltip.js
+++ b/js/bootstrap-tooltip.js
@@ -84,9 +84,9 @@
, leave: function (e) {
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+ if (this.timeout) clearTimeout(this.timeout)
if (!self.options.delay || !self.options.delay.hide) return self.hide()
- clearTimeout(this.timeout)
self.hoverState = 'out'
this.timeout = setTimeout(function() {
if (self.hoverState == 'out') self.hide()
@@ -272,4 +272,4 @@
, delay: 0
}
-}(window.jQuery); \ No newline at end of file
+}(window.jQuery);
diff --git a/js/tests/unit/bootstrap-tooltip.js b/js/tests/unit/bootstrap-tooltip.js
index 63f4f0b07c..63a42b0d4d 100644
--- a/js/tests/unit/bootstrap-tooltip.js
+++ b/js/tests/unit/bootstrap-tooltip.js
@@ -33,7 +33,7 @@ $(function () {
.tooltip({placement: 'bottom'})
.tooltip('show')
- ok($(".tooltip").hasClass('fade bottom in'), 'has correct classes applied')
+ ok($(".tooltip").is('.fade.bottom.in'), 'has correct classes applied')
tooltip.tooltip('hide')
})
@@ -69,10 +69,29 @@ $(function () {
tooltip.trigger('mouseenter')
setTimeout(function () {
- ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
+ ok(!$(".tooltip").is('.fade.in'), 'tooltip is not faded in')
tooltip.trigger('mouseout')
setTimeout(function () {
- ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
+ ok(!$(".tooltip").is('.fade.in'), 'tooltip is not faded in')
+ start()
+ }, 200)
+ }, 100)
+ })
+
+ test("should not show tooltip if leave event occurs before delay expires, even if hide delay is 0", function () {
+ var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>')
+ .appendTo('#qunit-fixture')
+ .tooltip({ delay: { show: 200, hide: 0} })
+
+ stop()
+
+ tooltip.trigger('mouseenter')
+
+ setTimeout(function () {
+ ok(!$(".tooltip").is('.fade.in'), 'tooltip is not faded in')
+ tooltip.trigger('mouseout')
+ setTimeout(function () {
+ ok(!$(".tooltip").is('.fade.in'), 'tooltip is not faded in')
start()
}, 200)
}, 100)
@@ -85,10 +104,10 @@ $(function () {
stop()
tooltip.trigger('mouseenter')
setTimeout(function () {
- ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
+ ok(!$(".tooltip").is('.fade.in'), 'tooltip is not faded in')
tooltip.trigger('mouseout')
setTimeout(function () {
- ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
+ ok(!$(".tooltip").is('.fade.in'), 'tooltip is not faded in')
start()
}, 100)
}, 50)
@@ -101,9 +120,9 @@ $(function () {
stop()
tooltip.trigger('mouseenter')
setTimeout(function () {
- ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
+ ok(!$(".tooltip").is('.fade.in'), 'tooltip is not faded in')
setTimeout(function () {
- ok(!$(".tooltip").hasClass('fade in'), 'tooltip has faded in')
+ ok(!$(".tooltip").is('.fade.in'), 'tooltip has faded in')
start()
}, 200)
}, 100)
@@ -133,4 +152,4 @@ $(function () {
ok($.fn.tooltip.Constructor.prototype.isHTML($('<div></div>')), 'correctly detected html')
})
-}) \ No newline at end of file
+})