diff options
author | Scott González <scott.gonzalez@gmail.com> | 2011-04-04 15:28:33 -0400 |
---|---|---|
committer | Scott González <scott.gonzalez@gmail.com> | 2011-04-04 15:28:33 -0400 |
commit | 1fc91f90d0dea2bbc6c84bfa994e21d120391782 (patch) | |
tree | 8f36fc73aba527e2b88153070fa83ee94fc3a96f /tests | |
parent | 316d0af8fb05180c72aeb489ab99fdfa6f2f127e (diff) | |
download | jquery-ui-1fc91f90d0dea2bbc6c84bfa994e21d120391782.tar.gz jquery-ui-1fc91f90d0dea2bbc6c84bfa994e21d120391782.zip |
Tabs: Pass appropriate data for activate event. Fixes #7137 - Tabs: Rename show event to activate.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unit/tabs/tabs_events.js | 86 |
1 files changed, 66 insertions, 20 deletions
diff --git a/tests/unit/tabs/tabs_events.js b/tests/unit/tabs/tabs_events.js index d5e2b04c3..c578e5db7 100644 --- a/tests/unit/tabs/tabs_events.js +++ b/tests/unit/tabs/tabs_events.js @@ -73,6 +73,72 @@ test( "beforeActivate", function() { tabs_state( element, 0, 0, 0 ); }); +test( "activate", function() { + expect( 30 ); + + 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" ); + + // from collapsed + element.one( "tabsactivate", function( event, ui ) { + ok( !( "originalEvent" in event ) ); + 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, 1, 0, 0 ); + }); + element.tabs( "option", "active", 0 ); + tabs_state( element, 1, 0, 0 ); + + // switching tabs + element.one( "tabsactivate", function( event, ui ) { + equals( event.originalEvent.type, "click" ); + 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, 0, 1, 0 ); + }); + tabs.eq( 1 ).click(); + tabs_state( element, 0, 1, 0 ); + + // collapsing + element.one( "tabsactivate", function( event, ui ) { + ok( !( "originalEvent" in event ) ); + 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, 0, 0 ); + }); + element.tabs( "option", "active", false ); + tabs_state( element, 0, 0, 0 ); + + // prevent activation + element.one( "tabsbeforeactivate", function( event ) { + ok( true ); + event.preventDefault(); + }); + element.one( "tabsactivate", function() { + ok( false ); + }); + element.tabs( "option", "active", 1 ); +}); + test('beforeload', function() { expect( 5 ); @@ -96,24 +162,4 @@ test('load', function() { ok(false, "missing test - untested code is broken code."); }); -test('activate', function() { - expect(5); - - var uiObj, eventObj; - el = $('#tabs1').tabs({ - activate: function(event, ui) { - uiObj = ui; - eventObj = event; - } - }); - ok(uiObj !== undefined, 'trigger callback after initialization'); - equals(uiObj.tab, $('a', el)[0], 'contain tab as DOM anchor element'); - equals(uiObj.panel, $('div', el)[0], 'contain panel as DOM div element'); - equals(uiObj.index, 0, 'contain index'); - - el.find( "li:eq(1) a" ).simulate( "click" ); - equals( eventObj.originalEvent.type, "click", "show triggered by click" ); - -}); - })(jQuery); |