and a note on manual changes in dataTables.bootstrap.css
[myslice.git] / third-party / jquery-ui-1.10.2 / tests / unit / spinner / spinner_methods.js
1 (function( $ ) {
2
3 var simulateKeyDownUp = TestHelpers.spinner.simulateKeyDownUp;
4
5 module( "spinner: methods" );
6
7 test( "destroy", function() {
8         expect( 1 );
9         domEqual( "#spin", function() {
10                 $( "#spin" ).spinner().spinner( "destroy" );
11         });
12 });
13
14 test( "disable", function() {
15         expect( 14 );
16         var element = $( "#spin" ).val( 2 ).spinner(),
17                 wrapper = $( "#spin" ).spinner( "widget" );
18
19         ok( !wrapper.hasClass( "ui-spinner-disabled" ), "before: wrapper does not have ui-spinner-disabled class" );
20         ok( !element.is( ":disabled" ), "before: input does not have disabled attribute" );
21
22         element.spinner( "disable" );
23         ok( wrapper.hasClass( "ui-spinner-disabled" ), "after: wrapper has ui-spinner-disabled class" );
24         ok( element.is( ":disabled"), "after: input has disabled attribute" );
25
26         simulateKeyDownUp( element, $.ui.keyCode.UP );
27         equal( 2, element.val(), "keyboard - value does not change on key UP" );
28
29         simulateKeyDownUp( element, $.ui.keyCode.DOWN );
30         equal( 2, element.val(), "keyboard - value does not change on key DOWN" );
31
32         simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP );
33         equal( 2, element.val(), "keyboard - value does not change on key PGUP" );
34
35         simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN );
36         equal( 2, element.val(), "keyboard - value does not change on key PGDN" );
37
38         wrapper.find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" );
39         equal( 2, element.val(), "mouse - value does not change on clicking up button" );
40
41         wrapper.find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" );
42         equal( 2, element.val(), "mouse - value does not change on clicking down button" );
43
44         element.spinner( "stepUp", 6 );
45         equal( 8, element.val(), "script - stepUp 6 steps changes value");
46
47         element.spinner( "stepDown" );
48         equal( 7, element.val(), "script - stepDown 1 step changes value" );
49
50         element.spinner( "pageUp" );
51         equal( 17, element.val(), "script - pageUp 1 page changes value" );
52
53         element.spinner( "pageDown" );
54         equal( 7, element.val(), "script - pageDown 1 page changes value" );
55 });
56
57 test( "enable", function() {
58         expect( 5 );
59         var element = $( "#spin" ).val( 1 ).spinner({ disabled: true }),
60                 wrapper = element.spinner( "widget" );
61
62         ok( wrapper.hasClass( "ui-spinner-disabled" ), "before: wrapper has ui-spinner-disabled class" );
63         ok( element.is( ":disabled" ), "before: input has disabled attribute" );
64
65         element.spinner( "enable" );
66
67         ok( !wrapper.hasClass( ".ui-spinner-disabled" ), "after: wrapper does not have ui-spinner-disabled class" );
68         ok( !element.is( ":disabled" ), "after: input does not have disabled attribute" );
69
70         simulateKeyDownUp( element, $.ui.keyCode.UP );
71         equal( 2, element.val(), "keyboard - value changes on key UP" );
72 });
73
74 test( "pageDown", function() {
75         expect( 4 );
76         var element = $( "#spin" ).val( -12 ).spinner({
77                 page: 20,
78                 min: -100
79         });
80
81         element.spinner( "pageDown" );
82         equal( element.val(), -32, "pageDown 1 page" );
83
84         element.spinner( "pageDown", 3 );
85         equal( element.val(), -92, "pageDown 3 pages" );
86
87         element.spinner( "pageDown" );
88         equal( element.val(), -100, "value close to min and pageDown 1 page" );
89
90         element.spinner( "pageDown", 10 );
91         equal( element.val(), -100, "value at min and pageDown 10 pages" );
92 });
93
94 test( "pageUp", function() {
95         expect( 4 );
96         var element = $( "#spin" ).val( 12 ).spinner({
97                 page: 20,
98                 max: 100
99         });
100
101         element.spinner( "pageUp" );
102         equal( element.val(), 32, "pageUp 1 page" );
103
104         element.spinner( "pageUp", 3 );
105         equal( element.val(), 92, "pageUp 3 pages" );
106
107         element.spinner( "pageUp" );
108         equal( element.val(), 100, "value close to max and pageUp 1 page" );
109
110         element.spinner( "pageUp", 10 );
111         equal( element.val(), 100, "value at max and pageUp 10 pages" );
112 });
113
114 test( "stepDown", function() {
115         expect( 4 );
116         var element = $( "#spin" ).val( 0 ).spinner({
117                 step: 2,
118                 min: -15
119         });
120
121         element.spinner( "stepDown" );
122         equal( element.val(), "-1", "stepDown 1 step" );
123
124         element.spinner( "stepDown", 5 );
125         equal( element.val(), "-11", "stepDown 5 steps" );
126
127         element.spinner( "stepDown", 4 );
128         equal( element.val(), "-15", "close to min and stepDown 4 steps" );
129
130         element.spinner( "stepDown" );
131         equal( element.val(), "-15", "at min and stepDown 1 step" );
132 });
133
134 test( "stepUp", function() {
135         expect( 4 );
136         var element = $( "#spin" ).val( 0 ).spinner({
137                 step: 2,
138                 max: 16
139         });
140
141         element.spinner( "stepUp" );
142         equal( element.val(), 2, "stepUp 1 step" );
143
144         element.spinner( "stepUp", 5 );
145         equal( element.val(), 12, "stepUp 5 steps" );
146
147         element.spinner( "stepUp", 4 );
148         equal( element.val(), 16, "close to min and stepUp 4 steps" );
149
150         element.spinner( "stepUp" );
151         equal( element.val(), 16, "at max and stepUp 1 step" );
152 });
153
154 test( "value", function() {
155         expect( 2 );
156         var element = $( "#spin" ).val( 0 ).spinner({
157                 step: 3
158         });
159
160         element.spinner( "value", 10 );
161         equal( element.val(), 9, "change value via value method" );
162
163         equal( element.spinner( "value" ), 9, "get value via value method" );
164 });
165
166 test( "widget", function() {
167         expect( 2 );
168         var element = $( "#spin" ).spinner(),
169                 widgetElement = element.spinner( "widget" );
170         equal( widgetElement.length, 1, "one element" );
171         strictEqual( widgetElement[ 0 ], element.parent()[ 0 ], "parent element" );
172 });
173
174 })( jQuery );