corrade-http-templates – Blame information for rev 62
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
62 | office | 1 | define( [ |
2 | "qunit", |
||
3 | "jquery", |
||
4 | "./helper", |
||
5 | "ui/widgets/spinner" |
||
6 | ], function( QUnit, $, testHelper ) { |
||
7 | |||
8 | var simulateKeyDownUp = testHelper.simulateKeyDownUp; |
||
9 | |||
10 | QUnit.module( "spinner: methods" ); |
||
11 | |||
12 | QUnit.test( "destroy", function( assert ) { |
||
13 | assert.expect( 1 ); |
||
14 | assert.domEqual( "#spin", function() { |
||
15 | $( "#spin" ).spinner().spinner( "destroy" ); |
||
16 | } ); |
||
17 | } ); |
||
18 | |||
19 | QUnit.test( "disable", function( assert ) { |
||
20 | assert.expect( 15 ); |
||
21 | var element = $( "#spin" ).val( 2 ).spinner(), |
||
22 | wrapper = $( "#spin" ).spinner( "widget" ); |
||
23 | |||
24 | assert.lacksClasses( wrapper, "ui-spinner-disabled" ); |
||
25 | assert.ok( !element.is( ":disabled" ), "before: input does not have disabled attribute" ); |
||
26 | |||
27 | element.spinner( "disable" ); |
||
28 | assert.hasClasses( wrapper, "ui-state-disabled ui-spinner-disabled" ); |
||
29 | assert.ok( !wrapper.attr( "aria-disabled" ), "after: wrapper does not have aria-disabled attr" ); |
||
30 | assert.ok( element.is( ":disabled" ), "after: input has disabled attribute" ); |
||
31 | |||
32 | simulateKeyDownUp( element, $.ui.keyCode.UP ); |
||
33 | assert.equal( 2, element.val(), "keyboard - value does not change on key UP" ); |
||
34 | |||
35 | simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
||
36 | assert.equal( 2, element.val(), "keyboard - value does not change on key DOWN" ); |
||
37 | |||
38 | simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
||
39 | assert.equal( 2, element.val(), "keyboard - value does not change on key PGUP" ); |
||
40 | |||
41 | simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
||
42 | assert.equal( 2, element.val(), "keyboard - value does not change on key PGDN" ); |
||
43 | |||
44 | wrapper.find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
45 | assert.equal( 2, element.val(), "mouse - value does not change on clicking up button" ); |
||
46 | |||
47 | wrapper.find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
48 | assert.equal( 2, element.val(), "mouse - value does not change on clicking down button" ); |
||
49 | |||
50 | element.spinner( "stepUp", 6 ); |
||
51 | assert.equal( 8, element.val(), "script - stepUp 6 steps changes value" ); |
||
52 | |||
53 | element.spinner( "stepDown" ); |
||
54 | assert.equal( 7, element.val(), "script - stepDown 1 step changes value" ); |
||
55 | |||
56 | element.spinner( "pageUp" ); |
||
57 | assert.equal( 17, element.val(), "script - pageUp 1 page changes value" ); |
||
58 | |||
59 | element.spinner( "pageDown" ); |
||
60 | assert.equal( 7, element.val(), "script - pageDown 1 page changes value" ); |
||
61 | } ); |
||
62 | |||
63 | QUnit.test( "enable", function( assert ) { |
||
64 | assert.expect( 5 ); |
||
65 | var element = $( "#spin" ).val( 1 ).spinner( { disabled: true } ), |
||
66 | wrapper = element.spinner( "widget" ); |
||
67 | |||
68 | assert.hasClasses( wrapper, "ui-spinner-disabled" ); |
||
69 | assert.ok( element.is( ":disabled" ), "before: input has disabled attribute" ); |
||
70 | |||
71 | element.spinner( "enable" ); |
||
72 | |||
73 | assert.lacksClasses( wrapper, "ui-spinner-disabled" ); |
||
74 | assert.ok( !element.is( ":disabled" ), "after: input does not have disabled attribute" ); |
||
75 | |||
76 | simulateKeyDownUp( element, $.ui.keyCode.UP ); |
||
77 | assert.equal( 2, element.val(), "keyboard - value changes on key UP" ); |
||
78 | } ); |
||
79 | |||
80 | QUnit.test( "isValid", function( assert ) { |
||
81 | assert.expect( 8 ); |
||
82 | var element = $( "#spin" ).spinner( { |
||
83 | min: 0, |
||
84 | max: 10, |
||
85 | step: 2 |
||
86 | } ), |
||
87 | spinner = element.spinner( "instance" ); |
||
88 | assert.ok( !spinner.isValid(), "initial state is invalid" ); |
||
89 | |||
90 | element.val( "this is not a number" ); |
||
91 | assert.ok( !spinner.isValid(), "text string is not valid" ); |
||
92 | |||
93 | element.val( "0" ); |
||
94 | assert.ok( spinner.isValid(), "min value is valid" ); |
||
95 | |||
96 | element.val( "10" ); |
||
97 | assert.ok( spinner.isValid(), "max value is valid" ); |
||
98 | |||
99 | element.val( "4" ); |
||
100 | assert.ok( spinner.isValid(), "inbetween step is valid" ); |
||
101 | |||
102 | element.val( "-1" ); |
||
103 | assert.ok( !spinner.isValid(), "below min is invalid" ); |
||
104 | |||
105 | element.val( "11" ); |
||
106 | assert.ok( !spinner.isValid(), "above max is invalid" ); |
||
107 | |||
108 | element.val( "1" ); |
||
109 | assert.ok( !spinner.isValid(), "step mismatch is invalid" ); |
||
110 | } ); |
||
111 | |||
112 | QUnit.test( "pageDown", function( assert ) { |
||
113 | assert.expect( 4 ); |
||
114 | var element = $( "#spin" ).val( -12 ).spinner( { |
||
115 | page: 20, |
||
116 | min: -100 |
||
117 | } ); |
||
118 | |||
119 | element.spinner( "pageDown" ); |
||
120 | assert.equal( element.val(), -32, "pageDown 1 page" ); |
||
121 | |||
122 | element.spinner( "pageDown", 3 ); |
||
123 | assert.equal( element.val(), -92, "pageDown 3 pages" ); |
||
124 | |||
125 | element.spinner( "pageDown" ); |
||
126 | assert.equal( element.val(), -100, "value close to min and pageDown 1 page" ); |
||
127 | |||
128 | element.spinner( "pageDown", 10 ); |
||
129 | assert.equal( element.val(), -100, "value at min and pageDown 10 pages" ); |
||
130 | } ); |
||
131 | |||
132 | QUnit.test( "pageUp", function( assert ) { |
||
133 | assert.expect( 4 ); |
||
134 | var element = $( "#spin" ).val( 12 ).spinner( { |
||
135 | page: 20, |
||
136 | max: 100 |
||
137 | } ); |
||
138 | |||
139 | element.spinner( "pageUp" ); |
||
140 | assert.equal( element.val(), 32, "pageUp 1 page" ); |
||
141 | |||
142 | element.spinner( "pageUp", 3 ); |
||
143 | assert.equal( element.val(), 92, "pageUp 3 pages" ); |
||
144 | |||
145 | element.spinner( "pageUp" ); |
||
146 | assert.equal( element.val(), 100, "value close to max and pageUp 1 page" ); |
||
147 | |||
148 | element.spinner( "pageUp", 10 ); |
||
149 | assert.equal( element.val(), 100, "value at max and pageUp 10 pages" ); |
||
150 | } ); |
||
151 | |||
152 | QUnit.test( "stepDown", function( assert ) { |
||
153 | assert.expect( 4 ); |
||
154 | var element = $( "#spin" ).val( 0 ).spinner( { |
||
155 | step: 2, |
||
156 | min: -15 |
||
157 | } ); |
||
158 | |||
159 | element.spinner( "stepDown" ); |
||
160 | assert.equal( element.val(), "-1", "stepDown 1 step" ); |
||
161 | |||
162 | element.spinner( "stepDown", 5 ); |
||
163 | assert.equal( element.val(), "-11", "stepDown 5 steps" ); |
||
164 | |||
165 | element.spinner( "stepDown", 4 ); |
||
166 | assert.equal( element.val(), "-15", "close to min and stepDown 4 steps" ); |
||
167 | |||
168 | element.spinner( "stepDown" ); |
||
169 | assert.equal( element.val(), "-15", "at min and stepDown 1 step" ); |
||
170 | } ); |
||
171 | |||
172 | QUnit.test( "stepUp", function( assert ) { |
||
173 | assert.expect( 4 ); |
||
174 | var element = $( "#spin" ).val( 0 ).spinner( { |
||
175 | step: 2, |
||
176 | max: 16 |
||
177 | } ); |
||
178 | |||
179 | element.spinner( "stepUp" ); |
||
180 | assert.equal( element.val(), 2, "stepUp 1 step" ); |
||
181 | |||
182 | element.spinner( "stepUp", 5 ); |
||
183 | assert.equal( element.val(), 12, "stepUp 5 steps" ); |
||
184 | |||
185 | element.spinner( "stepUp", 4 ); |
||
186 | assert.equal( element.val(), 16, "close to max and stepUp 4 steps" ); |
||
187 | |||
188 | element.spinner( "stepUp" ); |
||
189 | assert.equal( element.val(), 16, "at max and stepUp 1 step" ); |
||
190 | } ); |
||
191 | |||
192 | QUnit.test( "value", function( assert ) { |
||
193 | assert.expect( 2 ); |
||
194 | var element = $( "#spin" ).val( 0 ).spinner( { |
||
195 | step: 3 |
||
196 | } ); |
||
197 | |||
198 | element.spinner( "value", 10 ); |
||
199 | assert.equal( element.val(), 9, "change value via value method" ); |
||
200 | |||
201 | assert.equal( element.spinner( "value" ), 9, "get value via value method" ); |
||
202 | } ); |
||
203 | |||
204 | QUnit.test( "widget", function( assert ) { |
||
205 | assert.expect( 2 ); |
||
206 | var element = $( "#spin" ).spinner(), |
||
207 | widgetElement = element.spinner( "widget" ); |
||
208 | assert.equal( widgetElement.length, 1, "one element" ); |
||
209 | assert.strictEqual( widgetElement[ 0 ], element.parent()[ 0 ], "parent element" ); |
||
210 | } ); |
||
211 | |||
212 | } ); |