1
1
var Plotly = require ( '@lib/index' ) ;
2
2
var Lib = require ( '@src/lib' ) ;
3
+
3
4
var RangeSlider = require ( '@src/components/rangeslider' ) ;
5
+ var constants = require ( '@src/components/rangeslider/constants' ) ;
6
+
4
7
var createGraphDiv = require ( '../assets/create_graph_div' ) ;
5
8
var destroyGraphDiv = require ( '../assets/destroy_graph_div' ) ;
6
9
var mock = require ( '../../image/mocks/range_slider.json' ) ;
7
10
var mouseEvent = require ( '../assets/mouse_event' ) ;
8
11
12
+
9
13
describe ( 'the range slider' , function ( ) {
10
14
11
15
var gd ,
@@ -14,6 +18,12 @@ describe('the range slider', function() {
14
18
15
19
var sliderY = 393 ;
16
20
21
+ function getRangeSlider ( ) {
22
+ var className = constants . containerClassName ;
23
+ return document . getElementsByClassName ( className ) [ 0 ] ;
24
+ }
25
+
26
+
17
27
describe ( 'when specified as visible' , function ( ) {
18
28
19
29
beforeEach ( function ( done ) {
@@ -22,8 +32,9 @@ describe('the range slider', function() {
22
32
var mockCopy = Lib . extendDeep ( { } , mock ) ;
23
33
24
34
Plotly . plot ( gd , mockCopy . data , mockCopy . layout ) . then ( function ( ) {
25
- rangeSlider = document . getElementsByClassName ( 'range-slider' ) [ 0 ] ;
35
+ rangeSlider = getRangeSlider ( ) ;
26
36
children = rangeSlider . children ;
37
+
27
38
done ( ) ;
28
39
} ) ;
29
40
} ) ;
@@ -65,14 +76,14 @@ describe('the range slider', function() {
65
76
66
77
expect ( rangeSlider . getAttribute ( 'data-min' ) ) . toEqual ( String ( + dataMinStart + diff ) ) ;
67
78
expect ( maskMin . getAttribute ( 'width' ) ) . toEqual ( String ( diff ) ) ;
68
- expect ( handleMin . getAttribute ( 'transform' ) ) . toBe ( 'translate(' + ( diff - 3 ) + ')' ) ;
79
+ expect ( handleMin . getAttribute ( 'transform' ) ) . toBe ( 'translate(' + ( diff - 3 ) + ',0 )' ) ;
69
80
} ) . then ( done ) ;
70
81
} ) ;
71
82
72
83
function testTranslate1D ( node , val ) {
73
84
var transformParts = node . getAttribute ( 'transform' ) . split ( '(' ) ;
74
85
expect ( transformParts [ 0 ] ) . toEqual ( 'translate' ) ;
75
- expect ( + transformParts [ 1 ] . split ( ')' ) [ 0 ] ) . toBeCloseTo ( val , 0 ) ;
86
+ expect ( + transformParts [ 1 ] . split ( ',0 )' ) [ 0 ] ) . toBeCloseTo ( val , 0 ) ;
76
87
}
77
88
78
89
it ( 'should react to resizing the maximum handle' , function ( done ) {
@@ -177,7 +188,7 @@ describe('the range slider', function() {
177
188
it ( 'should not add the slider to the DOM by default' , function ( done ) {
178
189
Plotly . plot ( gd , [ { x : [ 1 , 2 , 3 ] , y : [ 2 , 3 , 4 ] } ] , { } )
179
190
. then ( function ( ) {
180
- var rangeSlider = document . getElementsByClassName ( 'range-slider' ) [ 0 ] ;
191
+ var rangeSlider = getRangeSlider ( ) ;
181
192
expect ( rangeSlider ) . not . toBeDefined ( ) ;
182
193
} )
183
194
. then ( done ) ;
@@ -187,7 +198,7 @@ describe('the range slider', function() {
187
198
Plotly . plot ( gd , [ { x : [ 1 , 2 , 3 ] , y : [ 2 , 3 , 4 ] } ] , { } )
188
199
. then ( function ( ) { Plotly . relayout ( gd , 'xaxis.rangeslider' , 'exists' ) ; } )
189
200
. then ( function ( ) {
190
- var rangeSlider = document . getElementsByClassName ( 'range-slider' ) [ 0 ] ;
201
+ var rangeSlider = getRangeSlider ( ) ;
191
202
expect ( rangeSlider ) . toBeDefined ( ) ;
192
203
} )
193
204
. then ( done ) ;
@@ -197,7 +208,7 @@ describe('the range slider', function() {
197
208
Plotly . plot ( gd , [ { x : [ 1 , 2 , 3 ] , y : [ 2 , 3 , 4 ] } ] , { } )
198
209
. then ( function ( ) { Plotly . relayout ( gd , 'xaxis.rangeslider.visible' , true ) ; } )
199
210
. then ( function ( ) {
200
- var rangeSlider = document . getElementsByClassName ( 'range-slider' ) [ 0 ] ;
211
+ var rangeSlider = getRangeSlider ( ) ;
201
212
expect ( rangeSlider ) . toBeDefined ( ) ;
202
213
} )
203
214
. then ( done ) ;
@@ -207,7 +218,7 @@ describe('the range slider', function() {
207
218
Plotly . plot ( gd , [ { x : [ 1 , 2 , 3 ] , y : [ 2 , 3 , 4 ] } ] , { xaxis : { rangeslider : { visible : true } } } )
208
219
. then ( function ( ) { Plotly . relayout ( gd , 'xaxis.rangeslider.visible' , false ) ; } )
209
220
. then ( function ( ) {
210
- var rangeSlider = document . getElementsByClassName ( 'range-slider' ) [ 0 ] ;
221
+ var rangeSlider = getRangeSlider ( ) ;
211
222
expect ( rangeSlider ) . not . toBeDefined ( ) ;
212
223
} )
213
224
. then ( done ) ;
@@ -252,13 +263,14 @@ describe('the range slider', function() {
252
263
thickness : 0.15 ,
253
264
bgcolor : '#fff' ,
254
265
borderwidth : 0 ,
255
- bordercolor : '#444'
266
+ bordercolor : '#444' ,
267
+ _input : layoutIn . xaxis . rangeslider
256
268
} ,
257
269
_needsExpand : true
258
270
} ,
259
271
yaxis : {
260
272
fixedrange : true
261
- }
273
+ } ,
262
274
} ;
263
275
264
276
RangeSlider . handleDefaults ( layoutIn , layoutOut , axName , counterAxes ) ;
@@ -278,7 +290,8 @@ describe('the range slider', function() {
278
290
thickness : 0.15 ,
279
291
bgcolor : '#fff' ,
280
292
borderwidth : 0 ,
281
- bordercolor : '#444'
293
+ bordercolor : '#444' ,
294
+ _input : layoutIn . xaxis . rangeslider
282
295
} ,
283
296
_needsExpand : true
284
297
} ,
@@ -310,7 +323,8 @@ describe('the range slider', function() {
310
323
thickness : 0.15 ,
311
324
bgcolor : '#fff' ,
312
325
borderwidth : 0 ,
313
- bordercolor : '#444'
326
+ bordercolor : '#444' ,
327
+ _input : layoutIn . xaxis . rangeslider
314
328
} ,
315
329
_needsExpand : true
316
330
} ,
@@ -336,7 +350,8 @@ describe('the range slider', function() {
336
350
thickness : 0.15 ,
337
351
bgcolor : '#fff' ,
338
352
borderwidth : 0 ,
339
- bordercolor : '#444'
353
+ bordercolor : '#444' ,
354
+ _input : { }
340
355
} ,
341
356
_needsExpand : true
342
357
} ,
@@ -362,7 +377,8 @@ describe('the range slider', function() {
362
377
bgcolor : '#fff' ,
363
378
borderwidth : 0 ,
364
379
bordercolor : '#444' ,
365
- range : [ 1 , 10 ]
380
+ range : [ 1 , 10 ] ,
381
+ _input : layoutIn . xaxis . rangeslider
366
382
} ,
367
383
range : [ 1 , 10 ]
368
384
} ,
@@ -386,7 +402,8 @@ describe('the range slider', function() {
386
402
thickness : 0.15 ,
387
403
bgcolor : '#fff' ,
388
404
borderwidth : 0 ,
389
- bordercolor : '#444'
405
+ bordercolor : '#444' ,
406
+ _input : { }
390
407
} ,
391
408
range : [ 2 , 40 ] ,
392
409
_needsExpand : true
@@ -411,19 +428,19 @@ describe('the range slider', function() {
411
428
it ( 'should plot when only x data is provided' , function ( done ) {
412
429
Plotly . plot ( gd , [ { x : [ 1 , 2 , 3 ] } ] , { xaxis : { rangeslider : { } } } )
413
430
. then ( function ( ) {
414
- var rangeslider = document . getElementsByClassName ( 'range-slider' ) ;
431
+ var rangeSlider = getRangeSlider ( ) ;
415
432
416
- expect ( rangeslider . length ) . toBe ( 1 ) ;
433
+ expect ( rangeSlider ) . toBeDefined ( ) ;
417
434
} )
418
435
. then ( done ) ;
419
436
} ) ;
420
437
421
438
it ( 'should plot when only y data is provided' , function ( done ) {
422
439
Plotly . plot ( gd , [ { y : [ 1 , 2 , 3 ] } ] , { xaxis : { rangeslider : { } } } )
423
440
. then ( function ( ) {
424
- var rangeslider = document . getElementsByClassName ( 'range-slider' ) ;
441
+ var rangeSlider = getRangeSlider ( ) ;
425
442
426
- expect ( rangeslider . length ) . toBe ( 1 ) ;
443
+ expect ( rangeSlider ) . toBeDefined ( ) ;
427
444
} )
428
445
. then ( done ) ;
429
446
} ) ;
0 commit comments