aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/progressbar/progressbar_core.js
blob: 686e93b432b03ad945990f7554e20805e82b5238 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
(function( $ ) {

module( "progressbar: core" );

test( "markup structure", function( assert ) {
	expect( 7 );
	var element = $( "#progressbar" ).progressbar(),
		value = element.children().eq( 0 );

	assert.hasClasses( element, "ui-progressbar ui-widget ui-widget-content" );
	assert.hasClasses( value, "ui-progressbar-value ui-widget-header" );
	assert.lacksClasses( value, "ui-progressbar-complete" );
	assert.lacksClasses( element, "ui-progressbar-indeterminate" );
	equal( element.children().length, 1, "Main element contains one child" );

	element.progressbar( "option", "value", 100 );
	assert.hasClasses( value, "ui-progressbar-complete ui-widget-header ui-progressbar-value" );
	equal( element.children().children().length, 0, "no overlay div" );
});

test( "markup structure - indeterminate", function( assert ) {
	expect( 5 );
	var element = $( "#progressbar" ).progressbar({ value: false }),
		children = element.children();

	assert.hasClasses( element, "ui-progressbar ui-progressbar-indeterminate ui-widget ui-widget-content" );
	assert.hasClasses( children[ 0 ], "ui-progressbar-value ui-widget-header" );
	equal( children.length, 1, "Main element contains one child" );
	assert.hasClasses( children[ 0 ], "ui-progressbar-value" );
	equal( children.children( ".ui-progressbar-overlay" ).length, 1,
		"Value has class ui-progressbar-overlay" );
});

test( "accessibility", function() {
	expect( 11 );
	var element = $( "#progressbar" ).progressbar();

	equal( element.attr( "role" ), "progressbar", "aria role" );
	equal( element.attr( "aria-valuemin" ), 0, "aria-valuemin" );
	equal( element.attr( "aria-valuemax" ), 100, "aria-valuemax" );
	equal( element.attr( "aria-valuenow" ), 0, "aria-valuenow initially" );

	element.progressbar( "value", 77 );
	equal( element.attr( "aria-valuenow" ), 77, "aria-valuenow" );

	element.progressbar( "option", "max", 150 );
	equal( element.attr( "aria-valuemax" ), 150, "aria-valuemax" );

	element.progressbar( "disable" );
	equal( element.attr( "aria-disabled" ), "true", "aria-disabled on" );

	element.progressbar( "enable" );
	equal( element.attr( "aria-disabled" ), "false", "aria-disabled off" );

	element.progressbar( "option", "value", false );
	equal( element.attr( "aria-valuemin" ), 0, "aria-valuemin" );
	equal( element.attr( "aria-valuemax" ), 150, "aria-valuemax" );
	strictEqual( element.attr( "aria-valuenow" ), undefined, "aria-valuenow" );
});

}( jQuery ) );