1+ module ( "Controlgroup: Core" ) ;
2+
3+ function hasCornerClass ( className , element ) {
4+ if ( className ) {
5+ return element . hasClass ( className ) ;
6+ }
7+
8+ return element . attr ( "class" ) . match ( / u i - c o r n e r / g ) ;
9+ }
10+
11+ test ( "selectmenu: open/close corners" , function ( ) {
12+ expect ( 1 ) ;
13+ var element = $ ( ".controlgroup" ) . controlgroup ( ) ,
14+ selects = element . find ( "select" ) ,
15+ selectButton = selects . eq ( 0 ) . selectmenu ( "widget" ) ;
16+
17+ expect ( 12 ) ;
18+
19+ selects . eq ( 0 ) . selectmenu ( "open" ) ;
20+
21+ strictEqual ( selectButton . hasClass ( "ui-corner-tl" ) , true ,
22+ "Horizontal: First selectmenu gets ui-corner-tl when opened" ) ;
23+
24+ selects . eq ( 0 ) . selectmenu ( "close" ) ;
25+
26+ strictEqual ( selectButton . hasClass ( "ui-corner-left" ) , true ,
27+ "Horizontal: First selectmenu gets ui-corner-left when closed" ) ;
28+
29+ selectButton = selects . eq ( 1 ) . selectmenu ( "widget" ) ;
30+
31+ selects . eq ( 1 ) . selectmenu ( "open" ) ;
32+
33+ strictEqual ( ! ! hasCornerClass ( false , selectButton ) , false ,
34+ "Horizontal: Middle selectmenu does not get corner class when opened" ) ;
35+
36+ selects . eq ( 1 ) . selectmenu ( "close" ) ;
37+
38+ strictEqual ( ! ! hasCornerClass ( false , selectButton ) , false ,
39+ "Horizontal: Middle selectmenu does not get corner class when closed" ) ;
40+
41+ selectButton = selects . eq ( 2 ) . selectmenu ( "widget" ) ;
42+
43+ selects . eq ( 2 ) . selectmenu ( "open" ) ;
44+
45+ strictEqual ( selectButton . hasClass ( "ui-corner-tr" ) , true ,
46+ "Horizontal: Last selectmenu gets ui-corner-tr when opened" ) ;
47+
48+ selects . eq ( 2 ) . selectmenu ( "close" ) ;
49+
50+ strictEqual ( selectButton . hasClass ( "ui-corner-right" ) , true ,
51+ "Horizontal: Last selectmenu gets ui-corner-right when closed" ) ;
52+
53+ element . controlgroup ( "option" , "direction" , "vertical" ) ;
54+ selectButton = selects . eq ( 0 ) . selectmenu ( "widget" ) ;
55+
56+ selects . eq ( 0 ) . selectmenu ( "open" ) ;
57+
58+ strictEqual ( selectButton . hasClass ( "ui-corner-top" ) , true ,
59+ "vertical: First selectmenu gets ui-corner-top when opened" ) ;
60+
61+ selects . eq ( 0 ) . selectmenu ( "close" ) ;
62+
63+ strictEqual ( selectButton . hasClass ( "ui-corner-top" ) , true ,
64+ "vertical: First selectmenu gets ui-corner-top when closed" ) ;
65+
66+ selectButton = selects . eq ( 1 ) . selectmenu ( "widget" ) ;
67+
68+ selects . eq ( 1 ) . selectmenu ( "open" ) ;
69+
70+ strictEqual ( ! ! hasCornerClass ( false , selectButton ) , false ,
71+ "vertical: Middle selectmenu does not get corner class when opened" ) ;
72+
73+ selects . eq ( 1 ) . selectmenu ( "close" ) ;
74+
75+ strictEqual ( ! ! hasCornerClass ( false , selectButton ) , false ,
76+ "vertical: Middle selectmenu does not get corner class when closed" ) ;
77+
78+ selectButton = selects . eq ( 2 ) . selectmenu ( "widget" ) ;
79+
80+ selects . eq ( 2 ) . selectmenu ( "open" ) ;
81+
82+ strictEqual ( ! ! hasCornerClass ( false , selectButton ) , false ,
83+ "vertical: Last selectmenu does not get corner class when opened" ) ;
84+
85+ selects . eq ( 2 ) . selectmenu ( "close" ) ;
86+
87+ strictEqual ( selectButton . hasClass ( "ui-corner-bottom" ) , true ,
88+ "vertical: Last selectmenu gets ui-corner-bottom when closed" ) ;
89+ } ) ;
0 commit comments