aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit
diff options
context:
space:
mode:
authorjzaefferer <joern.zaefferer@gmail.com>2010-04-15 09:45:35 +0200
committerjzaefferer <joern.zaefferer@gmail.com>2010-04-15 09:45:35 +0200
commit84e0ce168f109fbd5482c6c1ba09bbbb55592888 (patch)
tree2992b7c9a1a36bf227ff01b3f94ffc5913ba696b /tests/unit
parentacfc66e1ab4c90897139507124de7365fee4afb9 (diff)
downloadjquery-ui-84e0ce168f109fbd5482c6c1ba09bbbb55592888.tar.gz
jquery-ui-84e0ce168f109fbd5482c6c1ba09bbbb55592888.zip
Tooltip: Unit tests for tooltip and a fix to pass through event objects to triggered events
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/index.html22
-rw-r--r--tests/unit/tooltip/tooltip.html43
-rw-r--r--tests/unit/tooltip/tooltip_core.js11
-rw-r--r--tests/unit/tooltip/tooltip_defaults.js16
-rw-r--r--tests/unit/tooltip/tooltip_events.js54
-rw-r--r--tests/unit/tooltip/tooltip_methods.js23
-rw-r--r--tests/unit/tooltip/tooltip_options.js39
-rw-r--r--tests/unit/tooltip/tooltip_tickets.js10
8 files changed, 197 insertions, 21 deletions
diff --git a/tests/unit/index.html b/tests/unit/index.html
index 4882098d7..ad8c96433 100644
--- a/tests/unit/index.html
+++ b/tests/unit/index.html
@@ -19,27 +19,6 @@
}
</style>
- <script type="text/javascript" src="../../jquery-1.4.2.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.mouse.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.accordion.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.autocomplete.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.button.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.datepicker.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.dialog.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.draggable.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.droppable.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.progressbar.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.resizable.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.selectable.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.slider.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.sortable.js"></script>
- <script type="text/javascript" src="../../ui/jquery.ui.tabs.js"></script>
-
- <script type="text/javascript" src="../../external/jquery.cookie.js"></script>
- <script type="text/javascript" src="../jquery.simulate.js"></script>
-
</head>
<body>
@@ -69,6 +48,7 @@
<li><a href="progressbar/progressbar.html">Progressbar</a></li>
<li><a href="slider/slider.html">Slider</a></li>
<li><a href="tabs/tabs.html">Tabs</a></li>
+ <li><a href="tooltip/tooltip.html">Tooltip</a></li>
</ul>
<h2>Utilities</h2>
diff --git a/tests/unit/tooltip/tooltip.html b/tests/unit/tooltip/tooltip.html
new file mode 100644
index 000000000..37bfeafce
--- /dev/null
+++ b/tests/unit/tooltip/tooltip.html
@@ -0,0 +1,43 @@
+<!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.2.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.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..bcdcd4307
--- /dev/null
+++ b/tests/unit/tooltip/tooltip_defaults.js
@@ -0,0 +1,16 @@
+/*
+ * tooltip_defaults.js
+ */
+
+var tooltip_defaults = {
+ disabled: false,
+ content: $.ui.tooltip.prototype.options.content,
+ tooltipClass: "ui-widget-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..51c56b62e
--- /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, "mouseenter" );
+ },
+ close: function(event, ui) {
+ same( event.type, "tooltipclose" );
+ same( event.originalEvent.type, "mouseleave" );
+ }
+ });
+ 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..867923dd0
--- /dev/null
+++ b/tests/unit/tooltip/tooltip_methods.js
@@ -0,0 +1,23 @@
+/*
+ * 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");
+});
+
+})(jQuery);
diff --git a/tests/unit/tooltip/tooltip_options.js b/tests/unit/tooltip/tooltip_options.js
new file mode 100644
index 000000000..e0262a947
--- /dev/null
+++ b/tests/unit/tooltip/tooltip_options.js
@@ -0,0 +1,39 @@
+/*
+ * tooltip_options.js
+ */
+(function($) {
+
+module("tooltip: options");
+
+function contentTest(name, expected, impl) {
+ test(name, function() {
+ $("#tooltipped1").tooltip({
+ content: impl
+ }).tooltip("open");
+ same( $(".ui-tooltip").text(), expected );
+ $(":ui-tooltip").tooltip("destroy");
+ });
+}
+
+contentTest("content: default", "anchortitle");
+contentTest("content: return string", "customstring", function() {
+ return "customstring";
+});
+contentTest("content: callback string", "customstring2", function(response) {
+ response("customstring2");
+});
+
+test("tooltipClass, default", function() {
+ $("#tooltipped1").tooltip().tooltip("open");
+ same( $(".ui-tooltip").attr("class"), "ui-tooltip ui-widget ui-corner-all ui-widget-content");
+ $(":ui-tooltip").tooltip("destroy");
+});
+test("tooltipClass, custom", function() {
+ $("#tooltipped1").tooltip({
+ tooltipClass: "pretty fancy"
+ }).tooltip("open");
+ same( $(".ui-tooltip").attr("class"), "ui-tooltip ui-widget ui-corner-all pretty fancy");
+ $(":ui-tooltip").tooltip("destroy");
+});
+
+})(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);