Skip to content
Permalink
Browse files

accordion: fixed incosistent accordionchange event arguments (http://…

  • Loading branch information
jzaefferer committed Jul 13, 2008
1 parent d1b0999 commit 30952e6b3f80da814e6d7ff633fc1eac0b3c4a13
Showing with 33 additions and 4 deletions.
  1. +30 −0 tests/accordion.js
  2. +3 −4 ui/ui.accordion.js
@@ -99,4 +99,34 @@ test("handle click on header-descendant", function() {
state2(ac, 0, 1, 0);
});

test("active:false", function() {
$("#list1").accordion({
active: false,
alwaysOpen: false
});
equals( $("#list1 a.selected").size(), 0, "no headers selected" );
});

test("accordionchange event, open closed and close again", function() {
expect(8);
$("#list1").accordion({
active: false,
alwaysOpen: false
})
.one("accordionchange", function(event, ui) {
equals( ui.oldHeader.size(), 0 )
equals( ui.oldContent.size(), 0 )
equals( ui.newHeader.size(), 1 )
equals( ui.newContent.size(), 1 )
})
.accordion("activate", 0)
.one("accordionchange", function(event, ui) {
equals( ui.oldHeader.size(), 1 )
equals( ui.oldContent.size(), 1 )
equals( ui.newHeader.size(), 0 )
equals( ui.newContent.size(), 0 )
})
.accordion("activate", 0);
});

})(jQuery);
@@ -201,12 +201,11 @@ function clickHandler(event) {
// find elements to show and hide
var toShow = clicked.next(),
toHide = options.active.next(),
//data = [clicked, options.active, toShow, toHide],
data = {
options: options,
newHeader: clicked,
newHeader: clickedActive && !options.alwaysOpen ? $([]) : clicked,
oldHeader: options.active,
newContent: toShow,
newContent: clickedActive && !options.alwaysOpen ? $([]) : toShow,
oldContent: toHide
},
down = options.headers.index( options.active[0] ) > options.headers.index( clicked[0] );
@@ -218,7 +217,7 @@ function clickHandler(event) {
};

function findActive(headers, selector) {
return selector != undefined
return selector
? typeof selector == "number"
? headers.filter(":eq(" + selector + ")")
: headers.not(headers.not(selector))

0 comments on commit 30952e6

Please sign in to comment.
You can’t perform that action at this time.