@@ -38,6 +38,41 @@ test("disabled, null", function() {
38
38
deepEqual ( true , $ ( "#radio02" ) . prop ( "disabled" ) , "element is not disabled" ) ;
39
39
} ) ;
40
40
41
+ test ( "disabled, ui-state-active is removed unless checkbox or radio" , function ( ) {
42
+ expect ( 12 ) ;
43
+ var elements = [
44
+ $ ( "<input type='button'>" ) ,
45
+ $ ( "<button></button>" ) ,
46
+ $ ( "<a></a>" ) ,
47
+ $ ( "<div></div>" ) ,
48
+ $ ( "<input type='checkbox' id='checkbox' checked><label for='checkbox'></label>" ) ,
49
+ $ ( "<input type='radio' id='radio' checked><label for='radio'></label>" )
50
+ ] ;
51
+
52
+ $ . each ( elements , function ( ) {
53
+ var element = $ ( this ) . first ( ) . button ( ) ,
54
+ buttonElement = element . button ( "widget" ) ,
55
+ elementType = element . prop ( "nodeName" ) . toLowerCase ( ) ;
56
+
57
+ if ( element . is ( "input" ) ) {
58
+ elementType += ":" + element . attr ( "type" ) ;
59
+ }
60
+
61
+ element . trigger ( "mousedown" ) ;
62
+ ok ( buttonElement . hasClass ( "ui-state-active" ) ,
63
+ "[" + elementType + "] has ui-state-active class after mousedown." ) ;
64
+
65
+ element . button ( "disable" ) ;
66
+ if ( element . is ( "[type=checkbox], [type=radio]" ) ) {
67
+ ok ( buttonElement . hasClass ( "ui-state-active" ) ,
68
+ "Disabled [" + elementType + "] has ui-state-active class." ) ;
69
+ } else {
70
+ ok ( ! buttonElement . hasClass ( "ui-state-active" ) ,
71
+ "Disabled [" + elementType + "] does not have ui-state-active class." ) ;
72
+ }
73
+ } ) ;
74
+ } ) ;
75
+
41
76
test ( "text false without icon" , function ( ) {
42
77
expect ( 1 ) ;
43
78
$ ( "#button" ) . button ( {
0 commit comments