aboutsummaryrefslogtreecommitdiff
path: root/js/tests/unit/bootstrap-tooltip.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/tests/unit/bootstrap-tooltip.js')
-rw-r--r--js/tests/unit/bootstrap-tooltip.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/js/tests/unit/bootstrap-tooltip.js b/js/tests/unit/bootstrap-tooltip.js
new file mode 100644
index 000000000..8543162c6
--- /dev/null
+++ b/js/tests/unit/bootstrap-tooltip.js
@@ -0,0 +1,62 @@
+$(function () {
+
+ module("bootstrap-tooltip")
+
+ test("should be defined on jquery object", function () {
+ var div = $("<div></div>")
+ ok(div.tooltip, 'popover method is defined')
+ })
+
+ test("should return element", function () {
+ var div = $("<div></div>")
+ ok(div.tooltip() == div, 'document.body returned')
+ })
+
+ test("should expose default settings", function () {
+ ok(!!$.fn.tooltip.defaults, 'defaults is defined')
+ })
+
+ test("should remove title attribute", function () {
+ var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>').tooltip()
+ ok(!tooltip.attr('title'), 'title tag was removed')
+ })
+
+ test("should add data attribute for referencing original title", function () {
+ var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>').tooltip()
+ equals(tooltip.attr('data-original-title'), 'Another tooltip', 'original title preserved in data attribute')
+ })
+
+ test("should place tooltips relative to placement option", function () {
+ $.support.transition = false
+ var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>')
+ .appendTo('#qunit-fixture')
+ .tooltip({placement: 'bottom'})
+ .tooltip('show')
+
+ ok($(".tooltip").hasClass('fade bottom in'), 'has correct classes applied')
+ tooltip.tooltip('hide')
+ })
+
+ test("should always allow html entities", function () {
+ $.support.transition = false
+ var tooltip = $('<a href="#" rel="tooltip" title="<b>@fat</b>"></a>')
+ .appendTo('#qunit-fixture')
+ .tooltip('show')
+
+ ok($('.tooltip b').length, 'b tag was inserted')
+ tooltip.tooltip('hide')
+ ok(!$(".tooltip").length, 'tooltip removed')
+ })
+
+ test("should respect custom classes", function () {
+ var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>')
+ .appendTo('#qunit-fixture')
+ .tooltip({ template: '<div class="tooltip some-class"><div class="tooltip-arrow"/><div class="tooltip-inner"/></div>'})
+ .tooltip('show')
+
+ ok($('.tooltip').hasClass('some-class'), 'custom class is present')
+ tooltip.tooltip('hide')
+ ok(!$(".tooltip").length, 'tooltip removed')
+ })
+
+}) \ No newline at end of file