diff options
Diffstat (limited to 'tests/unit/tooltip')
-rw-r--r-- | tests/unit/tooltip/tooltip.html | 44 | ||||
-rw-r--r-- | tests/unit/tooltip/tooltip_core.js | 11 | ||||
-rw-r--r-- | tests/unit/tooltip/tooltip_defaults.js | 16 | ||||
-rw-r--r-- | tests/unit/tooltip/tooltip_events.js | 54 | ||||
-rw-r--r-- | tests/unit/tooltip/tooltip_methods.js | 30 | ||||
-rw-r--r-- | tests/unit/tooltip/tooltip_options.js | 54 | ||||
-rw-r--r-- | tests/unit/tooltip/tooltip_tickets.js | 10 |
7 files changed, 219 insertions, 0 deletions
diff --git a/tests/unit/tooltip/tooltip.html b/tests/unit/tooltip/tooltip.html new file mode 100644 index 000000000..33c754394 --- /dev/null +++ b/tests/unit/tooltip/tooltip.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8" /> + <title>jQuery UI Tooltip Test Suite</title> + + <link type="text/css" href="../../../themes/base/jquery.ui.tooltip.css" rel="stylesheet" /> + + <script type="text/javascript" src="../../../jquery-1.4.4.js"></script> + <script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script> + <script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script> + <script type="text/javascript" src="../../../ui/jquery.ui.position.js"></script> + <script type="text/javascript" src="../../../ui/jquery.ui.tooltip.js"></script> + + <link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/> + <script type="text/javascript" src="../../../external/qunit.js"></script> + <script type="text/javascript" src="../../jquery.simulate.js"></script> + <script type="text/javascript" src="../testsuite.js"></script> + + <script type="text/javascript" src="tooltip_core.js"></script> + <script type="text/javascript" src="tooltip_defaults.js"></script> + <script type="text/javascript" src="tooltip_events.js"></script> + <script type="text/javascript" src="tooltip_methods.js"></script> + <script type="text/javascript" src="tooltip_options.js"></script> + <script type="text/javascript" src="tooltip_tickets.js"></script> + +</head> +<body> + +<h1 id="qunit-header">jQuery UI Tooltip Test Suite</h1> +<h2 id="qunit-banner"></h2> +<h2 id="qunit-userAgent"></h2> +<ol id="qunit-tests"> +</ol> + +<div id="main" style="position: absolute; top: -10000px; left: -10000px;"> + <div> + <a id="tooltipped1" href="#" title="anchortitle">anchor</a> + <input title="inputtitle" /> + </div> +</div> + +</body> +</html> diff --git a/tests/unit/tooltip/tooltip_core.js b/tests/unit/tooltip/tooltip_core.js new file mode 100644 index 000000000..247927df4 --- /dev/null +++ b/tests/unit/tooltip/tooltip_core.js @@ -0,0 +1,11 @@ +/* + * tooltip_core.js + */ + + +(function($) { + +module("tooltip: core"); + + +})(jQuery); diff --git a/tests/unit/tooltip/tooltip_defaults.js b/tests/unit/tooltip/tooltip_defaults.js new file mode 100644 index 000000000..419d7a085 --- /dev/null +++ b/tests/unit/tooltip/tooltip_defaults.js @@ -0,0 +1,16 @@ +/* + * tooltip_defaults.js + */ + +var tooltip_defaults = { + disabled: false, + items: "[title]", + content: $.ui.tooltip.prototype.options.content, + position: { + my: "left center", + at: "right center", + offset: "15 0" + } +}; + +commonWidgetTests('tooltip', { defaults: tooltip_defaults }); diff --git a/tests/unit/tooltip/tooltip_events.js b/tests/unit/tooltip/tooltip_events.js new file mode 100644 index 000000000..35620df47 --- /dev/null +++ b/tests/unit/tooltip/tooltip_events.js @@ -0,0 +1,54 @@ +/* + * tooltip_events.js + */ +(function($) { + +module("tooltip: events"); + +test("programmatic triggers", function() { + expect(2); + var e = $("#tooltipped1").tooltip({ + open: function(event, ui) { + same( event.type, "tooltipopen" ); + }, + close: function(event, ui) { + same( event.type, "tooltipclose" ); + } + }); + e.tooltip("open").tooltip("close"); + e.tooltip("destroy"); +}); + +test("mouse events", function() { + expect(4); + var e = $("#tooltipped1").tooltip({ + open: function(event, ui) { + same( event.type, "tooltipopen" ); + same( event.originalEvent.type, "mouseover" ); + }, + close: function(event, ui) { + same( event.type, "tooltipclose" ); + same( event.originalEvent.type, "mouseout" ); + } + }); + e.trigger("mouseover").trigger("mouseout"); + e.tooltip("destroy"); +}); + +test("focus events", function() { + expect(4); + var e = $("#tooltipped1").tooltip({ + open: function(event, ui) { + same( event.type, "tooltipopen" ); + same( event.originalEvent.type, "focus" ); + }, + close: function(event, ui) { + same( event.type, "tooltipclose" ); + same( event.originalEvent.type, "blur" ); + } + }); + e.trigger("focus").trigger("blur"); + e.tooltip("destroy"); +}); + +})(jQuery); diff --git a/tests/unit/tooltip/tooltip_methods.js b/tests/unit/tooltip/tooltip_methods.js new file mode 100644 index 000000000..ace1a1288 --- /dev/null +++ b/tests/unit/tooltip/tooltip_methods.js @@ -0,0 +1,30 @@ +/* + * tooltip_methods.js + */ +(function($) { + + +module("tooltip: methods"); + +test("destroy", function() { + var beforeHtml = $("#tooltipped1").parent().html(); + var afterHtml = $("#tooltipped1").tooltip().tooltip("destroy").parent().html(); + equal( afterHtml, beforeHtml ); +}); + +test("open", function() { + var e = $("#tooltipped1").tooltip(); + ok( $(".ui-tooltip").is(":hidden") ); + e.tooltip("open"); + ok( $(".ui-tooltip").is(":visible") ); + $(":ui-tooltip").tooltip("destroy"); +}); + +test("widget", function() { + var tooltip = $("#tooltipped1").tooltip(); + same(tooltip.tooltip("widget")[0], $(".ui-tooltip")[0]); + same(tooltip.tooltip("widget").end()[0], tooltip[0]); +}); + + +})(jQuery); diff --git a/tests/unit/tooltip/tooltip_options.js b/tests/unit/tooltip/tooltip_options.js new file mode 100644 index 000000000..6962d1e86 --- /dev/null +++ b/tests/unit/tooltip/tooltip_options.js @@ -0,0 +1,54 @@ +/* + * tooltip_options.js + */ +(function($) { + +module("tooltip: options", { + teardown: function() { + $(":ui-tooltip").tooltip("destroy"); + } +}); + + +test("option: items", function() { + ok(false, "missing items test"); +}); + +test("content: default", function() { + $("#tooltipped1").tooltip().tooltip("open"); + same( $(".ui-tooltip").text(), "anchortitle" ); +}); + +test("content: return string", function() { + $("#tooltipped1").tooltip({ + content: function() { + return "customstring"; + } + }).tooltip("open"); + same( $(".ui-tooltip").text(), "customstring" ); +}); + +test("content: return jQuery", function() { + $("#tooltipped1").tooltip({ + content: function() { + return $("<div></div>").html("cu<b>s</b>tomstring"); + } + }).tooltip("open"); + same( $(".ui-tooltip").text(), "customstring" ); +}); + +test("content: callback string", function() { + stop(); + $("#tooltipped1").tooltip({ + content: function(response) { + response("customstring2"); + setTimeout(function() { + same( $(".ui-tooltip").text(), "customstring2" ); + start(); + }, 100) + } + }).tooltip("open"); + +}); + +})(jQuery); diff --git a/tests/unit/tooltip/tooltip_tickets.js b/tests/unit/tooltip/tooltip_tickets.js new file mode 100644 index 000000000..5d6d0ef86 --- /dev/null +++ b/tests/unit/tooltip/tooltip_tickets.js @@ -0,0 +1,10 @@ +/* + * tooltip_tickets.js + */ +(function($) { + +module("tooltip: tickets"); + + + +})(jQuery); |