diff options
author | Jacob Thornton <jacobthornton@gmail.com> | 2012-05-31 20:03:53 +0400 |
---|---|---|
committer | Jacob Thornton <jacobthornton@gmail.com> | 2012-05-31 20:03:53 +0400 |
commit | bcd5097c0267a8285c2b60fd3b751cd3ae78ad7a (patch) | |
tree | d1b4e6f5c57c81168d1eb18f40bca5e2fc55ad9a | |
parent | 7875e4833cb7d00db2967078fd6f51adbfd4a351 (diff) | |
parent | 8dda83906d72ade81ecf9b21d55b5a2922589d30 (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.js | 4 | ||||
-rw-r--r-- | js/tests/unit/bootstrap-tooltip.js | 35 |
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 +}) |