corrade-http-templates – Blame information for rev 57
?pathlinks?
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 | } ); |