corrade-http-templates – Blame information for rev 57

Subversion Repositories:
Rev:
Rev Author Line No. Line
57 office 1 define( [
2 "qunit",
3 "jquery",
4 "ui/widgets/selectmenu"
5 ], function( QUnit, $ ) {
6  
7 QUnit.module( "selectmenu: options" );
8  
9 QUnit.test( "appendTo: null", function( assert ) {
10 assert.expect( 1 );
11  
12 var element = $( "#speed" ).selectmenu();
13 assert.equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], document.body,
14 "defaults to body" );
15 } );
16  
17 QUnit.test( "appendTo: explicit", function( assert ) {
18 assert.expect( 6 );
19  
20 var detached = $( "<div>" ),
21 element = $( "#speed" );
22  
23 element.selectmenu( {
24 appendTo: ".selectmenu-wrap"
25 } );
26 assert.equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ],
27 $( "#selectmenu-wrap1" )[ 0 ], "first found element" );
28 assert.equal( $( "#selectmenu-wrap2 .ui-selectmenu" ).length, 0, "only appends to one element" );
29 element.selectmenu( "destroy" );
30  
31 element.selectmenu().selectmenu( "option", "appendTo", "#selectmenu-wrap1" );
32 assert.equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ],
33 $( "#selectmenu-wrap1" )[ 0 ], "modified after init" );
34 element.selectmenu( "destroy" );
35  
36 element.selectmenu( {
37 appendTo: detached
38 } );
39 assert.equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], detached[ 0 ],
40 "detached jQuery object" );
41 element.selectmenu( "destroy" );
42  
43 element.selectmenu( {
44 appendTo: detached[ 0 ]
45 } );
46 assert.equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], detached[ 0 ],
47 "detached DOM element" );
48 element.selectmenu( "destroy" );
49  
50 element.selectmenu().selectmenu( "option", "appendTo", detached );
51 assert.equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], detached[ 0 ],
52 "detached DOM element via option()" );
53 element.selectmenu( "destroy" );
54 } );
55  
56 QUnit.test( "appendTo: ui-front", function( assert ) {
57 assert.expect( 2 );
58  
59 var element = $( "#speed" );
60  
61 $( "#selectmenu-wrap2" ).addClass( "ui-front" );
62 element.selectmenu();
63 assert.equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ],
64 $( "#selectmenu-wrap2" )[ 0 ], "null, inside .ui-front" );
65 element.selectmenu( "destroy" );
66  
67 element.selectmenu( {
68 appendTo: $()
69 } );
70 assert.equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ],
71 $( "#selectmenu-wrap2" )[ 0 ], "empty jQuery object, inside .ui-front" );
72 } );
73  
74 QUnit.test( "CSS styles", function( assert ) {
75 assert.expect( 5 );
76  
77 var element = $( "#speed" ).selectmenu(),
78 button = element.selectmenu( "widget" ),
79 menu = element.selectmenu( "menuWidget" );
80  
81 element.selectmenu( "open" );
82  
83 assert.hasClasses( button, "ui-corner-top" );
84 assert.lacksClasses( button, "ui-corner-all" );
85 assert.hasClasses( button.find( "span.ui-icon" ), "ui-icon-triangle-1-s" );
86 assert.hasClasses( menu, "ui-corner-bottom" );
87 assert.lacksClasses( button, "ui-corner-all" );
88 } );
89  
90 QUnit.test( "width", function( assert ) {
91 assert.expect( 6 );
92  
93 var button,
94 element = $( "#speed" );
95  
96 element.selectmenu();
97 button = element.selectmenu( "widget" );
98  
99 assert.equal( button[ 0 ].style.width, "", "no inline style" );
100  
101 element.selectmenu( "option", "width", null );
102 assert.equal( button.outerWidth(), element.outerWidth(), "button width auto" );
103  
104 element.outerWidth( 100 );
105 element.selectmenu( "refresh" );
106 assert.equal( button.outerWidth(), 100, "button width set by CSS" );
107  
108 element
109 .width( "" )
110 .selectmenu( "option", "width", 100 )
111 .selectmenu( "refresh" );
112 assert.equal( button.outerWidth(), 100, "button width set by JS option" );
113  
114 element
115 .append( $( "<option>", { text: "Option with a little longer text" } ) )
116 .selectmenu( "option", "width", null )
117 .selectmenu( "refresh" );
118 assert.equal( button.outerWidth(), element.outerWidth(), "button width with long option" );
119  
120 element.parent().outerWidth( 300 );
121 element
122 .selectmenu( "destroy" )
123 .css( "width", "100%" )
124 .selectmenu( { width: null } );
125 button = element.selectmenu( "widget" );
126 assert.equal( button.outerWidth(), 300, "button width fills container" );
127 } );
128  
129 } );