aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/tabs
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2011-04-04 11:22:32 -0400
committerScott González <scott.gonzalez@gmail.com>2011-04-04 11:22:32 -0400
commit632e6c76185664f1831c2f008e40f9057ef91bd0 (patch)
tree63524bed40da4028ae32fb249912cc2041ced380 /tests/unit/tabs
parentfdedf1616d03b07c84045a3fd57d3cff073c6148 (diff)
downloadjquery-ui-632e6c76185664f1831c2f008e40f9057ef91bd0.tar.gz
jquery-ui-632e6c76185664f1831c2f008e40f9057ef91bd0.zip
Tabs: Pass appropriate data for beforeActivate event. Fixes #7136 - Tabs: Rename select event to beforeActivate.
Diffstat (limited to 'tests/unit/tabs')
-rw-r--r--tests/unit/tabs/tabs.html9
-rw-r--r--tests/unit/tabs/tabs_deprecated.html9
-rw-r--r--tests/unit/tabs/tabs_events.js69
3 files changed, 64 insertions, 23 deletions
diff --git a/tests/unit/tabs/tabs.html b/tests/unit/tabs/tabs.html
index 36e30517e..3d1c78040 100644
--- a/tests/unit/tabs/tabs.html
+++ b/tests/unit/tabs/tabs.html
@@ -27,6 +27,15 @@
<script src="tabs_tickets.js"></script>
<script>
+ 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;
+ }).get();
+ same( actual, expected );
+ }
+ </script>
+ <script>
// disable this stale testsuite for testswarm only
var url = window.location.search;
url = decodeURIComponent( url.slice( url.indexOf("swarmURL=") + 9 ) );
diff --git a/tests/unit/tabs/tabs_deprecated.html b/tests/unit/tabs/tabs_deprecated.html
index f886a9b7b..b50cebebc 100644
--- a/tests/unit/tabs/tabs_deprecated.html
+++ b/tests/unit/tabs/tabs_deprecated.html
@@ -26,6 +26,15 @@
<script src="tabs_deprecated.js"></script>
<script>
+ 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;
+ }).get();
+ same( actual, expected );
+ }
+ </script>
+ <script>
// disable this stale testsuite for testswarm only
var url = window.location.search;
url = decodeURIComponent( url.slice( url.indexOf("swarmURL=") + 9 ) );
diff --git a/tests/unit/tabs/tabs_events.js b/tests/unit/tabs/tabs_events.js
index 381326533..72c6d29e1 100644
--- a/tests/unit/tabs/tabs_events.js
+++ b/tests/unit/tabs/tabs_events.js
@@ -1,32 +1,55 @@
-/*
- * tabs_events.js
- */
-(function($) {
+(function( $ ) {
-module("tabs: events");
+module( "tabs: events" );
-test('beforeActivate', function() {
- expect(7);
+test( "beforeActivate", function() {
+ expect( 26 );
- el = $('#tabs1').tabs({
- beforeActivate: function(event, ui) {
- ok(true, 'beforeActivate triggered after initialization');
- equals(this, el[0], "context of callback");
- equals(event.type, 'tabsbeforeactivate', 'event type in callback');
- equals(ui.tab, el.find('a')[1], 'contain tab as DOM anchor element');
- equals(ui.panel, el.find('div')[1], 'contain panel as DOM div element');
- equals(ui.index, 1, 'contain index');
- }
+ var element = $( "#tabs1" ).tabs({
+ // TODO: should be false
+ active: -1,
+ collapsible: true
+ }),
+ tabs = element.find( ".ui-tabs-nav a" ),
+ panels = element.find( ".ui-tabs-panel" );
+
+ element.one( "tabsbeforeactivate", function( event, ui ) {
+ equals( ui.oldTab.size(), 0 );
+ equals( ui.oldPanel.size(), 0 );
+ equals( ui.newTab.size(), 1 );
+ strictEqual( ui.newTab[ 0 ], tabs[ 0 ] );
+ equals( ui.newPanel.size(), 1 );
+ strictEqual( ui.newPanel[ 0 ], panels[ 0 ] );
+ tabs_state( element, 0, 0, 0 );
});
- el.tabs('option', 'active', 1);
+ element.tabs( "option", "active", 0 );
+ tabs_state( element, 1, 0, 0 );
- el.tabs('destroy');
- el.tabs({
- beforeActivate: function(event, ui) {
- equals( event.originalEvent.type, "click", "beforeActivate triggered by click" );
- }
+ element.one( "tabsbeforeactivate", function( event, ui ) {
+ equals( ui.oldTab.size(), 1 );
+ strictEqual( ui.oldTab[ 0 ], tabs[ 0 ] );
+ equals( ui.oldPanel.size(), 1 );
+ strictEqual( ui.oldPanel[ 0 ], panels[ 0 ] );
+ equals( ui.newTab.size(), 1 );
+ strictEqual( ui.newTab[ 0 ], tabs[ 1 ] );
+ equals( ui.newPanel.size(), 1 );
+ strictEqual( ui.newPanel[ 0 ], panels[ 1 ] );
+ tabs_state( element, 1, 0, 0 );
});
- el.find( "li:eq(1) a" ).simulate( "click" );
+ element.tabs( "option", "active", 1 );
+ tabs_state( element, 0, 1, 0 );
+
+ element.one( "tabsbeforeactivate", function( event, ui ) {
+ equals( ui.oldTab.size(), 1 );
+ strictEqual( ui.oldTab[ 0 ], tabs[ 1 ] );
+ equals( ui.oldPanel.size(), 1 );
+ strictEqual( ui.oldPanel[ 0 ], panels[ 1 ] );
+ equals( ui.newTab.size(), 0 );
+ equals( ui.newPanel.size(), 0 );
+ tabs_state( element, 0, 1, 0 );
+ });
+ element.tabs( "option", "active", false );
+ tabs_state( element, 0, 0, 0 );
});
test('beforeload', function() {