diff options
author | Scott González <scott.gonzalez@gmail.com> | 2011-04-05 11:28:05 -0400 |
---|---|---|
committer | Scott González <scott.gonzalez@gmail.com> | 2011-04-05 11:28:05 -0400 |
commit | ff84d58444019268594b6ab11b32ed2e2a31926d (patch) | |
tree | 42b5da9327ffeb1938b19a9c8735f2e6701cae23 /tests | |
parent | 995518c10fa03703754af3fe272fb1a7021a285b (diff) | |
download | jquery-ui-ff84d58444019268594b6ab11b32ed2e2a31926d.tar.gz jquery-ui-ff84d58444019268594b6ab11b32ed2e2a31926d.zip |
Tabs: Pass appropriate data for beforeLoad event. Partial fix for #7131 - Tabs: Add beforeload event; deprecate ajaxOptions and cache options.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unit/tabs/tabs_deprecated.js | 2 | ||||
-rw-r--r-- | tests/unit/tabs/tabs_events.js | 64 | ||||
-rw-r--r-- | tests/unit/tabs/tabs_tickets.js | 4 |
3 files changed, 53 insertions, 17 deletions
diff --git a/tests/unit/tabs/tabs_deprecated.js b/tests/unit/tabs/tabs_deprecated.js index c4a27026d..535358636 100644 --- a/tests/unit/tabs/tabs_deprecated.js +++ b/tests/unit/tabs/tabs_deprecated.js @@ -9,7 +9,7 @@ test( "#4581 - title attribute for remote tabs does not support foreign language selected: 3, beforeLoad: function( event, ui ) { event.preventDefault(); - equal( ui.panel.id, "∫ßáö_Սե", "proper title" ); + equal( ui.panel.attr( "id" ), "∫ßáö_Սե", "proper title" ); } }); }); diff --git a/tests/unit/tabs/tabs_events.js b/tests/unit/tabs/tabs_events.js index 9c9fe0cd9..ef0297653 100644 --- a/tests/unit/tabs/tabs_events.js +++ b/tests/unit/tabs/tabs_events.js @@ -140,21 +140,57 @@ test( "activate", function() { }); test( "beforeLoad", function() { - expect( 5 ); - - el = $( "#tabs2" ); - - el.tabs({ - active: 2, - beforeLoad: function( event, ui ) { - ok( $.isFunction( ui.jqXHR.promise ), 'contain jqXHR object'); - equals( ui.settings.url, "data/test.html", 'contain ajax settings url'); - equals( ui.tab, el.find('a')[ 2 ], 'contain tab as DOM anchor element'); - equals( ui.panel, el.find('div')[ 2 ], 'contain panel as DOM div element'); - equals( ui.index, 2, 'contain index'); - event.preventDefault(); - } + expect( 21 ); + + var tab, panelId, panel, + element = $( "#tabs2" ).tabs(); + + // TODO: init +// element.one( "tabsbeforeload", function( event, ui ) { +// }); +// element.tabs({ active: 2 }); + + // .option() + element.one( "tabsbeforeload", function( event, ui ) { + tab = element.find( ".ui-tabs-nav a" ).eq( 2 ); + panelId = tab.attr( "aria-controls" ); + panel = $( "#" + panelId ); + + ok( !( "originalEvent" in event ), "originalEvent" ); + ok( "abort" in ui.jqXHR, "jqXHR" ); + ok( ui.ajaxSettings.url, "data/test.html", "ajaxSettings.url" ); + equals( ui.tab.size(), 1, "tab size" ); + strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); + equals( ui.panel.size(), 1, "panel size" ); + strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); + equals( ui.panel.html(), "", "panel html" ); + event.preventDefault(); + tabs_state( element, 1, 0, 0, 0 ); + }); + element.tabs( "option", "active", 2 ); + tabs_state( element, 0, 0, 1, 0 ); + equals( panel.html(), "", "panel html after" ); + + // click + element.one( "tabsbeforeload", function( event, ui ) { + tab = element.find( ".ui-tabs-nav a" ).eq( 3 ); + panelId = tab.attr( "aria-controls" ); + panel = $( "#" + panelId ); + + equals( event.originalEvent.type, "click", "originalEvent" ); + ok( "abort" in ui.jqXHR, "jqXHR" ); + ok( ui.ajaxSettings.url, "data/test.html", "ajaxSettings.url" ); + equals( ui.tab.size(), 1, "tab size" ); + strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); + equals( ui.panel.size(), 1, "panel size" ); + strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); + ui.panel.html( "<p>testing</p>" ); + event.preventDefault(); + tabs_state( element, 0, 0, 1, 0 ); }); + element.find( ".ui-tabs-nav a" ).eq( 3 ).click(); + tabs_state( element, 0, 0, 0, 1 ); + equals( panel.html(), "<p>testing</p>", "panel html after" ); }); test('load', function() { diff --git a/tests/unit/tabs/tabs_tickets.js b/tests/unit/tabs/tabs_tickets.js index 503f96260..d65f0285a 100644 --- a/tests/unit/tabs/tabs_tickets.js +++ b/tests/unit/tabs/tabs_tickets.js @@ -46,7 +46,7 @@ test('#3627 - Ajax tab with url containing a fragment identifier fails to load', active: 2, beforeLoad: function( event, ui ) { event.preventDefault(); - ok(/test.html$/.test( ui.settings.url ), 'should ignore fragment identifier'); + ok(/test.html$/.test( ui.ajaxSettings.url ), 'should ignore fragment identifier'); } }); }); @@ -64,7 +64,7 @@ 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'); + equals($('a', el).attr('aria-controls'), 'tab', 'aria-contorls attribute is correct'); }); test('#5893 - Sublist in the tab list are considered as tab', function() { |