}, defaults ),
// TODO: don't create so many globals in tests
globals: {
+ accordion_equalHeights: true,
+ accordion_setupTeardown: true,
accordion_state: true,
asyncTest: true,
commonWidgetTests: true,
test( "accessibility", function () {
expect( 37 );
var element = $( "#list1" ).accordion({
- active: 1
- });
- var headers = element.find( ".ui-accordion-header" );
+ active: 1
+ }),
+ headers = element.find( ".ui-accordion-header" );
equal( element.attr( "role" ), "tablist", "element role" );
headers.each(function( i ) {
ok( headers.eq( 2 ).is( ".ui-state-focus" ), "RIGHT moves focus to next header" );
headers.eq( 2 ).simulate( "keydown", { keyCode: keyCode.DOWN } );
ok( headers.eq( 0 ).is( ".ui-state-focus" ), "DOWN wraps focus to first header" );
-
+
headers.eq( 0 ).simulate( "keydown", { keyCode: keyCode.UP } );
ok( headers.eq( 2 ).is( ".ui-state-focus" ), "UP wraps focus to last header" );
headers.eq( 2 ).simulate( "keydown", { keyCode: keyCode.LEFT } );
ok( headers.eq( 1 ).is( ".ui-state-focus" ), "LEFT moves focus to previous header" );
-
+
headers.eq( 1 ).simulate( "keydown", { keyCode: keyCode.HOME } );
ok( headers.eq( 0 ).is( ".ui-state-focus" ), "HOME moves focus to first header" );
headers.eq( 0 ).simulate( "keydown", { keyCode: keyCode.END } );
ok( headers.eq( 2 ).is( ".ui-state-focus" ), "END moves focus to last header" );
-
+
headers.eq( 2 ).simulate( "keydown", { keyCode: keyCode.ENTER } );
equal( element.accordion( "option", "active" ) , 2, "ENTER activates panel" );
headers.eq( 1 ).simulate( "keydown", { keyCode: keyCode.SPACE } );
equal( element.accordion( "option", "active" ), 1, "SPACE activates panel" );
-
+
anchor.simulate( "focus" );
setTimeout(function() {
ok( !headers.eq( 1 ).is( ".ui-state-focus" ), "header loses focus when focusing inside the panel" );
test( "{ autoHeight: false }", function() {
expect( 3 );
- var element = $( "#navigation" ).accordion({ autoHeight: false });
- var sizes = [];
+ var element = $( "#navigation" ).accordion({ autoHeight: false }),
+ sizes = [];
element.find( ".ui-accordion-content" ).each(function() {
sizes.push( $(this).height() );
});
var element = $( "#navigation" ).accordion({
navigation: true,
navigationFilter: function() {
- return /\?p=1\.1\.3$/.test( this.href );
+ return (/\?p=1\.1\.3$/).test( this.href );
}
});
equal( element.accordion( "option", "active" ), 2 );
var element = $( "#navigation" ).accordion({
navigation: true,
navigationFilter: function() {
- return /\?p=1\.1\.3\.2$/.test( this.href );
+ return (/\?p=1\.1\.3\.2$/).test( this.href );
}
});
equal( element.accordion( "option", "active" ), 2 );
test( "changestart", function() {
expect( 26 );
var element = $( "#list1" ).accordion({
- active: false,
- collapsible: true
- });
- var headers = element.find( ".ui-accordion-header" );
- var content = element.find( ".ui-accordion-content" );
+ active: false,
+ collapsible: true
+ }),
+ headers = element.find( ".ui-accordion-header" ),
+ content = element.find( ".ui-accordion-content" );
element.one( "accordionchangestart", function( event, ui ) {
equal( ui.oldHeader.size(), 0 );
test( "change", function() {
expect( 20 );
var element = $( "#list1" ).accordion({
- active: false,
- collapsible: true
- });
- var headers = element.find( ".ui-accordion-header" );
- var content = element.find( ".ui-accordion-content" );
+ active: false,
+ collapsible: true
+ }),
+ headers = element.find( ".ui-accordion-header" ),
+ content = element.find( ".ui-accordion-content" );
element.one( "accordionchange", function( event, ui ) {
equal( ui.oldHeader.size(), 0 );
test( "beforeActivate", function() {
expect( 38 );
var element = $( "#list1" ).accordion({
- active: false,
- collapsible: true
- });
- var headers = element.find( ".ui-accordion-header" );
- var content = element.find( ".ui-accordion-content" );
+ active: false,
+ collapsible: true
+ }),
+ headers = element.find( ".ui-accordion-header" ),
+ content = element.find( ".ui-accordion-content" );
element.one( "accordionbeforeactivate", function( event, ui ) {
ok( !( "originalEvent" in event ) );
test( "activate", function() {
expect( 21 );
var element = $( "#list1" ).accordion({
- active: false,
- collapsible: true
- });
- var headers = element.find( ".ui-accordion-header" );
- var content = element.find( ".ui-accordion-content" );
+ active: false,
+ collapsible: true
+ }),
+ headers = element.find( ".ui-accordion-header" ),
+ content = element.find( ".ui-accordion-content" );
element.one( "accordionactivate", function( event, ui ) {
equal( ui.oldHeader.size(), 0 );
var element = $( "#list1" ).accordion({
animate: false
}),
- panels = element.find( ".ui-accordion-content" );
+ panels = element.find( ".ui-accordion-content" ),
animate = $.fn.animate;
$.fn.animate = function() {
ok( false, ".animate() called" );
var element = $( "#list1" ).accordion({
animate: 100
}),
- panels = element.find( ".ui-accordion-content" );
+ panels = element.find( ".ui-accordion-content" ),
animate = $.fn.animate;
// called twice (both panels)
$.fn.animate = function( props, duration, easing ) {
asyncTest( "{ animate: String }", function() {
expect( 7 );
var element = $( "#list1" ).accordion({
- animate: "linear"
- }),
- panels = element.find( ".ui-accordion-content" );
- animate = $.fn.animate;
+ animate: "linear"
+ }),
+ panels = element.find( ".ui-accordion-content" ),
+ animate = $.fn.animate;
// called twice (both panels)
$.fn.animate = function( props, duration, easing ) {
equal( duration, undefined, "default duration" );
asyncTest( "{ animate: {} }", function() {
expect( 7 );
var element = $( "#list1" ).accordion({
- animate: {}
- }),
- panels = element.find( ".ui-accordion-content" );
- animate = $.fn.animate;
+ animate: {}
+ }),
+ panels = element.find( ".ui-accordion-content" ),
+ animate = $.fn.animate;
// called twice (both panels)
$.fn.animate = function( props, duration, easing ) {
equal( duration, undefined, "default duration" );
asyncTest( "{ animate: { duration, easing } }", function() {
expect( 7 );
var element = $( "#list1" ).accordion({
- animate: { duration: 100, easing: "linear" }
- }),
- panels = element.find( ".ui-accordion-content" );
- animate = $.fn.animate;
+ animate: { duration: 100, easing: "linear" }
+ }),
+ panels = element.find( ".ui-accordion-content" ),
+ animate = $.fn.animate;
// called twice (both panels)
$.fn.animate = function( props, duration, easing ) {
equal( duration, 100, "correct duration" );
asyncTest( "{ animate: { duration, easing } }, animate down", function() {
expect( 7 );
var element = $( "#list1" ).accordion({
- active: 1,
- animate: { duration: 100, easing: "linear" }
- }),
- panels = element.find( ".ui-accordion-content" );
- animate = $.fn.animate;
+ active: 1,
+ animate: { duration: 100, easing: "linear" }
+ }),
+ panels = element.find( ".ui-accordion-content" ),
+ animate = $.fn.animate;
// called twice (both panels)
$.fn.animate = function( props, duration, easing ) {
equal( duration, 100, "correct duration" );
asyncTest( "{ animate: { duration, easing, down } }, animate down", function() {
expect( 7 );
var element = $( "#list1" ).accordion({
- active: 1,
- animate: {
- duration: 100,
- easing: "linear",
- down: {
- easing: "swing"
+ active: 1,
+ animate: {
+ duration: 100,
+ easing: "linear",
+ down: {
+ easing: "swing"
+ }
}
- }
- }),
- panels = element.find( ".ui-accordion-content" );
- animate = $.fn.animate;
+ }),
+ panels = element.find( ".ui-accordion-content" ),
+ animate = $.fn.animate;
// called twice (both panels)
$.fn.animate = function( props, duration, easing ) {
equal( duration, 100, "correct duration" );
test( "{ heightStyle: 'content' }", function() {
expect( 3 );
- var element = $( "#navigation" ).accordion({ heightStyle: "content" });
- var sizes = element.find( ".ui-accordion-content" ).map(function() {
- return $( this ).height();
- }).get();
+ var element = $( "#navigation" ).accordion({ heightStyle: "content" }),
+ sizes = element.find( ".ui-accordion-content" ).map(function() {
+ return $( this ).height();
+ }).get();
ok( sizes[ 0 ] >= 70 && sizes[ 0 ] <= 105, "was " + sizes[ 0 ] );
ok( sizes[ 1 ] >= 98 && sizes[ 1 ] <= 126, "was " + sizes[ 1 ] );
ok( sizes[ 2 ] >= 42 && sizes[ 2 ] <= 54, "was " + sizes[ 2 ] );
function accordion_state( accordion ) {
- var expected = $.makeArray( arguments ).slice( 1 );
- var actual = accordion.find( ".ui-accordion-content" ).map(function() {
+ var expected = $.makeArray( arguments ).slice( 1 ),
+ actual = accordion.find( ".ui-accordion-content" ).map(function() {
return $( this ).css( "display" ) === "none" ? 0 : 1;
}).get();
QUnit.push( QUnit.equiv(actual, expected), actual, expected );
asyncTest( "cancel focus", function() {
expect( 1 );
- var customVal = "custom value";
+ var customVal = "custom value",
element = $( "#autocomplete" ).autocomplete({
delay: 0,
source: data,
module("button: core");
test("checkbox", function() {
- var input = $("#check");
+ var input = $("#check"),
label = $("label[for=check]");
ok( input.is(":visible") );
ok( label.is(":not(.ui-button)") );
});
test("radios", function() {
- var inputs = $("#radio0 input");
+ var inputs = $("#radio0 input"),
labels = $("#radio0 label");
ok( inputs.is(":visible") );
ok( labels.is(":not(.ui-button)") );
});
test("input type submit, don't create child elements", function() {
- var input = $("#submit")
+ var input = $("#submit");
deepEqual( input.children().length, 0 );
input.button();
deepEqual( input.children().length, 0 );
});
test("buttonset (rtl)", function() {
- var parent = $("#radio1").parent();
+ var set,
+ parent = $("#radio1").parent();
// Set to rtl
parent.attr("dir", "rtl");
- var set = $("#radio1").buttonset();
+ set = $("#radio1").buttonset();
ok( set.is(".ui-buttonset") );
deepEqual( set.children(".ui-button").length, 3 );
deepEqual( set.children("input:radio.ui-helper-hidden-accessible").length, 3 );
module("button: methods");
test("destroy", function() {
- var beforeHtml = $("#button").parent().html();
- var afterHtml = $("#button").button().button("destroy").parent().html();
+ var beforeHtml = $("#button").parent().html(),
+ afterHtml = $("#button").button().button("destroy").parent().html();
// Opera 9 outputs role="" instead of removing the attribute like everyone else
if ($.browser.opera) {
afterHtml = afterHtml.replace(/ role=""/g, "");