Skip to content
Permalink
Browse files

Tabs: fixed to work with empty nav list again.

Fixes #4997 - No longer possible to start with empty tab then add() elements dynamically.
  • Loading branch information...
scottgonzalez committed Dec 25, 2009
1 parent 4a995c6 commit 9a786e03a1edda7efb31b0ad6b20e5bcd62d9482
Showing with 48 additions and 4 deletions.
  1. +28 −0 tests/unit/tabs/tabs.html
  2. +19 −2 tests/unit/tabs/tabs_core.js
  3. +1 −2 ui/jquery.ui.tabs.js
@@ -42,6 +42,34 @@
<div id="colon:test"></div>
<div style="height: 300px;" id="inline-style"></div>
</div>
<div id="tabs3">
<div>
<ul id="tabs3-list">
<li><a href="#tabs3-1">1</a></li>
</ul>
</div>
</div>
<div id="tabs4">
<ul id="tabs4-list">
<li><a href="#tabs4-1">1</a></li>
</ul>
<ol>
<li><a href="#tabs4-1">1</a></li>
</ol>
</div>
<div id="tabs4a">
<ol id="tabs4a-list">
<li><a href="#tabs4a-1">1</a></li>
</ol>
<ul>
<li><a href="#tabs4a-1">1</a></li>
</ul>
</div>
<div id="tabs5">
<div>
<ul id="tabs5-list"></ul>
</div>
</div>
</div>
</body>
</html>
@@ -7,6 +7,24 @@ var el;

module("tabs: core");

test('navigation markup', function() {
el = $('#tabs3').tabs();
ok($('#tabs3-list').hasClass('ui-tabs-nav'), 'custom markup; allow list to be any descendant');
el.tabs('destroy');

el = $('#tabs4').tabs();
ok($('#tabs4-list').hasClass('ui-tabs-nav'), 'first list found becomes nav - ul');
el.tabs('destroy');

el = $('#tabs4a').tabs();
ok($('#tabs4a-list').hasClass('ui-tabs-nav'), 'first list found becomes nav - ol');
el.tabs('destroy');

el = $('#tabs5').tabs();
ok($('#tabs5-list').hasClass('ui-tabs-nav'), 'empty list can be used');
el.tabs('destroy');
});

test('ajax', function() {
expect(4);
stop();
@@ -34,6 +52,5 @@ test('ajax', function() {
});

});



})(jQuery);
@@ -68,8 +68,7 @@ $.widget("ui.tabs", {

_tabify: function(init) {

// use $('li:first').parent() so we can find the first ul/ol in DOM order
this.list = this.element.find('li:first').parent();
this.list = this.element.find('ol,ul').eq(0);
this.lis = $('li:has(a[href])', this.list);
this.anchors = this.lis.map(function() { return $('a', this)[0]; });
this.panels = $([]);

0 comments on commit 9a786e0

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