Skip to content

Commit d573a92

Browse files
committed
Tabs: Added tests for aria-controls attribute being assigned on init.
1 parent 54016b8 commit d573a92

File tree

5 files changed

+33
-14
lines changed

5 files changed

+33
-14
lines changed

tests/unit/tabs/tabs.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ <h2 id="qunit-userAgent"></h2>
7272
<li><a href="#colon:test"><span>1</span></a></li>
7373
<li><a href="#inline-style"><span>2</span></a></li>
7474
<li><a href="data/test.html#test"><span>3</span></a></li>
75-
<li><a href="data/test.html" title="∫ßáö Սե"><span>4</span></a></li>
75+
<li><a href="data/test.html" aria-controls="custom-id"><span>4</span></a></li>
76+
<li><a href="data/test.html" title="∫ßáö Սե"><span>5</span></a></li>
7677
</ul>
7778
<div id="colon:test"></div>
7879
<div style="height: 300px;" id="inline-style"></div>

tests/unit/tabs/tabs_core.js

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ module( "tabs: core" );
44

55
test( "markup structure", function() {
66
expect( 3 );
7-
var el = $( "#tabs1" ).tabs();
8-
ok( el.hasClass( "ui-tabs" ), "main element is .ui-tabs" );
9-
ok( el.find( "ul" ).hasClass( "ui-tabs-nav" ), "list item is .ui-tabs-nav" );
10-
equal( el.find( ".ui-tabs-panel" ).length, 3,
7+
var element = $( "#tabs1" ).tabs();
8+
ok( element.hasClass( "ui-tabs" ), "main element is .ui-tabs" );
9+
ok( element.find( "ul" ).hasClass( "ui-tabs-nav" ), "list item is .ui-tabs-nav" );
10+
equal( element.find( ".ui-tabs-panel" ).length, 3,
1111
".ui-tabs-panel elements exist, correct number" );
1212
});
1313

@@ -19,13 +19,30 @@ $.each({
1919
}, function( type, selector ) {
2020
test( "markup structure: " + type, function() {
2121
expect( 2 );
22-
var el = $( selector ).tabs();
23-
ok( el.hasClass( "ui-tabs" ), "main element is .ui-tabs" );
22+
var element = $( selector ).tabs();
23+
ok( element.hasClass( "ui-tabs" ), "main element is .ui-tabs" );
2424
ok( $( selector + "-list" ).hasClass( "ui-tabs-nav" ),
2525
"list item is .ui-tabs-nav" );
2626
});
2727
});
2828

29+
test( "aria-controls", function() {
30+
expect( 7 );
31+
var element = $( "#tabs1" ).tabs(),
32+
tabs = element.find( ".ui-tabs-nav a" );
33+
tabs.each(function() {
34+
var tab = $( this );
35+
equal( tab.attr( "href" ).substring( 1 ), tab.attr( "aria-controls" ) );
36+
});
37+
38+
element = $( "#tabs2" ).tabs();
39+
tabs = element.find( ".ui-tabs-nav a" );
40+
equal( tabs.eq( 0 ).attr( "aria-controls" ), "colon:test" );
41+
equal( tabs.eq( 1 ).attr( "aria-controls" ), "inline-style" );
42+
ok( /^ui-tabs-\d+$/.test( tabs.eq( 2 ).attr( "aria-controls" ) ), "generated id" );
43+
equal( tabs.eq( 3 ).attr( "aria-controls" ), "custom-id" );
44+
});
45+
2946
test( "accessibility", function() {
3047
// TODO: add tests
3148
});

tests/unit/tabs/tabs_deprecated.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ <h2 id="qunit-userAgent"></h2>
7171
<li><a href="#colon:test"><span>1</span></a></li>
7272
<li><a href="#inline-style"><span>2</span></a></li>
7373
<li><a href="data/test.html#test"><span>3</span></a></li>
74-
<li><a href="data/test.html" title="∫ßáö Սե"><span>4</span></a></li>
74+
<li><a href="data/test.html" aria-controls="custom-id"><span>4</span></a></li>
75+
<li><a href="data/test.html" title="∫ßáö Սե"><span>5</span></a></li>
7576
</ul>
7677
<div id="colon:test"></div>
7778
<div style="height: 300px;" id="inline-style"></div>

tests/unit/tabs/tabs_deprecated.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ test( "panel ids", function() {
1111
equal( ui.panel.attr( "id" ), "∫ßáö_Սե", "from title attribute" );
1212
event.preventDefault();
1313
});
14-
element.tabs( "option", "active", 3 );
14+
element.tabs( "option", "active", 4 );
1515

1616
element.one( "tabsbeforeload", function( event, ui ) {
1717
ok( /^ui-tabs-\d+$/.test( ui.panel.attr( "id" ) ), "generated id" );
@@ -329,7 +329,7 @@ test( "length", function() {
329329
expect( 2 );
330330

331331
equals( $( "#tabs1" ).tabs().tabs( "length" ), 3, "basic tabs" );
332-
equals( $( "#tabs2" ).tabs().tabs( "length" ), 4, "ajax tabs with missing panels" );
332+
equals( $( "#tabs2" ).tabs().tabs( "length" ), 5, "ajax tabs with missing panels" );
333333
});
334334

335335
test( "url", function() {

tests/unit/tabs/tabs_events.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,10 @@ test( "beforeLoad", function() {
163163
strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" );
164164
equals( ui.panel.html(), "", "panel html" );
165165
event.preventDefault();
166-
tabs_state( element, 1, 0, 0, 0 );
166+
tabs_state( element, 1, 0, 0, 0, 0 );
167167
});
168168
element.tabs( "option", "active", 2 );
169-
tabs_state( element, 0, 0, 1, 0 );
169+
tabs_state( element, 0, 0, 1, 0, 0 );
170170
equals( panel.html(), "", "panel html after" );
171171

172172
// click, change panel content
@@ -184,10 +184,10 @@ test( "beforeLoad", function() {
184184
strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" );
185185
ui.panel.html( "<p>testing</p>" );
186186
event.preventDefault();
187-
tabs_state( element, 0, 0, 1, 0 );
187+
tabs_state( element, 0, 0, 1, 0, 0 );
188188
});
189189
element.find( ".ui-tabs-nav a" ).eq( 3 ).click();
190-
tabs_state( element, 0, 0, 0, 1 );
190+
tabs_state( element, 0, 0, 0, 1, 0 );
191191
equals( panel.html(), "<p>testing</p>", "panel html after" );
192192
});
193193

0 commit comments

Comments
 (0)