aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2011-04-05 11:28:05 -0400
committerScott González <scott.gonzalez@gmail.com>2011-04-05 11:28:05 -0400
commitff84d58444019268594b6ab11b32ed2e2a31926d (patch)
tree42b5da9327ffeb1938b19a9c8735f2e6701cae23 /tests
parent995518c10fa03703754af3fe272fb1a7021a285b (diff)
downloadjquery-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.js2
-rw-r--r--tests/unit/tabs/tabs_events.js64
-rw-r--r--tests/unit/tabs/tabs_tickets.js4
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() {