@@ -83,6 +83,7 @@ describe('useColorWheel', () => {
83
83
expect ( slider ) . toHaveAttribute ( 'min' , '0' ) ;
84
84
expect ( slider ) . toHaveAttribute ( 'max' , '360' ) ;
85
85
expect ( slider ) . toHaveAttribute ( 'step' , '1' ) ;
86
+ expect ( slider ) . toHaveAttribute ( 'value' , '0' ) ;
86
87
} ) ;
87
88
88
89
it ( 'the slider is focusable' , ( ) => {
@@ -132,9 +133,11 @@ describe('useColorWheel', () => {
132
133
fireEvent . keyDown ( slider , { key : 'Right' } ) ;
133
134
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
134
135
expect ( onChangeSpy . mock . calls [ 0 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 1 ) . toString ( 'hsla' ) ) ;
136
+ expect ( slider ) . toHaveAttribute ( 'value' , '1' ) ;
135
137
fireEvent . keyDown ( slider , { key : 'Left' } ) ;
136
138
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 2 ) ;
137
139
expect ( onChangeSpy . mock . calls [ 1 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 0 ) . toString ( 'hsla' ) ) ;
140
+ expect ( slider ) . toHaveAttribute ( 'value' , '0' ) ;
138
141
} ) ;
139
142
140
143
it ( 'up/down works' , ( ) => {
@@ -146,9 +149,11 @@ describe('useColorWheel', () => {
146
149
fireEvent . keyDown ( slider , { key : 'Up' } ) ;
147
150
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
148
151
expect ( onChangeSpy . mock . calls [ 0 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 1 ) . toString ( 'hsla' ) ) ;
152
+ expect ( slider ) . toHaveAttribute ( 'value' , '1' ) ;
149
153
fireEvent . keyDown ( slider , { key : 'Down' } ) ;
150
154
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 2 ) ;
151
155
expect ( onChangeSpy . mock . calls [ 1 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 0 ) . toString ( 'hsla' ) ) ;
156
+ expect ( slider ) . toHaveAttribute ( 'value' , '0' ) ;
152
157
} ) ;
153
158
154
159
it ( 'doesn\'t work when disabled' , ( ) => {
@@ -172,6 +177,7 @@ describe('useColorWheel', () => {
172
177
fireEvent . keyDown ( slider , { key : 'Left' } ) ;
173
178
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
174
179
expect ( onChangeSpy . mock . calls [ 0 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 359 ) . toString ( 'hsla' ) ) ;
180
+ expect ( slider ) . toHaveAttribute ( 'value' , '359' ) ;
175
181
} ) ;
176
182
177
183
it ( 'respects step' , ( ) => {
@@ -183,9 +189,11 @@ describe('useColorWheel', () => {
183
189
fireEvent . keyDown ( slider , { key : 'Right' } ) ;
184
190
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
185
191
expect ( onChangeSpy . mock . calls [ 0 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 45 ) . toString ( 'hsla' ) ) ;
192
+ expect ( slider ) . toHaveAttribute ( 'value' , '45' ) ;
186
193
fireEvent . keyDown ( slider , { key : 'Left' } ) ;
187
194
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 2 ) ;
188
195
expect ( onChangeSpy . mock . calls [ 1 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 0 ) . toString ( 'hsla' ) ) ;
196
+ expect ( slider ) . toHaveAttribute ( 'value' , '0' ) ;
189
197
} ) ;
190
198
191
199
it ( 'can always get back to 0 even with step' , ( ) => {
@@ -197,9 +205,11 @@ describe('useColorWheel', () => {
197
205
fireEvent . keyDown ( slider , { key : 'Right' } ) ;
198
206
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
199
207
expect ( onChangeSpy . mock . calls [ 0 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 0 ) . toString ( 'hsla' ) ) ;
208
+ expect ( slider ) . toHaveAttribute ( 'value' , '0' ) ;
200
209
fireEvent . keyDown ( slider , { key : 'Left' } ) ;
201
210
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 2 ) ;
202
211
expect ( onChangeSpy . mock . calls [ 1 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 330 ) . toString ( 'hsla' ) ) ;
212
+ expect ( slider ) . toHaveAttribute ( 'value' , '330' ) ;
203
213
} ) ;
204
214
205
215
it ( 'steps with page up/down' , ( ) => {
@@ -211,9 +221,11 @@ describe('useColorWheel', () => {
211
221
fireEvent . keyDown ( slider , { key : 'PageUp' } ) ;
212
222
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
213
223
expect ( onChangeSpy . mock . calls [ 0 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 6 ) . toString ( 'hsla' ) ) ;
224
+ expect ( slider ) . toHaveAttribute ( 'value' , '6' ) ;
214
225
fireEvent . keyDown ( slider , { key : 'PageDown' } ) ;
215
226
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 2 ) ;
216
227
expect ( onChangeSpy . mock . calls [ 1 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 0 ) . toString ( 'hsla' ) ) ;
228
+ expect ( slider ) . toHaveAttribute ( 'value' , '0' ) ;
217
229
} ) ;
218
230
} ) ;
219
231
@@ -254,6 +266,7 @@ describe('useColorWheel', () => {
254
266
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
255
267
expect ( onChangeSpy . mock . calls [ 0 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 90 ) . toString ( 'hsla' ) ) ;
256
268
expect ( document . activeElement ) . toBe ( slider ) ;
269
+ expect ( slider ) . toHaveAttribute ( 'value' , '90' ) ;
257
270
258
271
end ( thumb , { pageX : CENTER , pageY : CENTER + THUMB_RADIUS } ) ;
259
272
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
@@ -284,8 +297,9 @@ describe('useColorWheel', () => {
284
297
285
298
it ( 'dragging the thumb respects the step' , ( ) => {
286
299
let defaultColor = parseColor ( 'hsl(0, 100%, 50%)' ) ;
287
- let { getByTestId} = render ( < ColorWheel defaultValue = { defaultColor } onChange = { onChangeSpy } step = { 120 } /> ) ;
300
+ let { getByRole , getByTestId} = render ( < ColorWheel defaultValue = { defaultColor } onChange = { onChangeSpy } step = { 120 } /> ) ;
288
301
let thumb = getByTestId ( 'thumb' ) ;
302
+ let slider = getByRole ( 'slider' ) ;
289
303
let container = getByTestId ( 'container' ) ;
290
304
container . getBoundingClientRect = getBoundingClientRect ;
291
305
@@ -294,6 +308,7 @@ describe('useColorWheel', () => {
294
308
move ( thumb , { pageX : CENTER , pageY : CENTER + THUMB_RADIUS } ) ;
295
309
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
296
310
expect ( onChangeSpy . mock . calls [ 0 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 120 ) . toString ( 'hsla' ) ) ;
311
+ expect ( slider ) . toHaveAttribute ( 'value' , '120' ) ;
297
312
end ( thumb , { pageX : CENTER , pageY : CENTER + THUMB_RADIUS } ) ;
298
313
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
299
314
} ) ;
@@ -310,11 +325,13 @@ describe('useColorWheel', () => {
310
325
start ( container , { pageX : CENTER , pageY : CENTER + THUMB_RADIUS } ) ;
311
326
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
312
327
expect ( onChangeSpy . mock . calls [ 0 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 90 ) . toString ( 'hsla' ) ) ;
328
+ expect ( slider ) . toHaveAttribute ( 'value' , '90' ) ;
313
329
expect ( document . activeElement ) . toBe ( slider ) ;
314
330
315
331
move ( thumb , { pageX : CENTER - THUMB_RADIUS , pageY : CENTER } ) ;
316
332
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 2 ) ;
317
333
expect ( onChangeSpy . mock . calls [ 1 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 180 ) . toString ( 'hsla' ) ) ;
334
+ expect ( slider ) . toHaveAttribute ( 'value' , '180' ) ;
318
335
expect ( document . activeElement ) . toBe ( slider ) ;
319
336
320
337
end ( thumb , { pageX : CENTER - THUMB_RADIUS , pageY : CENTER } ) ;
@@ -345,17 +362,20 @@ describe('useColorWheel', () => {
345
362
346
363
it ( 'clicking and dragging on the track respects the step' , ( ) => {
347
364
let defaultColor = parseColor ( 'hsl(0, 100%, 50%)' ) ;
348
- let { getByTestId} = render ( < ColorWheel defaultValue = { defaultColor } onChange = { onChangeSpy } step = { 120 } /> ) ;
365
+ let { getByRole , getByTestId} = render ( < ColorWheel defaultValue = { defaultColor } onChange = { onChangeSpy } step = { 120 } /> ) ;
349
366
let thumb = getByTestId ( 'thumb' ) ;
367
+ let slider = getByRole ( 'slider' ) ;
350
368
let container = getByTestId ( 'container' ) ;
351
369
container . getBoundingClientRect = getBoundingClientRect ;
352
370
353
371
start ( container , { pageX : CENTER , pageY : CENTER + THUMB_RADIUS } ) ;
354
372
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
355
373
expect ( onChangeSpy . mock . calls [ 0 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 120 ) . toString ( 'hsla' ) ) ;
374
+ expect ( slider ) . toHaveAttribute ( 'value' , '120' ) ;
356
375
move ( thumb , { pageX : CENTER , pageY : CENTER - THUMB_RADIUS } ) ;
357
376
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 2 ) ;
358
377
expect ( onChangeSpy . mock . calls [ 1 ] [ 0 ] . toString ( 'hsla' ) ) . toBe ( defaultColor . withChannelValue ( 'hue' , 240 ) . toString ( 'hsla' ) ) ;
378
+ expect ( slider ) . toHaveAttribute ( 'value' , '240' ) ;
359
379
end ( thumb , { pageX : CENTER , pageY : CENTER - THUMB_RADIUS } ) ;
360
380
expect ( onChangeSpy ) . toHaveBeenCalledTimes ( 2 ) ;
361
381
} ) ;
0 commit comments