@@ -336,13 +336,17 @@ describe('the range slider', function() {
336
336
337
337
describe ( 'handleDefaults function' , function ( ) {
338
338
339
+ function _supply ( layoutIn , layoutOut , axName ) {
340
+ setConvert ( layoutOut [ axName ] ) ;
341
+ RangeSlider . handleDefaults ( layoutIn , layoutOut , axName ) ;
342
+ }
343
+
339
344
it ( 'should not coerce anything if rangeslider isn\'t set' , function ( ) {
340
345
var layoutIn = { xaxis : { } } ,
341
346
layoutOut = { xaxis : { } } ,
342
347
expected = { xaxis : { } } ;
343
348
344
- RangeSlider . handleDefaults ( layoutIn , layoutOut , 'xaxis' ) ;
345
-
349
+ _supply ( layoutIn , layoutOut , 'xaxis' ) ;
346
350
expect ( layoutIn ) . toEqual ( expected ) ;
347
351
} ) ;
348
352
@@ -351,53 +355,45 @@ describe('the range slider', function() {
351
355
layoutOut = { xaxis : { rangeslider : { } } } ,
352
356
expected = { xaxis : { rangeslider : { visible : true } } } ;
353
357
354
- RangeSlider . handleDefaults ( layoutIn , layoutOut , 'xaxis' ) ;
355
-
358
+ _supply ( layoutIn , layoutOut , 'xaxis' ) ;
356
359
expect ( layoutIn ) . toEqual ( expected ) ;
357
360
} ) ;
358
361
359
362
it ( 'should set defaults if rangeslider is set to anything truthy' , function ( ) {
360
363
var layoutIn = { xaxis : { rangeslider : { } } } ,
361
364
layoutOut = { xaxis : { } } ,
362
365
expected = {
363
- xaxis : {
364
- rangeslider : {
365
- visible : true ,
366
- thickness : 0.15 ,
367
- bgcolor : '#fff' ,
368
- borderwidth : 0 ,
369
- bordercolor : '#444' ,
370
- _input : layoutIn . xaxis . rangeslider
371
- } ,
372
- _needsExpand : true
373
- }
366
+ visible : true ,
367
+ autorange : true ,
368
+ range : [ - 1 , 6 ] ,
369
+ thickness : 0.15 ,
370
+ bgcolor : '#fff' ,
371
+ borderwidth : 0 ,
372
+ bordercolor : '#444' ,
373
+ _input : layoutIn . xaxis . rangeslider
374
374
} ;
375
375
376
- RangeSlider . handleDefaults ( layoutIn , layoutOut , 'xaxis' ) ;
377
-
378
- expect ( layoutOut ) . toEqual ( expected ) ;
376
+ _supply ( layoutIn , layoutOut , 'xaxis' ) ;
377
+ expect ( layoutOut . xaxis . rangeslider ) . toEqual ( expected ) ;
379
378
} ) ;
380
379
381
380
it ( 'should set defaults if rangeslider.visible is true' , function ( ) {
382
381
var layoutIn = { xaxis : { rangeslider : { visible : true } } } ,
383
382
layoutOut = { xaxis : { rangeslider : { } } } ,
384
383
expected = {
385
- xaxis : {
386
- rangeslider : {
387
- visible : true ,
388
- thickness : 0.15 ,
389
- bgcolor : '#fff' ,
390
- borderwidth : 0 ,
391
- bordercolor : '#444' ,
392
- _input : layoutIn . xaxis . rangeslider
393
- } ,
394
- _needsExpand : true
395
- }
384
+ visible : true ,
385
+ autorange : true ,
386
+ range : [ - 1 , 6 ] ,
387
+ thickness : 0.15 ,
388
+ bgcolor : '#fff' ,
389
+ borderwidth : 0 ,
390
+ bordercolor : '#444' ,
391
+ _input : layoutIn . xaxis . rangeslider
396
392
} ;
397
393
398
- RangeSlider . handleDefaults ( layoutIn , layoutOut , 'xaxis' ) ;
394
+ _supply ( layoutIn , layoutOut , 'xaxis' ) ;
395
+ expect ( layoutOut . xaxis . rangeslider ) . toEqual ( expected ) ;
399
396
400
- expect ( layoutOut ) . toEqual ( expected ) ;
401
397
} ) ;
402
398
403
399
it ( 'should set defaults if properties are invalid' , function ( ) {
@@ -410,72 +406,57 @@ describe('the range slider', function() {
410
406
} } } ,
411
407
layoutOut = { xaxis : { } } ,
412
408
expected = {
413
- xaxis : {
414
- rangeslider : {
415
- visible : true ,
416
- thickness : 0.15 ,
417
- bgcolor : '#fff' ,
418
- borderwidth : 0 ,
419
- bordercolor : '#444' ,
420
- _input : layoutIn . xaxis . rangeslider
421
- } ,
422
- _needsExpand : true
423
- }
409
+ visible : true ,
410
+ autorange : true ,
411
+ range : [ - 1 , 6 ] ,
412
+ thickness : 0.15 ,
413
+ bgcolor : '#fff' ,
414
+ borderwidth : 0 ,
415
+ bordercolor : '#444' ,
416
+ _input : layoutIn . xaxis . rangeslider
424
417
} ;
425
418
426
- RangeSlider . handleDefaults ( layoutIn , layoutOut , 'xaxis' ) ;
427
-
428
- expect ( layoutOut ) . toEqual ( expected ) ;
419
+ _supply ( layoutIn , layoutOut , 'xaxis' ) ;
420
+ expect ( layoutOut . xaxis . rangeslider ) . toEqual ( expected ) ;
429
421
} ) ;
430
422
431
423
it ( 'should expand the rangeslider range to axis range' , function ( ) {
432
424
var layoutIn = { xaxis : { rangeslider : { range : [ 5 , 6 ] } } } ,
433
425
layoutOut = { xaxis : { range : [ 1 , 10 ] , type : 'linear' } } ,
434
426
expected = {
435
- xaxis : {
436
- rangeslider : {
437
- visible : true ,
438
- thickness : 0.15 ,
439
- bgcolor : '#fff' ,
440
- borderwidth : 0 ,
441
- bordercolor : '#444' ,
442
- range : [ 1 , 10 ] ,
443
- _input : layoutIn . xaxis . rangeslider
444
- } ,
445
- range : [ 1 , 10 ]
446
- }
427
+ visible : true ,
428
+ autorange : false ,
429
+ range : [ 1 , 10 ] ,
430
+ thickness : 0.15 ,
431
+ bgcolor : '#fff' ,
432
+ borderwidth : 0 ,
433
+ bordercolor : '#444' ,
434
+ _input : layoutIn . xaxis . rangeslider
447
435
} ;
448
436
449
- setConvert ( layoutOut . xaxis ) ;
450
-
451
- RangeSlider . handleDefaults ( layoutIn , layoutOut , 'xaxis' ) ;
437
+ _supply ( layoutIn , layoutOut , 'xaxis' ) ;
452
438
453
439
// don't compare the whole layout, because we had to run setConvert which
454
440
// attaches all sorts of other stuff to xaxis
455
- expect ( layoutOut . xaxis . rangeslider ) . toEqual ( expected . xaxis . rangeslider ) ;
441
+ expect ( layoutOut . xaxis . rangeslider ) . toEqual ( expected ) ;
456
442
} ) ;
457
443
458
- it ( 'should set _needsExpand when an axis range is set ' , function ( ) {
459
- var layoutIn = { xaxis : { rangeslider : true } } ,
460
- layoutOut = { xaxis : { range : [ 2 , 40 ] } } ,
444
+ it ( 'should set autorange to true when range input is invalid ' , function ( ) {
445
+ var layoutIn = { xaxis : { rangeslider : { range : 'not-gonna-work' } } } ,
446
+ layoutOut = { xaxis : { } } ,
461
447
expected = {
462
- xaxis : {
463
- rangeslider : {
464
- visible : true ,
465
- thickness : 0.15 ,
466
- bgcolor : '#fff' ,
467
- borderwidth : 0 ,
468
- bordercolor : '#444' ,
469
- _input : { }
470
- } ,
471
- range : [ 2 , 40 ] ,
472
- _needsExpand : true
473
- } ,
448
+ visible : true ,
449
+ autorange : true ,
450
+ range : [ - 1 , 6 ] ,
451
+ thickness : 0.15 ,
452
+ bgcolor : '#fff' ,
453
+ borderwidth : 0 ,
454
+ bordercolor : '#444' ,
455
+ _input : layoutIn . xaxis . rangeslider
474
456
} ;
475
457
476
- RangeSlider . handleDefaults ( layoutIn , layoutOut , 'xaxis' ) ;
477
-
478
- expect ( layoutOut ) . toEqual ( expected ) ;
458
+ _supply ( layoutIn , layoutOut , 'xaxis' ) ;
459
+ expect ( layoutOut . xaxis . rangeslider ) . toEqual ( expected ) ;
479
460
} ) ;
480
461
481
462
it ( 'should default \'bgcolor\' to layout \'plot_bgcolor\'' , function ( ) {
@@ -488,8 +469,7 @@ describe('the range slider', function() {
488
469
plot_bgcolor : 'blue'
489
470
} ;
490
471
491
- RangeSlider . handleDefaults ( layoutIn , layoutOut , 'xaxis' ) ;
492
-
472
+ _supply ( layoutIn , layoutOut , 'xaxis' ) ;
493
473
expect ( layoutOut . xaxis . rangeslider . bgcolor ) . toEqual ( 'blue' ) ;
494
474
} ) ;
495
475
} ) ;
0 commit comments