aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2011-04-26 22:05:44 +0200
committerJörn Zaefferer <joern.zaefferer@gmail.com>2011-04-26 22:05:44 +0200
commitcd61fb1b55cc0f7cc2dc206170b1d95381edad9d (patch)
tree51cbd0ae1410bb32d9f943097581c581e3e106fb
parentf7d2fdbab8f6e0ea37fb02f9458489990305ff2f (diff)
parent325ee6e87133dd2a507c820dd3c356e3b897a3ec (diff)
downloadjquery-ui-cd61fb1b55cc0f7cc2dc206170b1d95381edad9d.tar.gz
jquery-ui-cd61fb1b55cc0f7cc2dc206170b1d95381edad9d.zip
Merge branch 'master' into menubar
Conflicts: ui/jquery.ui.menu.js
-rw-r--r--tests/static/menu/all-menus-icons.html172
-rw-r--r--tests/static/menu/default.html39
-rw-r--r--tests/unit/accordion/accordion.html2
-rw-r--r--tests/unit/accordion/accordion_core.js28
-rw-r--r--tests/unit/accordion/accordion_defaults.js7
-rw-r--r--tests/unit/accordion/accordion_defaults_deprecated.js9
-rw-r--r--tests/unit/accordion/accordion_deprecated.html2
-rw-r--r--tests/unit/accordion/accordion_deprecated.js198
-rw-r--r--tests/unit/accordion/accordion_events.js58
-rw-r--r--tests/unit/accordion/accordion_methods.js26
-rw-r--r--tests/unit/accordion/accordion_options.js222
-rw-r--r--tests/unit/autocomplete/autocomplete_defaults.js42
-rw-r--r--tests/unit/button/button_defaults.js25
-rw-r--r--tests/unit/dialog/dialog_defaults.js67
-rw-r--r--tests/unit/dialog/dialog_options.js4
-rw-r--r--tests/unit/menu/menu_defaults.js21
-rw-r--r--tests/unit/progressbar/progressbar_defaults.js19
-rw-r--r--tests/unit/slider/slider_defaults.js37
-rw-r--r--tests/unit/spinner/spinner_defaults.js29
-rw-r--r--tests/unit/tabs/tabs.html14
-rw-r--r--tests/unit/tabs/tabs_core.js16
-rw-r--r--tests/unit/tabs/tabs_defaults.js9
-rw-r--r--tests/unit/tabs/tabs_defaults_deprecated.js23
-rw-r--r--tests/unit/tabs/tabs_deprecated.html14
-rw-r--r--tests/unit/tabs/tabs_methods.js61
-rw-r--r--tests/unit/tabs/tabs_options.js14
-rw-r--r--tests/unit/tabs/tabs_tickets.js62
-rw-r--r--tests/unit/tooltip/tooltip_defaults.js27
-rw-r--r--tests/unit/widget/widget_core.js3
-rw-r--r--tests/visual/menu/menu.html44
-rw-r--r--tests/visual/menu/popup.js13
-rw-r--r--themes/base/jquery.ui.menu.css17
-rw-r--r--ui/jquery.ui.accordion.js11
-rw-r--r--ui/jquery.ui.autocomplete.js11
-rw-r--r--ui/jquery.ui.menu.js13
-rwxr-xr-xui/jquery.ui.tabs.js8
-rw-r--r--ui/jquery.ui.widget.js5
37 files changed, 600 insertions, 772 deletions
diff --git a/tests/static/menu/all-menus-icons.html b/tests/static/menu/all-menus-icons.html
deleted file mode 100644
index e780a2398..000000000
--- a/tests/static/menu/all-menus-icons.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Menu Static Test : Default</title>
- <link rel="stylesheet" href="../static.css" type="text/css" />
- <link rel="stylesheet" href="../../../themes/base/jquery.ui.base.css" type="text/css" />
- <link rel="stylesheet" href="../../../themes/base/jquery.ui.theme.css" type="text/css" title="ui-theme" />
- <script type="text/javascript" src="../../../jquery-1.5.1.js"></script>
- <script type="text/javascript" src="../static.js"></script>
-
- <script src="http://jqueryui.com/themeroller/themeswitchertool/" type="text/javascript"></script>
- <script>
- $(document).ready(function(){
- $('#switcher').themeswitcher();
- });
- </script>
-
-
-
- <style type="text/css">
-/* styles for this page only */
-.ui-menu { width: 200px; }
-#flyout .ui-menu { position: relative; }
-#flyout .ui-menu.ui-menu-icons { position: absolute; }
-
-.ui-menu.ui-menu-icons { position: relative; }
-.ui-menu.ui-menu-icons .ui-menu-item a { position: relative; padding-left: 2em; }
-
-/* left-aligned icon */
-.ui-menu .ui-icon { position: absolute; top: .2em; left: .2em; }
-
-/* right-aligned icon */
-.ui-menu .ui-icon.ui-menu-icon { position: static; float: right; }
- </style>
-
-</head>
-<body>
-
-<div id="switcher" style="position: absolute; top: 20px; right: 20px;"></div>
-
-
-<!-- NOTES:
-
-* Added "ui-menu-icons" class to set a left indent value for all menu items in a single menu
-
--->
-
-
-<h2>Default</h2>
-
-<ul role="menu" aria-activedescendant="ui-active-menuitem" class="ui-menu ui-menu-icons ui-widget ui-widget-content ui-corner-bottom">
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all"><span class="ui-icon ui-icon-print"></span>Aberdeen</a></li>
- <li class="ui-menu-item" role="menuitem" id="ui-active-menuitem"><a href="#" tabindex="-1" class="ui-state-hover ui-corner-all">Ada</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Adamsville</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all"><span class="ui-icon ui-icon-scissors"></span>Addyston really long menu option to show wrap</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all"><span class="ui-icon ui-icon-wrench"></span>Adelphi</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all"><span class="ui-icon ui-icon-star"></span>Adena</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Adrian</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Akron</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Albany</a></li>
-</ul>
-
-<br /><br />
-
-<div id="drilldown">
-
-<h2>Drilldown</h2>
-
-<ul role="listbox" aria-activedescendant="ui-active-menuitem" class="ui-menu ui-menu-icons ui-widget ui-widget-content ui-corner-all">
- <li role="menuitem" class="ui-menu-item">
- <a href="#" tabindex="-1" class="ui-state-hover ui-corner-all"><span class="ui-icon ui-icon-print"></span><span class="ui-icon ui-menu-icon ui-icon-carat-1-e"></span>Amsterdam</a>
- <ul aria-activedescendant="ui-active-menuitem" role="listbox" class="ui-menu ui-widget ui-widget-content ui-corner-all" style="display: none;">
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Aberdeen</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Ada</a></li>
- <li role="menuitem" class="ui-menu-item">
- <a tabindex="-1" class="ui-corner-all" href="#"><span class="ui-icon ui-menu-icon ui-icon-carat-1-e"></span>Adamsville</a>
- <ul aria-activedescendant="ui-active-menuitem" role="listbox" class="ui-menu ui-widget ui-widget-content ui-corner-all" style="display: none;">
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Anaheim</a></li>
- <li role="menuitem" class="ui-menu-item">
- <a tabindex="-1" class="ui-corner-all" href="#"><span class="ui-icon ui-menu-icon ui-icon-carat-1-e"></span>Cologne</a>
- <ul aria-activedescendant="ui-active-menuitem" role="listbox" class="ui-menu ui-widget ui-widget-content ui-corner-all" style="display: none;">
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mberdeen</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mda</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mdamsville</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mddyston</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mmesville</a></li>
- </ul>
- </li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Frankfurt</a></li>
- </ul>
- </li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Addyston</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Amesville</a></li>
- </ul>
- </li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#"><span class="ui-icon ui-icon-star"></span>Anaheim</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#"><span class="ui-icon ui-icon-heart"></span>Cologne</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#"><span class="ui-icon ui-icon-key"></span>Frankfurt</a></li>
- <li role="menuitem" class="ui-menu-item">
- <a tabindex="-1" class="ui-corner-all" href="#"><span class="ui-icon ui-menu-icon ui-icon-carat-1-e"></span>Magdeburg</a>
- <ul aria-activedescendant="ui-active-menuitem" role="listbox" class="ui-menu ui-widget ui-widget-content ui-corner-all" style="display: none;">
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mberdeen</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mda</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mdamsville</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mddyston</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mmesville</a></li>
- </ul>
- </li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Munich</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Utrecht</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Zurich</a></li>
-</ul>
-
-</div>
-
-<br /><br />
-
-<div id="flyout">
-
-<h2>Flyout / nested</h2>
-
-<ul aria-activedescendant="ui-active-menuitem" role="listbox" class="ui-menu ui-menu-icons ui-widget ui-widget-content ui-corner-all" id="menu">
- <li role="menuitem" class="ui-menu-item">
- <a tabindex="-1" class="ui-corner-all" href="#"><span class="ui-icon ui-icon-scissors"></span>Amsterdam</a>
- <ul style="display: block; top: 88.5px; left: 205px;" aria-activedescendant="ui-active-menuitem" role="listbox" class="ui-menu ui-menu-icons ui-widget ui-widget-content ui-corner-all">
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Aberdeen</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Ada</a></li>
- <li role="menuitem" class="ui-menu-item">
- <a tabindex="-1" class="ui-state-active ui-corner-all" href="#"><span class="ui-icon ui-icon-print"></span><span class="ui-icon ui-menu-icon ui-icon-carat-1-e"></span>Adamsville</a>
- <ul style="display: block; top: 73px; left: -11px; z-index: 9999;" aria-activedescendant="ui-active-menuitem" role="listbox" class="ui-menu ui-menu-icons ui-widget ui-widget-content ui-corner-all">
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Anaheim</a></li>
- <li role="menuitem" class="ui-menu-item">
- <a tabindex="-1" class="ui-corner-all" href="#">Cologne</a>
- <ul style="display: none;" aria-activedescendant="ui-active-menuitem" role="listbox" class="ui-menu ui-menu-icons ui-widget ui-widget-content ui-corner-all">
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mberdeen</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mda</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mdamsville</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mddyston</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mmesville</a></li>
- </ul>
- </li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-state-hover ui-corner-all" href="#">Frankfurt</a></li>
- </ul>
- </li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Addyston</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Amesville</a></li>
- </ul>
- </li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Anaheim</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#"><span class="ui-icon ui-icon-pencil"></span>Cologne</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#"><span class="ui-icon ui-icon-clock"></span>Frankfurt</a></li>
- <li role="menuitem" class="ui-menu-item">
- <a tabindex="-1" class="ui-state-active ui-corner-all" href="#"><span class="ui-icon ui-icon-print"></span><span class="ui-icon ui-menu-icon ui-icon-carat-1-e"></span>Magdeburg</a>
- <ul style="display: none;" aria-activedescendant="ui-active-menuitem" role="listbox" class="ui-menu ui-menu-icons ui-widget ui-widget-content ui-corner-all">
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mberdeen</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mda</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mdamsville</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mddyston</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Mmesville</a></li>
- </ul>
- </li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#"><span class="ui-icon ui-icon-lightbulb"></span>Munich</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#"><span class="ui-icon ui-icon-clipboard"></span>Utrecht</a></li>
- <li role="menuitem" class="ui-menu-item"><a tabindex="-1" class="ui-corner-all" href="#">Zurich</a></li>
-</ul>
-
-</div>
-
-
-</body>
-</html>
diff --git a/tests/static/menu/default.html b/tests/static/menu/default.html
deleted file mode 100644
index dd1e0ba7d..000000000
--- a/tests/static/menu/default.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Menu Static Test : Default</title>
- <link rel="stylesheet" href="../static.css" type="text/css" />
- <link rel="stylesheet" href="../../../themes/base/jquery.ui.base.css" type="text/css" />
- <link rel="stylesheet" href="../../../themes/base/jquery.ui.theme.css" type="text/css" title="ui-theme" />
- <script type="text/javascript" src="../../../jquery-1.5.1.js"></script>
- <script type="text/javascript" src="../static.js"></script>
-
-</head>
-<body>
-
-
-<ul role="menu" aria-activedescendant="ui-active-menuitem" class="ui-menu ui-widget ui-widget-content ui-corner-bottom">
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Aberdeen</a></li>
- <li class="ui-menu-item" role="menuitem" id="ui-active-menuitem"><a href="#" tabindex="-1" class="ui-state-hover ui-corner-all">Ada</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Adamsville</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Addyston</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Adelphi</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Adena</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Adrian</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Akron</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Albany</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Alexandria</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Alger</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Alledonia</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Alliance</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Alpha</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Alvada</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Alvordton</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Amanda</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Amelia</a></li>
- <li class="ui-menu-item" role="menuitem"><a href="#" tabindex="-1" class="ui-corner-all">Amesville</a></li>
-</ul>
-
-</body>
-</html>
diff --git a/tests/unit/accordion/accordion.html b/tests/unit/accordion/accordion.html
index 8ffdc22a4..c260ef22f 100644
--- a/tests/unit/accordion/accordion.html
+++ b/tests/unit/accordion/accordion.html
@@ -20,7 +20,7 @@
<script src="../testsuite.js"></script>
<script>
- function state( accordion ) {
+ function accordion_state( accordion ) {
var expected = $.makeArray( arguments ).slice( 1 );
var actual = accordion.find( ".ui-accordion-content" ).map(function() {
return $( this ).css( "display" ) === "none" ? 0 : 1;
diff --git a/tests/unit/accordion/accordion_core.js b/tests/unit/accordion/accordion_core.js
index 05479faf9..280339c26 100644
--- a/tests/unit/accordion/accordion_core.js
+++ b/tests/unit/accordion/accordion_core.js
@@ -4,46 +4,46 @@ module( "accordion: core", accordionSetupTeardown() );
$.each( { div: "#list1", ul: "#navigation", dl: "#accordion-dl" }, function( type, selector ) {
test( "markup structure: " + type, function() {
- var ac = $( selector ).accordion();
- ok( ac.hasClass( "ui-accordion" ), "main element is .ui-accordion" );
- equal( ac.find( ".ui-accordion-header" ).length, 3,
+ var element = $( selector ).accordion();
+ ok( element.hasClass( "ui-accordion" ), "main element is .ui-accordion" );
+ equal( element.find( ".ui-accordion-header" ).length, 3,
".ui-accordion-header elements exist, correct number" );
- equal( ac.find( ".ui-accordion-content" ).length, 3,
+ equal( element.find( ".ui-accordion-content" ).length, 3,
".ui-accordion-content elements exist, correct number" );
- same( ac.find( ".ui-accordion-header" ).next().get(),
- ac.find( ".ui-accordion-content" ).get(),
+ same( element.find( ".ui-accordion-header" ).next().get(),
+ element.find( ".ui-accordion-content" ).get(),
"content panels come immediately after headers" );
});
});
test( "handle click on header-descendant", function() {
- var ac = $( "#navigation" ).accordion();
+ var element = $( "#navigation" ).accordion();
$( "#navigation h2:eq(1) a" ).click();
- state( ac, 0, 1, 0 );
+ accordion_state( element, 0, 1, 0 );
});
test( "ui-accordion-heading class added to headers anchor", function() {
expect( 1 );
- var ac = $( "#list1" ).accordion();
- var anchors = $( ".ui-accordion-heading" );
+ var element = $( "#list1" ).accordion();
+ var anchors = element.find( ".ui-accordion-heading" );
equals( anchors.length, 3 );
});
test( "accessibility", function () {
expect( 13 );
- var ac = $( "#list1" ).accordion().accordion( "option", "active", 1 );
- var headers = $( ".ui-accordion-header" );
+ var element = $( "#list1" ).accordion().accordion( "option", "active", 1 );
+ var headers = element.find( ".ui-accordion-header" );
equals( headers.eq( 1 ).attr( "tabindex" ), 0, "active header should have tabindex=0" );
equals( headers.eq( 0 ).attr( "tabindex" ), -1, "inactive header should have tabindex=-1" );
- equals( ac.attr( "role" ), "tablist", "main role" );
+ equals( element.attr( "role" ), "tablist", "main role" );
equals( headers.attr( "role" ), "tab", "tab roles" );
equals( headers.next().attr( "role" ), "tabpanel", "tabpanel roles" );
equals( headers.eq( 1 ).attr( "aria-expanded" ), "true", "active tab has aria-expanded" );
equals( headers.eq( 0 ).attr( "aria-expanded" ), "false", "inactive tab has aria-expanded" );
equals( headers.eq( 1 ).attr( "aria-selected" ), "true", "active tab has aria-selected" );
equals( headers.eq( 0 ).attr( "aria-selected" ), "false", "inactive tab has aria-selected" );
- ac.accordion( "option", "active", 0 );
+ element.accordion( "option", "active", 0 );
equals( headers.eq( 0 ).attr( "aria-expanded" ), "true", "newly active tab has aria-expanded" );
equals( headers.eq( 1 ).attr( "aria-expanded" ), "false", "newly inactive tab has aria-expanded" );
equals( headers.eq( 0 ).attr( "aria-selected" ), "true", "active tab has aria-selected" );
diff --git a/tests/unit/accordion/accordion_defaults.js b/tests/unit/accordion/accordion_defaults.js
index 95a478057..9aa58e650 100644
--- a/tests/unit/accordion/accordion_defaults.js
+++ b/tests/unit/accordion/accordion_defaults.js
@@ -10,6 +10,11 @@ commonWidgetTests( "accordion", {
icons: {
"activeHeader": "ui-icon-triangle-1-s",
"header": "ui-icon-triangle-1-e"
- }
+ },
+
+ // callbacks
+ activate: null,
+ beforeActivate: null,
+ create: null
}
});
diff --git a/tests/unit/accordion/accordion_defaults_deprecated.js b/tests/unit/accordion/accordion_defaults_deprecated.js
index b90b472e2..3f45a1f10 100644
--- a/tests/unit/accordion/accordion_defaults_deprecated.js
+++ b/tests/unit/accordion/accordion_defaults_deprecated.js
@@ -16,6 +16,13 @@ commonWidgetTests( "accordion", {
"headerSelected": "ui-icon-triangle-1-s"
},
navigation: false,
- navigationFilter: function() {}
+ navigationFilter: function() {},
+
+ // callbacks
+ activate: null,
+ beforeActivate: null,
+ change: null,
+ changestart: null,
+ create: null
}
});
diff --git a/tests/unit/accordion/accordion_deprecated.html b/tests/unit/accordion/accordion_deprecated.html
index 38b1bda04..e8254f4f3 100644
--- a/tests/unit/accordion/accordion_deprecated.html
+++ b/tests/unit/accordion/accordion_deprecated.html
@@ -17,7 +17,7 @@
<script src="../testsuite.js"></script>
<script>
- function state( accordion ) {
+ function accordion_state( accordion ) {
var expected = $.makeArray( arguments ).slice( 1 );
var actual = accordion.find( ".ui-accordion-content" ).map(function() {
return $( this ).css( "display" ) === "none" ? 0 : 1;
diff --git a/tests/unit/accordion/accordion_deprecated.js b/tests/unit/accordion/accordion_deprecated.js
index 636404d18..0435f48a7 100644
--- a/tests/unit/accordion/accordion_deprecated.js
+++ b/tests/unit/accordion/accordion_deprecated.js
@@ -3,89 +3,89 @@
module( "accordion (deprecated): expanded active option, activate method", accordionSetupTeardown() );
test( "activate, numeric", function() {
- var ac = $( "#list1" ).accordion({ active: 1 });
- state( ac, 0, 1, 0 );
- ac.accordion( "activate", 2 );
- state( ac, 0, 0, 1 );
- ac.accordion( "activate", 0 );
- state( ac, 1, 0, 0 );
- ac.accordion( "activate", 1 );
- state( ac, 0, 1, 0 );
- ac.accordion( "activate", 2 );
- state( ac, 0, 0, 1 );
+ var element = $( "#list1" ).accordion({ active: 1 });
+ accordion_state( element, 0, 1, 0 );
+ element.accordion( "activate", 2 );
+ accordion_state( element, 0, 0, 1 );
+ element.accordion( "activate", 0 );
+ accordion_state( element, 1, 0, 0 );
+ element.accordion( "activate", 1 );
+ accordion_state( element, 0, 1, 0 );
+ element.accordion( "activate", 2 );
+ accordion_state( element, 0, 0, 1 );
});
test( "activate, numeric, collapsible:true", function() {
- var ac = $( "#list1" ).accordion({ collapsible: true });
- ac.accordion( "activate", 2 );
- state( ac, 0, 0, 1 );
- ac.accordion( "activate", 0 );
- state( ac, 1, 0, 0 );
- ac.accordion( "activate", -1 );
- state( ac, 0, 0, 0 );
+ var element = $( "#list1" ).accordion({ collapsible: true });
+ element.accordion( "activate", 2 );
+ accordion_state( element, 0, 0, 1 );
+ element.accordion( "activate", 0 );
+ accordion_state( element, 1, 0, 0 );
+ element.accordion( "activate", -1 );
+ accordion_state( element, 0, 0, 0 );
});
test( "activate, boolean, collapsible: true", function() {
- var ac = $( "#list1" ).accordion({ collapsible: true });
- ac.accordion( "activate", 2 );
- state( ac, 0, 0, 1 );
- ac.accordion( "activate", false );
- state( ac, 0, 0, 0 );
+ var element = $( "#list1" ).accordion({ collapsible: true });
+ element.accordion( "activate", 2 );
+ accordion_state( element, 0, 0, 1 );
+ element.accordion( "activate", false );
+ accordion_state( element, 0, 0, 0 );
});
test( "activate, boolean, collapsible: false", function() {
- var ac = $( "#list1" ).accordion();
- ac.accordion( "activate", 2 );
- state( ac, 0, 0, 1 );
- ac.accordion( "activate", false );
- state( ac, 0, 0, 1 );
+ var element = $( "#list1" ).accordion();
+ element.accordion( "activate", 2 );
+ accordion_state( element, 0, 0, 1 );
+ element.accordion( "activate", false );
+ accordion_state( element, 0, 0, 1 );
});
test( "activate, string expression", function() {
- var ac = $( "#list1" ).accordion({ active: "h3:last" });
- state( ac, 0, 0, 1 );
- ac.accordion( "activate", ":first" );
- state( ac, 1, 0, 0 );
- ac.accordion( "activate", ":eq(1)" );
- state( ac, 0, 1, 0 );
- ac.accordion( "activate", ":last" );
- state( ac, 0, 0, 1 );
+ var element = $( "#list1" ).accordion({ active: "h3:last" });
+ accordion_state( element, 0, 0, 1 );
+ element.accordion( "activate", ":first" );
+ accordion_state( element, 1, 0, 0 );
+ element.accordion( "activate", ":eq(1)" );
+ accordion_state( element, 0, 1, 0 );
+ element.accordion( "activate", ":last" );
+ accordion_state( element, 0, 0, 1 );
});
test( "activate, jQuery or DOM element", function() {
- var ac = $( "#list1" ).accordion({ active: $( "#list1 h3:last" ) });
- state( ac, 0, 0, 1 );
- ac.accordion( "activate", $( "#list1 h3:first" ) );
- state( ac, 1, 0, 0 );
- ac.accordion( "activate", $( "#list1 h3" )[ 1 ] );
- state( ac, 0, 1, 0 );
+ var element = $( "#list1" ).accordion({ active: $( "#list1 h3:last" ) });
+ accordion_state( element, 0, 0, 1 );
+ element.accordion( "activate", $( "#list1 h3:first" ) );
+ accordion_state( element, 1, 0, 0 );
+ element.accordion( "activate", $( "#list1 h3" )[ 1 ] );
+ accordion_state( element, 0, 1, 0 );
});
test( "{ active: Selector }", function() {
- var ac = $("#list1").accordion({
+ var element = $("#list1").accordion({
active: "h3:last"
});
- state( ac, 0, 0, 1 );
- ac.accordion( "option", "active", "h3:eq(1)" );
- state( ac, 0, 1, 0 );
+ accordion_state( element, 0, 0, 1 );
+ element.accordion( "option", "active", "h3:eq(1)" );
+ accordion_state( element, 0, 1, 0 );
});
test( "{ active: Element }", function() {
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
active: $( "#list1 h3:last" )[ 0 ]
});
- state( ac, 0, 0, 1 );
- ac.accordion( "option", "active", $( "#list1 h3:eq(1)" )[ 0 ] );
- state( ac, 0, 1, 0 );
+ accordion_state( element, 0, 0, 1 );
+ element.accordion( "option", "active", $( "#list1 h3:eq(1)" )[ 0 ] );
+ accordion_state( element, 0, 1, 0 );
});
test( "{ active: jQuery Object }", function() {
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
active: $( "#list1 h3:last" )
});
- state( ac, 0, 0, 1 );
- ac.accordion( "option", "active", $( "#list1 h3:eq(1)" ) );
- state( ac, 0, 1, 0 );
+ accordion_state( element, 0, 0, 1 );
+ element.accordion( "option", "active", $( "#list1 h3:eq(1)" ) );
+ accordion_state( element, 0, 1, 0 );
});
@@ -99,9 +99,9 @@ test( "{ autoHeight: true }, default", function() {
});
test("{ autoHeight: false }", function() {
- var accordion = $('#navigation').accordion({ autoHeight: false });
+ var element = $('#navigation').accordion({ autoHeight: false });
var sizes = [];
- accordion.find(".ui-accordion-content").each(function() {
+ element.find(".ui-accordion-content").each(function() {
sizes.push($(this).height());
});
ok( sizes[0] >= 70 && sizes[0] <= 105, "was " + sizes[0] );
@@ -111,8 +111,8 @@ test("{ autoHeight: false }", function() {
test( "{ fillSpace: true }", function() {
$( "#navigationWrapper" ).height( 500 );
- var ac = $( "#navigation" ).accordion({ fillSpace: true });
- equalHeights( ac, 446, 458 );
+ var element = $( "#navigation" ).accordion({ fillSpace: true });
+ equalHeights( element, 446, 458 );
});
test( "{ fillSapce: true } with sibling", function() {
@@ -124,8 +124,8 @@ test( "{ fillSapce: true } with sibling", function() {
marginBottom: 30
})
.prependTo( "#navigationWrapper" );
- var ac = $( "#navigation" ).accordion({ fillSpace: true });
- equalHeights( ac , 346, 358);
+ var element = $( "#navigation" ).accordion({ fillSpace: true });
+ equalHeights( element , 346, 358);
});
test( "{ fillSpace: true } with multiple siblings", function() {
@@ -152,8 +152,8 @@ test( "{ fillSpace: true } with multiple siblings", function() {
marginBottom: 15
})
.prependTo( "#navigationWrapper" );
- var ac = $( "#navigation" ).accordion({ fillSpace: true });
- equalHeights( ac, 296, 308 );
+ var element = $( "#navigation" ).accordion({ fillSpace: true });
+ equalHeights( element, 296, 308 );
});
@@ -163,13 +163,13 @@ test( "{ fillSpace: true } with multiple siblings", function() {
module( "accordion (deprecated) - icons", accordionSetupTeardown() );
test( "icons, headerSelected", function() {
- var list = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
icons: { headerSelected: "a1", header: "h1" }
});
- ok( list.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a1" ) );
- list.accordion( "option", "icons", { headerSelected: "a2", header: "h2" } );
- ok( !list.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a1" ) );
- ok( list.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a2" ) );
+ ok( element.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a1" ) );
+ element.accordion( "option", "icons", { headerSelected: "a2", header: "h2" } );
+ ok( !element.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a1" ) );
+ ok( element.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a2" ) );
});
@@ -179,18 +179,18 @@ test( "icons, headerSelected", function() {
module( "accordion (deprecated) - resize", accordionSetupTeardown() );
test( "resize", function() {
- var expected = $( "#navigation" )
+ var element = $( "#navigation" )
.parent()
.height( 300 )
.end()
.accordion({
heightStyle: "fill"
});
- equalHeights( expected, 246, 258 );
+ equalHeights( element, 246, 258 );
- expected.parent().height( 500 );
- expected.accordion( "resize" );
- equalHeights( expected, 446, 458 );
+ element.parent().height( 500 );
+ element.accordion( "resize" );
+ equalHeights( element, 446, 458 );
});
@@ -200,25 +200,25 @@ test( "resize", function() {
module( "accordion (deprecated) - navigation", accordionSetupTeardown() );
test( "{ navigation: true, navigationFilter: header }", function() {
- var ac = $( "#navigation" ).accordion({
+ var element = $( "#navigation" ).accordion({
navigation: true,
navigationFilter: function() {
return /\?p=1\.1\.3$/.test( this.href );
}
});
- equal( ac.accordion( "option", "active" ), 2 );
- state( ac, 0, 0, 1 );
+ equal( element.accordion( "option", "active" ), 2 );
+ accordion_state( element, 0, 0, 1 );
});
test( "{ navigation: true, navigationFilter: content }", function() {
- var ac = $("#navigation").accordion({
+ var element = $("#navigation").accordion({
navigation: true,
navigationFilter: function() {
return /\?p=1\.1\.3\.2$/.test(this.href);
}
});
- equal( ac.accordion( "option", "active" ), 2 );
- state( ac, 0, 0, 1 );
+ equal( element.accordion( "option", "active" ), 2 );
+ accordion_state( element, 0, 0, 1 );
});
@@ -229,26 +229,26 @@ module( "accordion (deprecated) - changestart/change events", accordionSetupTear
test( "changestart", function() {
expect( 26 );
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
active: false,
collapsible: true
});
- var headers = ac.find( ".ui-accordion-header" );
- var content = ac.find( ".ui-accordion-content" );
+ var headers = element.find( ".ui-accordion-header" );
+ var content = element.find( ".ui-accordion-content" );
- ac.one( "accordionchangestart", function( event, ui ) {
+ element.one( "accordionchangestart", function( event, ui ) {
equals( ui.oldHeader.size(), 0 );
equals( ui.oldContent.size(), 0 );
equals( ui.newHeader.size(), 1 );
strictEqual( ui.newHeader[ 0 ], headers[ 0 ] );
equals( ui.newContent.size(), 1 );
strictEqual( ui.newContent[ 0 ], content[ 0 ] );
- state( ac, 0, 0, 0 );
+ accordion_state( element, 0, 0, 0 );
});
- ac.accordion( "option", "active", 0 );
- state( ac, 1, 0, 0 );
+ element.accordion( "option", "active", 0 );
+ accordion_state( element, 1, 0, 0 );
- ac.one( "accordionchangestart", function( event, ui ) {
+ element.one( "accordionchangestart", function( event, ui ) {
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
equals( ui.oldContent.size(), 1 );
@@ -257,34 +257,34 @@ test( "changestart", function() {
strictEqual( ui.newHeader[ 0 ], headers[ 1 ] );
equals( ui.newContent.size(), 1 );
strictEqual( ui.newContent[ 0 ], content[ 1 ] );
- state( ac, 1, 0, 0 );
+ accordion_state( element, 1, 0, 0 );
});
headers.eq( 1 ).click();
- state( ac, 0, 1, 0 );
+ accordion_state( element, 0, 1, 0 );
- ac.one( "accordionchangestart", function( event, ui ) {
+ element.one( "accordionchangestart", function( event, ui ) {
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
equals( ui.oldContent.size(), 1 );
strictEqual( ui.oldContent[ 0 ], content[ 1 ] );
equals( ui.newHeader.size(), 0 );
equals( ui.newContent.size(), 0 );
- state( ac, 0, 1, 0 );
+ accordion_state( element, 0, 1, 0 );
});
- ac.accordion( "option", "active", false );
- state( ac, 0, 0, 0 );
+ element.accordion( "option", "active", false );
+ accordion_state( element, 0, 0, 0 );
});
test( "change", function() {
expect( 20 );
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
active: false,
collapsible: true
});
- var headers = ac.find( ".ui-accordion-header" );
- var content = ac.find( ".ui-accordion-content" );
+ var headers = element.find( ".ui-accordion-header" );
+ var content = element.find( ".ui-accordion-content" );
- ac.one( "accordionchange", function( event, ui ) {
+ element.one( "accordionchange", function( event, ui ) {
equals( ui.oldHeader.size(), 0 );
equals( ui.oldContent.size(), 0 );
equals( ui.newHeader.size(), 1 );
@@ -292,9 +292,9 @@ test( "change", function() {
equals( ui.newContent.size(), 1 );
strictEqual( ui.newContent[ 0 ], content[ 0 ] );
});
- ac.accordion( "option", "active", 0 );
+ element.accordion( "option", "active", 0 );
- ac.one( "accordionchange", function( event, ui ) {
+ element.one( "accordionchange", function( event, ui ) {
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
equals( ui.oldContent.size(), 1 );
@@ -306,7 +306,7 @@ test( "change", function() {
});
headers.eq( 1 ).click();
- ac.one( "accordionchange", function( event, ui ) {
+ element.one( "accordionchange", function( event, ui ) {
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
equals( ui.oldContent.size(), 1 );
@@ -314,7 +314,7 @@ test( "change", function() {
equals( ui.newHeader.size(), 0 );
equals( ui.newContent.size(), 0 );
});
- ac.accordion( "option", "active", false );
+ element.accordion( "option", "active", false );
});
})(jQuery);
diff --git a/tests/unit/accordion/accordion_events.js b/tests/unit/accordion/accordion_events.js
index c3ba2e2c1..2438f28ea 100644
--- a/tests/unit/accordion/accordion_events.js
+++ b/tests/unit/accordion/accordion_events.js
@@ -4,14 +4,14 @@ module( "accordion: events", accordionSetupTeardown() );
test( "beforeActivate", function() {
expect( 38 );
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
active: false,
collapsible: true
});
- var headers = ac.find( ".ui-accordion-header" );
- var content = ac.find( ".ui-accordion-content" );
+ var headers = element.find( ".ui-accordion-header" );
+ var content = element.find( ".ui-accordion-content" );
- ac.one( "accordionbeforeactivate", function( event, ui ) {
+ element.one( "accordionbeforeactivate", function( event, ui ) {
ok( !( "originalEvent" in event ) );
equals( ui.oldHeader.size(), 0 );
equals( ui.oldContent.size(), 0 );
@@ -19,12 +19,12 @@ test( "beforeActivate", function() {
strictEqual( ui.newHeader[ 0 ], headers[ 0 ] );
equals( ui.newContent.size(), 1 );
strictEqual( ui.newContent[ 0 ], content[ 0 ] );
- state( ac, 0, 0, 0 );
+ accordion_state( element, 0, 0, 0 );
});
- ac.accordion( "option", "active", 0 );
- state( ac, 1, 0, 0 );
+ element.accordion( "option", "active", 0 );
+ accordion_state( element, 1, 0, 0 );
- ac.one( "accordionbeforeactivate", function( event, ui ) {
+ element.one( "accordionbeforeactivate", function( event, ui ) {
equals( event.originalEvent.type, "click" );
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
@@ -34,12 +34,12 @@ test( "beforeActivate", function() {
strictEqual( ui.newHeader[ 0 ], headers[ 1 ] );
equals( ui.newContent.size(), 1 );
strictEqual( ui.newContent[ 0 ], content[ 1 ] );
- state( ac, 1, 0, 0 );
+ accordion_state( element, 1, 0, 0 );
});
headers.eq( 1 ).click();
- state( ac, 0, 1, 0 );
+ accordion_state( element, 0, 1, 0 );
- ac.one( "accordionbeforeactivate", function( event, ui ) {
+ element.one( "accordionbeforeactivate", function( event, ui ) {
ok( !( "originalEvent" in event ) );
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
@@ -47,12 +47,12 @@ test( "beforeActivate", function() {
strictEqual( ui.oldContent[ 0 ], content[ 1 ] );
equals( ui.newHeader.size(), 0 );
equals( ui.newContent.size(), 0 );
- state( ac, 0, 1, 0 );
+ accordion_state( element, 0, 1, 0 );
});
- ac.accordion( "option", "active", false );
- state( ac, 0, 0, 0 );
+ element.accordion( "option", "active", false );
+ accordion_state( element, 0, 0, 0 );
- ac.one( "accordionbeforeactivate", function( event, ui ) {
+ element.one( "accordionbeforeactivate", function( event, ui ) {
ok( !( "originalEvent" in event ) );
equals( ui.oldHeader.size(), 0 );
equals( ui.oldContent.size(), 0 );
@@ -61,22 +61,22 @@ test( "beforeActivate", function() {
equals( ui.newContent.size(), 1 );
strictEqual( ui.newContent[ 0 ], content[ 2 ] );
event.preventDefault();
- state( ac, 0, 0, 0 );
+ accordion_state( element, 0, 0, 0 );
});
- ac.accordion( "option", "active", 2 );
- state( ac, 0, 0, 0 );
+ element.accordion( "option", "active", 2 );
+ accordion_state( element, 0, 0, 0 );
});
test( "activate", function() {
expect( 21 );
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
active: false,
collapsible: true
});
- var headers = ac.find( ".ui-accordion-header" );
- var content = ac.find( ".ui-accordion-content" );
+ var headers = element.find( ".ui-accordion-header" );
+ var content = element.find( ".ui-accordion-content" );
- ac.one( "accordionactivate", function( event, ui ) {
+ element.one( "accordionactivate", function( event, ui ) {
equals( ui.oldHeader.size(), 0 );
equals( ui.oldContent.size(), 0 );
equals( ui.newHeader.size(), 1 );
@@ -84,9 +84,9 @@ test( "activate", function() {
equals( ui.newContent.size(), 1 );
strictEqual( ui.newContent[ 0 ], content[ 0 ] );
});
- ac.accordion( "option", "active", 0 );
+ element.accordion( "option", "active", 0 );
- ac.one( "accordionactivate", function( event, ui ) {
+ element.one( "accordionactivate", function( event, ui ) {
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
equals( ui.oldContent.size(), 1 );
@@ -98,7 +98,7 @@ test( "activate", function() {
});
headers.eq( 1 ).click();
- ac.one( "accordionactivate", function( event, ui ) {
+ element.one( "accordionactivate", function( event, ui ) {
equals( ui.oldHeader.size(), 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
equals( ui.oldContent.size(), 1 );
@@ -106,17 +106,17 @@ test( "activate", function() {
equals( ui.newHeader.size(), 0 );
equals( ui.newContent.size(), 0 );
});
- ac.accordion( "option", "active", false );
+ element.accordion( "option", "active", false );
// prevent activation
- ac.one( "accordionbeforeactivate", function( event ) {
+ element.one( "accordionbeforeactivate", function( event ) {
ok( true );
event.preventDefault();
});
- ac.one( "accordionactivate", function() {
+ element.one( "accordionactivate", function() {
ok( false );
});
- ac.accordion( "option", "active", 1 );
+ element.accordion( "option", "active", 1 );
});
}( jQuery ) );
diff --git a/tests/unit/accordion/accordion_methods.js b/tests/unit/accordion/accordion_methods.js
index eade690b1..d45bde134 100644
--- a/tests/unit/accordion/accordion_methods.js
+++ b/tests/unit/accordion/accordion_methods.js
@@ -9,29 +9,29 @@ test( "destroy", function() {
});
test( "enable/disable", function() {
- var accordion = $('#list1').accordion();
- state( accordion, 1, 0, 0 );
- accordion.accordion( "disable" );
- accordion.accordion( "option", "active", 1 );
- state( accordion, 1, 0, 0 );
- accordion.accordion( "enable" );
- accordion.accordion( "option", "active", 1 );
- state( accordion, 0, 1, 0 );
+ var element = $('#list1').accordion();
+ accordion_state( element, 1, 0, 0 );
+ element.accordion( "disable" );
+ element.accordion( "option", "active", 1 );
+ accordion_state( element, 1, 0, 0 );
+ element.accordion( "enable" );
+ element.accordion( "option", "active", 1 );
+ accordion_state( element, 0, 1, 0 );
});
test( "refresh", function() {
- var expected = $( "#navigation" )
+ var element = $( "#navigation" )
.parent()
.height( 300 )
.end()
.accordion({
heightStyle: "fill"
});
- equalHeights( expected, 246, 258 );
+ equalHeights( element, 246, 258 );
- expected.parent().height( 500 );
- expected.accordion( "refresh" );
- equalHeights( expected, 446, 458 );
+ element.parent().height( 500 );
+ element.accordion( "refresh" );
+ equalHeights( element, 446, 458 );
});
}( jQuery ) );
diff --git a/tests/unit/accordion/accordion_options.js b/tests/unit/accordion/accordion_options.js
index 3796d80de..7bd6f2e74 100644
--- a/tests/unit/accordion/accordion_options.js
+++ b/tests/unit/accordion/accordion_options.js
@@ -3,184 +3,184 @@
module( "accordion: options", accordionSetupTeardown() );
test( "{ active: default }", function() {
- var ac = $( "#list1" ).accordion();
- equals( ac.accordion( "option", "active" ), 0 );
- state( ac, 1, 0, 0 );
+ var element = $( "#list1" ).accordion();
+ equals( element.accordion( "option", "active" ), 0 );
+ accordion_state( element, 1, 0, 0 );
});
test( "{ active: false }", function() {
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
active: false,
collapsible: true
});
- state( ac, 0, 0, 0 );
- equals( ac.find( ".ui-accordion-header.ui-state-active" ).size(), 0, "no headers selected" );
- equals( ac.accordion( "option", "active" ), false );
+ accordion_state( element, 0, 0, 0 );
+ equals( element.find( ".ui-accordion-header.ui-state-active" ).size(), 0, "no headers selected" );
+ equals( element.accordion( "option", "active" ), false );
- ac.accordion( "option", "collapsible", false );
- state( ac, 1, 0, 0 );
- equals( ac.accordion( "option", "active" ), 0 );
+ element.accordion( "option", "collapsible", false );
+ accordion_state( element, 1, 0, 0 );
+ equals( element.accordion( "option", "active" ), 0 );
- ac.accordion( "destroy" );
- ac.accordion({
+ element.accordion( "destroy" );
+ element.accordion({
active: false
});
- state( ac, 1, 0, 0 );
- strictEqual( ac.accordion( "option", "active" ), 0 );
+ accordion_state( element, 1, 0, 0 );
+ strictEqual( element.accordion( "option", "active" ), 0 );
});
test( "{ active: Number }", function() {
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
active: 2
});
- equals( ac.accordion( "option", "active" ), 2 );
- state( ac, 0, 0, 1 );
+ equals( element.accordion( "option", "active" ), 2 );
+ accordion_state( element, 0, 0, 1 );
- ac.accordion( "option", "active", 0 );
- equals( ac.accordion( "option", "active" ), 0 );
- state( ac, 1, 0, 0 );
+ element.accordion( "option", "active", 0 );
+ equals( element.accordion( "option", "active" ), 0 );
+ accordion_state( element, 1, 0, 0 );
- ac.find( ".ui-accordion-header" ).eq( 1 ).click();
- equals( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.find( ".ui-accordion-header" ).eq( 1 ).click();
+ equals( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
- ac.accordion( "option", "active", 10 );
- equals( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.accordion( "option", "active", 10 );
+ equals( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
});
if ( $.uiBackCompat === false ) {
test( "{ active: -Number }", function() {
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
active: -1
});
- equals( ac.accordion( "option", "active" ), 2 );
- state( ac, 0, 0, 1 );
+ equals( element.accordion( "option", "active" ), 2 );
+ accordion_state( element, 0, 0, 1 );
- ac.accordion( "option", "active", -2 );
- equals( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.accordion( "option", "active", -2 );
+ equals( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
- ac.accordion( "option", "active", -10 );
- equals( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.accordion( "option", "active", -10 );
+ equals( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
- ac.accordion( "option", "active", -3 );
- equals( ac.accordion( "option", "active" ), 0 );
- state( ac, 1, 0, 0 );
+ element.accordion( "option", "active", -3 );
+ equals( element.accordion( "option", "active" ), 0 );
+ accordion_state( element, 1, 0, 0 );
});
}
// TODO: add animation tests
test( "{ collapsible: false }", function() {
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
active: 1
});
- ac.accordion( "option", "active", false );
- equal( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.accordion( "option", "active", false );
+ equal( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
- ac.find( ".ui-accordion-header" ).eq( 1 ).click();
- equal( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.find( ".ui-accordion-header" ).eq( 1 ).click();
+ equal( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
});
test( "{ collapsible: true }", function() {
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
active: 1,
collapsible: true
});
- ac.accordion( "option", "active", false );
- equal( ac.accordion( "option", "active" ), false );
- state( ac, 0, 0, 0 );
+ element.accordion( "option", "active", false );
+ equal( element.accordion( "option", "active" ), false );
+ accordion_state( element, 0, 0, 0 );
- ac.accordion( "option", "active", 1 );
- equal( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.accordion( "option", "active", 1 );
+ equal( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
- ac.find( ".ui-accordion-header" ).eq( 1 ).click();
- equals( ac.accordion( "option", "active" ), false );
- state( ac, 0, 0, 0 );
+ element.find( ".ui-accordion-header" ).eq( 1 ).click();
+ equals( element.accordion( "option", "active" ), false );
+ accordion_state( element, 0, 0, 0 );
});
test( "{ event: null }", function() {
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
event: null
});
- state( ac, 1, 0, 0 );
+ accordion_state( element, 1, 0, 0 );
- ac.accordion( "option", "active", 1 );
- equal( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.accordion( "option", "active", 1 );
+ equal( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
// ensure default click handler isn't bound
- ac.find( ".ui-accordion-header" ).eq( 2 ).click();
- equal( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.find( ".ui-accordion-header" ).eq( 2 ).click();
+ equal( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
});
test( "{ event: custom }", function() {
- var ac = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
event: "custom1 custom2"
});
- state( ac, 1, 0, 0 );
+ accordion_state( element, 1, 0, 0 );
- ac.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom1" );
- equal( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom1" );
+ equal( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
// ensure default click handler isn't bound
- ac.find( ".ui-accordion-header" ).eq( 2 ).trigger( "click" );
- equal( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.find( ".ui-accordion-header" ).eq( 2 ).trigger( "click" );
+ equal( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
- ac.find( ".ui-accordion-header" ).eq( 2 ).trigger( "custom2" );
- equal( ac.accordion( "option", "active" ), 2 );
- state( ac, 0, 0, 1 );
+ element.find( ".ui-accordion-header" ).eq( 2 ).trigger( "custom2" );
+ equal( element.accordion( "option", "active" ), 2 );
+ accordion_state( element, 0, 0, 1 );
- ac.accordion( "option", "event", "custom3" );
+ element.accordion( "option", "event", "custom3" );
// ensure old event handlers are unbound
- ac.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom1" );
- equal( ac.accordion( "option", "active" ), 2 );
- state( ac, 0, 0, 1 );
+ element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom1" );
+ equal( element.accordion( "option", "active" ), 2 );
+ accordion_state( element, 0, 0, 1 );
- ac.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom3" );
- equal( ac.accordion( "option", "active" ), 1 );
- state( ac, 0, 1, 0 );
+ element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom3" );
+ equal( element.accordion( "option", "active" ), 1 );
+ accordion_state( element, 0, 1, 0 );
});
test( "{ header: default }", function() {
// default: > li > :first-child,> :not(li):even
// > :not(li):even
- state( $( "#list1" ).accordion(), 1, 0, 0);
+ accordion_state( $( "#list1" ).accordion(), 1, 0, 0);
// > li > :first-child
- state( $( "#navigation" ).accordion(), 1, 0, 0);
+ accordion_state( $( "#navigation" ).accordion(), 1, 0, 0);
});
test( "{ header: custom }", function() {
- var ac = $( "#navigationWrapper" ).accordion({
+ var element = $( "#navigationWrapper" ).accordion({
header: "h2"
});
- ac.find( "h2" ).each(function() {
+ element.find( "h2" ).each(function() {
ok( $( this ).hasClass( "ui-accordion-header" ) );
});
- equal( ac.find( ".ui-accordion-header" ).length, 3 );
- state( ac, 1, 0, 0 );
- ac.accordion( "option", "active", 2 );
- state( ac, 0, 0, 1 );
+ equal( element.find( ".ui-accordion-header" ).length, 3 );
+ accordion_state( element, 1, 0, 0 );
+ element.accordion( "option", "active", 2 );
+ accordion_state( element, 0, 0, 1 );
});
test( "{ heightStyle: 'auto' }", function() {
- var ac = $( "#navigation" ).accordion({ heightStyle: "auto" });
- equalHeights( ac, 95, 130 );
+ var element = $( "#navigation" ).accordion({ heightStyle: "auto" });
+ equalHeights( element, 95, 130 );
});
test( "{ heightStyle: 'content' }", function() {
- var ac = $( "#navigation" ).accordion({ heightStyle: "content" });
- var sizes = ac.find( ".ui-accordion-content" ).map(function() {
+ var element = $( "#navigation" ).accordion({ heightStyle: "content" });
+ var sizes = element.find( ".ui-accordion-content" ).map(function() {
return $( this ).height();
}).get();
ok( sizes[ 0 ] >= 70 && sizes[ 0 ] <= 105, "was " + sizes[ 0 ] );
@@ -190,8 +190,8 @@ test( "{ heightStyle: 'content' }", function() {
test( "{ heightStyle: 'fill' }", function() {
$( "#navigationWrapper" ).height( 500 );
- var ac = $( "#navigation" ).accordion({ heightStyle: "fill" });
- equalHeights( ac, 446, 458 );
+ var element = $( "#navigation" ).accordion({ heightStyle: "fill" });
+ equalHeights( element, 446, 458 );
});
test( "{ heightStyle: 'fill' } with sibling", function() {
@@ -203,8 +203,8 @@ test( "{ heightStyle: 'fill' } with sibling", function() {
marginBottom: 30
})
.prependTo( "#navigationWrapper" );
- var ac = $( "#navigation" ).accordion({ heightStyle: "fill" });
- equalHeights( ac , 346, 358);
+ var element = $( "#navigation" ).accordion({ heightStyle: "fill" });
+ equalHeights( element , 346, 358);
});
test( "{ heightStyle: 'fill' } with multiple siblings", function() {
@@ -231,36 +231,36 @@ test( "{ heightStyle: 'fill' } with multiple siblings", function() {
marginBottom: 15
})
.prependTo( "#navigationWrapper" );
- var ac = $( "#navigation" ).accordion({ heightStyle: "fill" });
- equalHeights( ac, 296, 308 );
+ var element = $( "#navigation" ).accordion({ heightStyle: "fill" });
+ equalHeights( element, 296, 308 );
});
test( "{ icons: false }", function() {
- var list = $( "#list1" );
+ var element = $( "#list1" );
function icons( on ) {
- same( list.find( "span.ui-icon").length, on ? 3 : 0 );
- same( list.hasClass( "ui-accordion-icons" ), on );
+ same( element.find( "span.ui-icon").length, on ? 3 : 0 );
+ same( element.hasClass( "ui-accordion-icons" ), on );
}
- list.accordion();
+ element.accordion();
icons( true );
- list.accordion( "destroy" ).accordion({
+ element.accordion( "destroy" ).accordion({
icons: false
});
icons( false );
- list.accordion( "option", "icons", { header: "foo", activeHeader: "bar" } );
+ element.accordion( "option", "icons", { header: "foo", activeHeader: "bar" } );
icons( true );
- list.accordion( "option", "icons", false );
+ element.accordion( "option", "icons", false );
icons( false );
});
test( "{ icons: hash }", function() {
- var list = $( "#list1" ).accordion({
+ var element = $( "#list1" ).accordion({
icons: { activeHeader: "a1", header: "h1" }
});
- ok( list.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a1" ) );
- list.accordion( "option", "icons", { activeHeader: "a2", header: "h2" } );
- ok( !list.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a1" ) );
- ok( list.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a2" ) );
+ ok( element.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a1" ) );
+ element.accordion( "option", "icons", { activeHeader: "a2", header: "h2" } );
+ ok( !element.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a1" ) );
+ ok( element.find( ".ui-accordion-header.ui-state-active span.ui-icon" ).hasClass( "a2" ) );
});
}( jQuery ) );
diff --git a/tests/unit/autocomplete/autocomplete_defaults.js b/tests/unit/autocomplete/autocomplete_defaults.js
index dd5007089..ac83eaea4 100644
--- a/tests/unit/autocomplete/autocomplete_defaults.js
+++ b/tests/unit/autocomplete/autocomplete_defaults.js
@@ -1,19 +1,25 @@
-/*
- * autocomplete_defaults.js
- */
+commonWidgetTests( "autocomplete", {
+ defaults: {
+ appendTo: "body",
+ autoFocus: false,
+ delay: 300,
+ disabled: false,
+ minLength: 1,
+ position: {
+ my: "left top",
+ at: "left bottom",
+ collision: "none"
+ },
+ source: null,
-var autocomplete_defaults = {
- appendTo: "body",
- autoFocus: false,
- delay: 300,
- disabled: false,
- minLength: 1,
- position: {
- my: "left top",
- at: "left bottom",
- collision: "none"
- },
- source: null
-};
-
-commonWidgetTests('autocomplete', { defaults: autocomplete_defaults });
+ // callbacks
+ change: null,
+ close: null,
+ create: null,
+ focus: null,
+ open: null,
+ response: null,
+ search: null,
+ select: null
+ }
+});
diff --git a/tests/unit/button/button_defaults.js b/tests/unit/button/button_defaults.js
index b81fa7cbb..96c7e5bfa 100644
--- a/tests/unit/button/button_defaults.js
+++ b/tests/unit/button/button_defaults.js
@@ -1,15 +1,14 @@
-/*
- * button_defaults.js
- */
+commonWidgetTests( "button", {
+ defaults: {
+ disabled: null,
+ icons: {
+ primary: null,
+ secondary: null
+ },
+ label: null,
+ text: true,
-var button_defaults = {
- disabled: null,
- text: true,
- label: null,
- icons: {
- primary: null,
- secondary: null
+ // callbacks
+ create: null
}
-};
-
-commonWidgetTests('button', { defaults: button_defaults });
+});
diff --git a/tests/unit/dialog/dialog_defaults.js b/tests/unit/dialog/dialog_defaults.js
index 612fd58c8..9f2e4c6a8 100644
--- a/tests/unit/dialog/dialog_defaults.js
+++ b/tests/unit/dialog/dialog_defaults.js
@@ -1,35 +1,34 @@
-/*
- * dialog_defaults.js
- */
+commonWidgetTests( "dialog", {
+ defaults: {
+ autoOpen: true,
+ buttons: {},
+ closeOnEscape: true,
+ closeText: 'close',
+ disabled: false,
+ dialogClass: '',
+ draggable: true,
+ height: 'auto',
+ hide: null,
+ maxHeight: false,
+ maxWidth: false,
+ minHeight: 150,
+ minWidth: 150,
+ modal: false,
+ position: {
+ my: 'center',
+ at: 'center',
+ of: window,
+ collision: 'fit',
+ using: $.ui.dialog.prototype.options.position.using
+ },
+ resizable: true,
+ show: null,
+ stack: true,
+ title: '',
+ width: 300,
+ zIndex: 1000,
-var dialog_defaults = {
- autoOpen: true,
- buttons: {},
- closeOnEscape: true,
- closeText: 'close',
- disabled: false,
- dialogClass: '',
- draggable: true,
- height: 'auto',
- hide: null,
- maxHeight: false,
- maxWidth: false,
- minHeight: 150,
- minWidth: 150,
- modal: false,
- position: {
- my: 'center',
- at: 'center',
- of: window,
- collision: 'fit',
- using: $.ui.dialog.prototype.options.position.using
- },
- resizable: true,
- show: null,
- stack: true,
- title: '',
- width: 300,
- zIndex: 1000
-};
-
-commonWidgetTests('dialog', { defaults: dialog_defaults });
+ // callbacks
+ create: null
+ }
+});
diff --git a/tests/unit/dialog/dialog_options.js b/tests/unit/dialog/dialog_options.js
index fb8dea775..5705da079 100644
--- a/tests/unit/dialog/dialog_options.js
+++ b/tests/unit/dialog/dialog_options.js
@@ -180,7 +180,7 @@ test("height", function() {
expect(3);
el = $('<div></div>').dialog();
- equals(dlg().height(), dialog_defaults.minHeight, "default height");
+ equals(dlg().height(), 150, "default height");
el.remove();
el = $('<div></div>').dialog({ height: 237 });
@@ -431,7 +431,7 @@ test("width", function() {
expect(3);
el = $('<div></div>').dialog();
- equals(dlg().width(), dialog_defaults.width, "default width");
+ equals(dlg().width(), 300, "default width");
el.remove();
el = $('<div></div>').dialog({width: 437 });
diff --git a/tests/unit/menu/menu_defaults.js b/tests/unit/menu/menu_defaults.js
index 58122fea2..dd182ca09 100644
--- a/tests/unit/menu/menu_defaults.js
+++ b/tests/unit/menu/menu_defaults.js
@@ -1,13 +1,12 @@
-/*
- * menu_defaults.js
- */
+commonWidgetTests( "menu", {
+ defaults: {
+ disabled: false,
+ position: {
+ my: "left top",
+ at: "right top"
+ },
-var menu_defaults = {
- disabled: false,
- position: {
- my: "left top",
- at: "right top"
+ // callbacks
+ create: null
}
-};
-
-commonWidgetTests('menu', { defaults: menu_defaults });
+});
diff --git a/tests/unit/progressbar/progressbar_defaults.js b/tests/unit/progressbar/progressbar_defaults.js
index 925510871..3856e31a0 100644
--- a/tests/unit/progressbar/progressbar_defaults.js
+++ b/tests/unit/progressbar/progressbar_defaults.js
@@ -1,11 +1,10 @@
-/*
- * progressbar_defaults.js
- */
+commonWidgetTests( "progressbar", {
+ defaults: {
+ disabled: false,
+ value: 0,
+ max: 100,
-var progressbar_defaults = {
- disabled: false,
- value: 0,
- max: 100
-};
-
-commonWidgetTests('progressbar', { defaults: progressbar_defaults });
+ //callbacks
+ create: null
+ }
+});
diff --git a/tests/unit/slider/slider_defaults.js b/tests/unit/slider/slider_defaults.js
index 76e5da8ea..03f2a4f8e 100644
--- a/tests/unit/slider/slider_defaults.js
+++ b/tests/unit/slider/slider_defaults.js
@@ -1,20 +1,19 @@
-/*
- * slider_defaults.js
- */
+commonWidgetTests( "slider", {
+ defaults: {
+ animate: false,
+ cancel: function() {},
+ delay: 0,
+ disabled: false,
+ distance: 0,
+ max: 100,
+ min: 0,
+ orientation: 'horizontal',
+ range: false,
+ step: 1,
+ value: 0,
+ values: null,
-var slider_defaults = {
- animate: false,
- cancel: function() {},
- delay: 0,
- disabled: false,
- distance: 0,
- max: 100,
- min: 0,
- orientation: 'horizontal',
- range: false,
- step: 1,
- value: 0,
- values: null
-};
-
-commonWidgetTests('slider', { defaults: slider_defaults });
+ // callbacks
+ create: null
+ }
+});
diff --git a/tests/unit/spinner/spinner_defaults.js b/tests/unit/spinner/spinner_defaults.js
index 0389ab169..f6081b1f3 100644
--- a/tests/unit/spinner/spinner_defaults.js
+++ b/tests/unit/spinner/spinner_defaults.js
@@ -1,16 +1,15 @@
-/*
- * spinner_defaults.js
- */
+commonWidgetTests( "spinner", {
+ defaults: {
+ disabled: false,
+ incremental: true,
+ max: null,
+ min: null,
+ numberformat: null,
+ page: 10,
+ step: null,
+ value: null,
-var spinner_defaults = {
- disabled: false,
- incremental: true,
- max: null,
- min: null,
- numberformat: null,
- page: 10,
- step: null,
- value: null
-};
-
-commonWidgetTests('spinner', { defaults: spinner_defaults });
+ // callbacks
+ create: null
+ }
+});
diff --git a/tests/unit/tabs/tabs.html b/tests/unit/tabs/tabs.html
index c800894ff..bba0e8a58 100644
--- a/tests/unit/tabs/tabs.html
+++ b/tests/unit/tabs/tabs.html
@@ -30,7 +30,19 @@
function tabs_state( tabs ) {
var expected = $.makeArray( arguments ).slice( 1 );
var actual = tabs.find( ".ui-tabs-nav li" ).map(function() {
- return $( this ).hasClass( "ui-state-active" ) ? 1 : 0;
+ var tab = $( this ),
+ panel = $( $.ui.tabs.prototype._sanitizeSelector(
+ "#" + tab.find( "a" ).attr( "aria-controls" ) ) ),
+ tabIsActive = tab.hasClass( "ui-state-active" ),
+ panelIsActive = panel.is( ":visible" );
+
+ if ( tabIsActive && panelIsActive ) {
+ return 1;
+ }
+ if ( !tabIsActive && !panelIsActive ) {
+ return 0;
+ }
+ return -1; // mixed state - invalid
}).get();
same( actual, expected );
}
diff --git a/tests/unit/tabs/tabs_core.js b/tests/unit/tabs/tabs_core.js
index 30d58c254..c9b16e3a8 100644
--- a/tests/unit/tabs/tabs_core.js
+++ b/tests/unit/tabs/tabs_core.js
@@ -26,6 +26,22 @@ $.each({
});
});
+// #5893 - Sublist in the tab list are considered as tab
+test( "nested list", function() {
+ expect( 1 );
+
+ var element = $( "#tabs6" ).tabs();
+ equals( element.data( "tabs" ).anchors.length, 2, "should contain 2 tab" );
+});
+
+test( "disconnected from DOM", function() {
+ expect( 2 );
+
+ var element = $( "#tabs1" ).remove().tabs();
+ equals( element.find( ".ui-tabs-nav" ).length, 1, "should initialize nav" );
+ equals( element.find( ".ui-tabs-panel" ).length, 3, "should initialize panels" );
+});
+
test( "aria-controls", function() {
expect( 7 );
var element = $( "#tabs1" ).tabs(),
diff --git a/tests/unit/tabs/tabs_defaults.js b/tests/unit/tabs/tabs_defaults.js
index e15d618de..52b6f8a71 100644
--- a/tests/unit/tabs/tabs_defaults.js
+++ b/tests/unit/tabs/tabs_defaults.js
@@ -1,13 +1,16 @@
commonWidgetTests( "tabs", {
defaults: {
- activate: null,
active: null,
- beforeLoad: null,
- beforeActivate: null,
collapsible: false,
disabled: false,
event: "click",
fx: null,
+
+ // callbacks
+ activate: null,
+ beforeActivate: null,
+ beforeLoad: null,
+ create: null,
load: null
}
});
diff --git a/tests/unit/tabs/tabs_defaults_deprecated.js b/tests/unit/tabs/tabs_defaults_deprecated.js
index 2d9772c6d..1a56297e9 100644
--- a/tests/unit/tabs/tabs_defaults_deprecated.js
+++ b/tests/unit/tabs/tabs_defaults_deprecated.js
@@ -1,26 +1,29 @@
commonWidgetTests( "tabs", {
defaults: {
- activate: null,
active: null,
- add: null,
ajaxOptions: null,
- beforeLoad: null,
- beforeActivate: null,
cache: false,
collapsible: false,
cookie: null,
- disable: null,
disabled: false,
- enable: null,
event: "click",
fx: null,
idPrefix: "ui-tabs-",
- load: null,
panelTemplate: "<div></div>",
+ spinner: "<em>Loading&#8230;</em>",
+ tabTemplate: "<li><a href='#{href}'><span>#{label}</span></a></li>",
+
+ // callbacks
+ activate: null,
+ add: null,
+ beforeActivate: null,
+ beforeLoad: null,
+ create: null,
+ disable: null,
+ enable: null,
+ load: null,
remove: null,
select: null,
- show: null,
- spinner: "<em>Loading&#8230;</em>",
- tabTemplate: "<li><a href='#{href}'><span>#{label}</span></a></li>"
+ show: null
}
});
diff --git a/tests/unit/tabs/tabs_deprecated.html b/tests/unit/tabs/tabs_deprecated.html
index 54e0c39d6..1fb50352b 100644
--- a/tests/unit/tabs/tabs_deprecated.html
+++ b/tests/unit/tabs/tabs_deprecated.html
@@ -29,7 +29,19 @@
function tabs_state( tabs ) {
var expected = $.makeArray( arguments ).slice( 1 );
var actual = tabs.find( ".ui-tabs-nav li" ).map(function() {
- return $( this ).hasClass( "ui-state-active" ) ? 1 : 0;
+ var tab = $( this ),
+ panel = $( $.ui.tabs.prototype._sanitizeSelector(
+ "#" + tab.find( "a" ).attr( "aria-controls" ) ) ),
+ tabIsActive = tab.hasClass( "ui-state-active" ),
+ panelIsActive = panel.is( ":visible" );
+
+ if ( tabIsActive && panelIsActive ) {
+ return 1;
+ }
+ if ( !tabIsActive && !panelIsActive ) {
+ return 0;
+ }
+ return -1; // mixed state - invalid
}).get();
same( actual, expected );
}
diff --git a/tests/unit/tabs/tabs_methods.js b/tests/unit/tabs/tabs_methods.js
index 8fcd2a848..7c72cd26d 100644
--- a/tests/unit/tabs/tabs_methods.js
+++ b/tests/unit/tabs/tabs_methods.js
@@ -1,61 +1,6 @@
-/*
- * tabs_methods.js
- */
-(function($) {
+(function( $ ) {
-module("tabs: methods");
-
-test('init', function() {
- expect(9);
-
- el = $('#tabs1').tabs();
-
- ok(true, '.tabs() called on element');
- ok( el.is('.ui-tabs.ui-widget.ui-widget-content.ui-corner-all'), 'attach classes to container');
- ok( $('ul', el).is('.ui-tabs-nav.ui-helper-reset.ui-helper-clearfix.ui-widget-header.ui-corner-all'), 'attach classes to list' );
- ok( $('div:eq(0)', el).is('.ui-tabs-panel.ui-widget-content.ui-corner-bottom'), 'attach classes to panel' );
- ok( $('li:eq(0)', el).is('.ui-tabs-active.ui-state-active.ui-corner-top'), 'attach classes to active li');
- ok( $('li:eq(1)', el).is('.ui-state-default.ui-corner-top'), 'attach classes to inactive li');
- equals( el.tabs('option', 'active'), 0, 'active option set' );
- equals( $('li', el).index( $('li.ui-tabs-active', el) ), 0, 'second tab active');
- equals( $('div', el).index( $('div:hidden', '#tabs1') ), 1, 'second panel should be hidden' );
-});
-
-test('init with hash', function() {
- expect(5);
-
- //set a hash in the url
- location.hash = '#fragment-2';
-
- //selection of tab with divs ordered differently than list
- el = $('#tabs1').tabs();
-
- equals(el.tabs('option', 'active'), 1, 'second tab should be active');
-
- ok(!$('#tabs1 ul li:eq(0)').is('.ui-tabs-active.ui-state-active'), 'first tab should not be selected nor active');
- ok($('#tabs1 div:eq(0)').is(':hidden'), 'first div for first tab should be hidden');
-
- ok($('#tabs1 ul li:eq(1)').is('.ui-tabs-active.ui-state-active'), 'second tab should be selected and active');
- ok(!$('#tabs1 div:eq(1)').is(':hidden'), 'second div for second tab should not be hidden');
-});
-
-test('init mismatched order with hash', function() {
- expect(5);
-
- //set a hash in the url
- location.hash = '#tabs7-2';
-
- //selection of tab with divs ordered differently than list
- el = $('#tabs7').tabs();
-
- equals(el.tabs('option', 'active'), 1, 'second tab should be active');
-
- ok(!$('#tabs7-list li:eq(0)').is('.ui-tabs-active.ui-state-active'), 'first tab should not be selected nor active');
- ok($('#tabs7 div:eq(1)').is(':hidden'), 'second div for first tab should be hidden');
-
- ok($('#tabs7-list li:eq(1)').is('.ui-tabs-active.ui-state-active'), 'second tab should be selected and active');
- ok(!$('#tabs7 div:eq(0)').is(':hidden'), 'first div for second tab should not be hidden');
-});
+module( "tabs: methods" );
test('destroy', function() {
expect(6);
@@ -162,4 +107,4 @@ test('load', function() {
ok(false, "missing test - untested code is broken code.");
});
-})(jQuery);
+}( jQuery ) );
diff --git a/tests/unit/tabs/tabs_options.js b/tests/unit/tabs/tabs_options.js
index 3cce96e1c..884a566c6 100644
--- a/tests/unit/tabs/tabs_options.js
+++ b/tests/unit/tabs/tabs_options.js
@@ -10,10 +10,11 @@ test( "{ active: default }", function() {
tabs_state( element, 1, 0, 0 );
element.tabs( "destroy" );
- window.location.hash = "#fragment-3";
+ location.hash = "#fragment-3";
element = $( "#tabs1" ).tabs();
equals( element.tabs( "option", "active" ), 2, "should be 2 based on URL" );
tabs_state( element, 0, 0, 1 );
+ element.tabs( "destroy" );
});
test( "{ active: false }", function() {
@@ -83,6 +84,17 @@ if ( $.uiBackCompat === false ) {
});
}
+test( "active - mismatched tab/panel order", function() {
+ expect( 3 );
+
+ location.hash = "#tabs7-2";
+ var element = $( "#tabs7" ).tabs();
+ equals( element.tabs( "option", "active" ), 1, "should be 1 based on URL" );
+ tabs_state( element, 0, 1 );
+ element.tabs( "option", "active", 0 );
+ tabs_state( element, 1, 0 );
+});
+
test( "{ collapsible: false }", function() {
expect( 4 );
diff --git a/tests/unit/tabs/tabs_tickets.js b/tests/unit/tabs/tabs_tickets.js
index d65f0285a..d7a59cb5b 100644
--- a/tests/unit/tabs/tabs_tickets.js
+++ b/tests/unit/tabs/tabs_tickets.js
@@ -5,39 +5,6 @@
module("tabs: tickets");
-test('#2715 - id containing colon', function() {
- // http://dev.jqueryui.com/ticket/2715
- expect(4);
-
- el = $('#tabs2').tabs();
- ok( $('div.ui-tabs-panel:eq(0)', '#tabs2').is(':visible'), 'first panel should be visible' );
- ok( $('div.ui-tabs-panel:eq(1)', '#tabs2').is(':hidden'), 'second panel should be hidden' );
-
- el.tabs('option', 'active', 1).tabs('option', 'active', 0);
- ok( $('div.ui-tabs-panel:eq(0)', '#tabs2').is(':visible'), 'first panel should be visible' );
- ok( $('div.ui-tabs-panel:eq(1)', '#tabs2').is(':hidden'), 'second panel should be hidden' );
-
-});
-
-test('#???? - panel containing inline style', function() {
- expect(3);
-
- var inlineStyle = function(property) {
- return $('#inline-style')[0].style[property];
- };
- var expected = inlineStyle('height');
-
- el = $('#tabs2').tabs();
- equals(inlineStyle('height'), expected, 'init should not remove inline style');
-
- el.tabs('option', 'active', 1);
- equals(inlineStyle('height'), expected, 'show tab should not remove inline style');
-
- el.tabs('option', 'active', 0);
- equals(inlineStyle('height'), expected, 'hide tab should not remove inline style');
-
-});
-
test('#3627 - Ajax tab with url containing a fragment identifier fails to load', function() {
// http://dev.jqueryui.com/ticket/3627
expect(1);
@@ -67,33 +34,4 @@ test('#4033 - IE expands hash to full url and misinterprets tab as ajax', functi
equals($('a', el).attr('aria-controls'), 'tab', 'aria-contorls attribute is correct');
});
-test('#5893 - Sublist in the tab list are considered as tab', function() {
- // http://dev.jqueryui.com/ticket/5893
- expect(1);
-
- el = $('#tabs6').tabs();
- equals(el.data("tabs").anchors.length, 2, 'should contain 2 tab');
-
-});
-
-test('#6710 - selectors are global', function() {
- // http://bugs.jqueryui.com/ticket/6710
- expect(1);
-
- var container = $('\
- <div>\
- <div id="tabs_6710">\
- <ul>\
- <li><a href="#tabs-1_6710">Nunc tincidunt</a></li>\
- <li><a href="#tabs-2_6710">Proin dolor</a></li>\
- </ul>\
- <div id="tabs-1_6710"> <p>first</p> </div>\
- <div id="tabs-2_6710"> <p>second</p>\
- </div>\
- </div>');
- container.find('#tabs_6710').tabs();
- ok( container.find('#tabs-2_6710').is(':hidden'), 'should find panels and add corresponding classes' );
-});
-
-
})(jQuery);
diff --git a/tests/unit/tooltip/tooltip_defaults.js b/tests/unit/tooltip/tooltip_defaults.js
index 419d7a085..c1fc49f1a 100644
--- a/tests/unit/tooltip/tooltip_defaults.js
+++ b/tests/unit/tooltip/tooltip_defaults.js
@@ -1,16 +1,15 @@
-/*
- * tooltip_defaults.js
- */
+commonWidgetTests( "tooltip", {
+ defaults: {
+ disabled: false,
+ items: "[title]",
+ content: $.ui.tooltip.prototype.options.content,
+ position: {
+ my: "left center",
+ at: "right center",
+ offset: "15 0"
+ },
-var tooltip_defaults = {
- disabled: false,
- items: "[title]",
- content: $.ui.tooltip.prototype.options.content,
- position: {
- my: "left center",
- at: "right center",
- offset: "15 0"
+ // callbacks
+ create: null
}
-};
-
-commonWidgetTests('tooltip', { defaults: tooltip_defaults });
+});
diff --git a/tests/unit/widget/widget_core.js b/tests/unit/widget/widget_core.js
index 5a6717560..b1c27b104 100644
--- a/tests/unit/widget/widget_core.js
+++ b/tests/unit/widget/widget_core.js
@@ -202,6 +202,7 @@ test( "merge multiple option arguments", function() {
$.widget( "ui.testWidget", {
_create: function() {
same( this.options, {
+ create: null,
disabled: false,
option1: "value1",
option2: "value2",
@@ -249,6 +250,7 @@ test( "._getCreateOptions()", function() {
},
_create: function() {
same( this.options, {
+ create: null,
disabled: false,
option1: "override1",
option2: "value2",
@@ -418,6 +420,7 @@ test( ".option() - getter", function() {
var options = div.testWidget( "option" );
same( options, {
+ create: null,
disabled: false,
foo: "bar",
baz: 5,
diff --git a/tests/visual/menu/menu.html b/tests/visual/menu/menu.html
index cc1f4a939..1db12f25b 100644
--- a/tests/visual/menu/menu.html
+++ b/tests/visual/menu/menu.html
@@ -25,7 +25,7 @@
});
}
- var menus = $("#menu1, #menu2, #menu3");
+ var menus = $("#menu1, #menu2, #menu3, #menu4");
create();
$("#toggle-destroy").toggle(function() {
@@ -41,7 +41,7 @@
<style>
body { font-size:62.5%; }
.ui-menu { width: 200px; margin-bottom: 2em; }
- #menu3 { height: 200px; overflow: auto; }
+ #menu4 { height: 200px; overflow: auto; }
</style>
</head>
<body>
@@ -56,7 +56,7 @@
<li><a href="#">Salzburg</a></li>
</ul>
-<ul id="menu1">
+<ul id="menu2">
<li><a href="#">Aberdeen</a></li>
<li><a href="#">Ada</a></li>
<li><a href="#">Adamsville</a></li>
@@ -95,6 +95,44 @@
</ul>
<ul id="menu3">
+ <li><a href="#"><span class="ui-icon ui-icon-print"></span>Aberdeen</a></li>
+ <li><a href="#"><span class="ui-icon ui-icon-scissors"></span>Ada</a></li>
+ <li><a href="#">Adamsville</a></li>
+ <li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Addyston</a></li>
+ <li>
+ <a href="#">Delphi</a>
+ <ul>
+ <li><a href="#">Ada</a></li>
+ <li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Saarland</a></li>
+ <li><a href="#">Salzburg</a></li>
+ </ul>
+ </li>
+ <li><a href="#">Saarland</a></li>
+ <li>
+ <a href="#"><span class="ui-icon ui-icon-print"></span>Salzburg</a>
+ <ul>
+ <li>
+ <a href="#"><span class="ui-icon ui-icon-wrench"></span>Delphi</a>
+ <ul>
+ <li><a href="#">Ada</a></li>
+ <li><a href="#">Saarland</a></li>
+ <li><a href="#">Salzburg</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#">Delphi</a>
+ <ul>
+ <li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Ada</a></li>
+ <li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Saarland</a></li>
+ <li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Salzburg</a></li>
+ </ul>
+ </li>
+ <li><a href="#">Perch</a></li>
+ </ul>
+ </li>
+</ul>
+
+<ul id="menu4">
<li><a href="#">Aberdeen</a></li>
<li><a href="#">Ada</a></li>
<li><a href="#">Adamsville</a></li>
diff --git a/tests/visual/menu/popup.js b/tests/visual/menu/popup.js
index 2cd4ee047..f57cba699 100644
--- a/tests/visual/menu/popup.js
+++ b/tests/visual/menu/popup.js
@@ -35,7 +35,7 @@ $.widget( "ui.popup", {
this.element
.addClass("ui-popup")
this._close();
-
+
this._bind(this.options.trigger, {
click: function( event ) {
event.preventDefault();
@@ -46,6 +46,10 @@ $.widget( "ui.popup", {
}
});
+ this._bind(this.element, {
+ blur: "_close"
+ });
+
this._bind({
keyup: function( event ) {
if (event.keyCode == $.ui.keyCode.ESCAPE && this.element.is( ":visible" )) {
@@ -94,6 +98,10 @@ $.widget( "ui.popup", {
.attr( "aria-expanded", true )
.position( position )
.focus();
+
+ // take trigger out of tab order to allow shift-tab to skip trigger
+ this.options.trigger.attr("tabindex", -1);
+
this.open = true;
this._trigger( "open", event );
},
@@ -103,6 +111,9 @@ $.widget( "ui.popup", {
.hide()
.attr( "aria-hidden", true )
.attr( "aria-expanded", false );
+
+ this.options.trigger.attr("tabindex", 0);
+
this.open = false;
this._trigger( "close", event );
}
diff --git a/themes/base/jquery.ui.menu.css b/themes/base/jquery.ui.menu.css
index 20fd2ce56..ed4b4a13a 100644
--- a/themes/base/jquery.ui.menu.css
+++ b/themes/base/jquery.ui.menu.css
@@ -26,11 +26,9 @@
.ui-menu .ui-menu-item a {
text-decoration:none;
display:block;
- padding:.2em .4em;
+ padding: 2px .4em;
line-height:1.5;
zoom:1;
-}
-.ui-menu .ui-menu-item a {
font-weight: normal;
}
.ui-menu .ui-menu-item a.ui-state-focus,
@@ -39,6 +37,15 @@
margin: -1px;
}
-.ui-menu .ui-icon { float: right; }
-
+/* nested menus */
.ui-menu .ui-menu { position: absolute; }
+
+/* icon support */
+.ui-menu-icons { position: relative; }
+.ui-menu-icons .ui-menu-item a { position: relative; padding-left: 2em; }
+
+/* left-aligned */
+.ui-menu .ui-icon { position: absolute; top: .2em; left: .2em; }
+
+/* right-aligned */
+.ui-menu .ui-menu-icon { position: static; float: right; } \ No newline at end of file
diff --git a/ui/jquery.ui.accordion.js b/ui/jquery.ui.accordion.js
index 455c66a28..0cc1f9e2a 100644
--- a/ui/jquery.ui.accordion.js
+++ b/ui/jquery.ui.accordion.js
@@ -25,7 +25,11 @@ $.widget( "ui.accordion", {
icons: {
activeHeader: "ui-icon-triangle-1-s",
header: "ui-icon-triangle-1-e"
- }
+ },
+
+ // callbacks
+ activate: null,
+ beforeActivate: null
},
_create: function() {
@@ -649,6 +653,11 @@ if ( $.uiBackCompat !== false ) {
// change events
(function( $, prototype ) {
+ $.extend( prototype.options, {
+ change: null,
+ changestart: null
+ });
+
var _trigger = prototype._trigger;
prototype._trigger = function( type, event, data ) {
var ret = _trigger.apply( this, arguments );
diff --git a/ui/jquery.ui.autocomplete.js b/ui/jquery.ui.autocomplete.js
index 1685c0652..526eb3869 100644
--- a/ui/jquery.ui.autocomplete.js
+++ b/ui/jquery.ui.autocomplete.js
@@ -30,7 +30,16 @@ $.widget( "ui.autocomplete", {
at: "left bottom",
collision: "none"
},
- source: null
+ source: null,
+
+ // callbacks
+ change: null,
+ close: null,
+ focus: null,
+ open: null,
+ response: null,
+ search: null,
+ select: null
},
pending: 0,
diff --git a/ui/jquery.ui.menu.js b/ui/jquery.ui.menu.js
index 8738f5c27..0f585d976 100644
--- a/ui/jquery.ui.menu.js
+++ b/ui/jquery.ui.menu.js
@@ -28,6 +28,9 @@ $.widget("ui.menu", {
var self = this;
this.activeMenu = this.element;
this.menuId = this.element.attr( "id" ) || "ui-menu-" + idIncrement++;
+ if (this.element.find(".ui-icon").length) {
+ this.element.addClass("ui-menu-icons");
+ }
this.element
.addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
.attr({
@@ -139,13 +142,13 @@ $.widget("ui.menu", {
function escape(value) {
return value.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
}
- var match = self.widget().children(".ui-menu-item").filter(function() {
+ var match = self.activeMenu.children(".ui-menu-item").filter(function() {
return new RegExp("^" + escape(character), "i").test($(this).children("a").text());
});
var match = skip && match.index(self.active.next()) != -1 ? self.active.nextAll(".ui-menu-item") : match;
if (!match.length) {
character = String.fromCharCode(event.keyCode);
- match = self.widget().children(".ui-menu-item").filter(function() {
+ match = self.activeMenu.children(".ui-menu-item").filter(function() {
return new RegExp("^" + escape(character), "i").test($(this).children("a").text());
});
}
@@ -220,7 +223,7 @@ $.widget("ui.menu", {
var menu = $(this);
var item = menu.prev("a")
item.attr("aria-haspopup", "true")
- .prepend('<span class="ui-icon ui-icon-carat-1-e"></span>');
+ .prepend('<span class="ui-menu-icon ui-icon ui-icon-carat-1-e"></span>');
menu.attr("aria-labelledby", item.attr("id"));
});
},
@@ -249,6 +252,9 @@ $.widget("ui.menu", {
.addClass( "ui-state-focus" )
.end();
self.element.attr("aria-activedescendant", self.active.children("a").attr("id"))
+
+ // highlight active parent menu item, if any
+ this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active");
self.timer = setTimeout(function() {
self._close();
@@ -292,7 +298,6 @@ $.widget("ui.menu", {
: this.options.position
);
submenu.show().removeAttr("aria-hidden").attr("aria-expanded", "true").position(position);
- this.active.find(">a:first").addClass("ui-state-active");
},
closeAll: function() {
diff --git a/ui/jquery.ui.tabs.js b/ui/jquery.ui.tabs.js
index 699c1a5ee..82d3f186d 100755
--- a/ui/jquery.ui.tabs.js
+++ b/ui/jquery.ui.tabs.js
@@ -26,13 +26,15 @@ function getNextListId() {
$.widget( "ui.tabs", {
options: {
- activate: null,
active: null,
- beforeActivate: null,
- beforeLoad: null,
collapsible: false,
event: "click",
fx: null, // e.g. { height: 'toggle', opacity: 'toggle', duration: 200 }
+
+ // callbacks
+ activate: null,
+ beforeActivate: null,
+ beforeLoad: null,
load: null
},
diff --git a/ui/jquery.ui.widget.js b/ui/jquery.ui.widget.js
index 27d08ccd2..55b9f7984 100644
--- a/ui/jquery.ui.widget.js
+++ b/ui/jquery.ui.widget.js
@@ -155,7 +155,10 @@ $.Widget.prototype = {
widgetEventPrefix: "",
defaultElement: "<div>",
options: {
- disabled: false
+ disabled: false,
+
+ // callbacks
+ create: null
},
_createWidget: function( options, element ) {
element = $( element || this.defaultElement || this )[ 0 ];