@@ -387,6 +387,82 @@ describe('Test axes', function() {
387
387
} ) ;
388
388
} ) ;
389
389
390
+ describe ( 'date axis' , function ( ) {
391
+
392
+ var gd ;
393
+
394
+ beforeEach ( function ( ) {
395
+ gd = createGraphDiv ( ) ;
396
+ } ) ;
397
+
398
+ afterEach ( destroyGraphDiv ) ;
399
+
400
+ it ( 'should use the fancy gl-vis/gl-scatter2d' , function ( ) {
401
+ PlotlyInternal . plot ( gd , [ {
402
+ type : 'scattergl' ,
403
+ 'marker' : {
404
+ 'color' : 'rgb(31, 119, 180)' ,
405
+ 'size' : 18 ,
406
+ 'symbol' : [
407
+ 'diamond' ,
408
+ 'cross'
409
+ ]
410
+ } ,
411
+ x : [ new Date ( '2016-10-10' ) , new Date ( '2016-10-12' ) ] ,
412
+ y : [ 15 , 16 ]
413
+ } ] ) ;
414
+
415
+ expect ( gd . _fullLayout . xaxis . type ) . toBe ( 'date' ) ;
416
+ expect ( gd . _fullLayout . yaxis . type ) . toBe ( 'linear' ) ;
417
+ expect ( gd . _fullData [ 0 ] . type ) . toBe ( 'scattergl' ) ;
418
+ expect ( gd . _fullData [ 0 ] . _module . basePlotModule . name ) . toBe ( 'gl2d' ) ;
419
+
420
+ // one way of check which renderer - fancy vs not - we're using
421
+ expect ( gd . _fullLayout . _plots . xy . _scene2d . glplot . objects [ 3 ] . pointCount ) . toBe ( 0 ) ;
422
+ } ) ;
423
+
424
+ it ( 'should use the fancy gl-vis/gl-scatter2d once again' , function ( ) {
425
+ PlotlyInternal . plot ( gd , [ {
426
+ type : 'scattergl' ,
427
+ 'marker' : {
428
+ 'color' : 'rgb(31, 119, 180)' ,
429
+ 'size' : 36 ,
430
+ 'symbol' : [
431
+ 'circle' ,
432
+ 'cross'
433
+ ]
434
+ } ,
435
+ x : [ new Date ( '2016-10-10' ) , new Date ( '2016-10-11' ) ] ,
436
+ y : [ 15 , 16 ]
437
+ } ] ) ;
438
+
439
+ expect ( gd . _fullLayout . xaxis . type ) . toBe ( 'date' ) ;
440
+ expect ( gd . _fullLayout . yaxis . type ) . toBe ( 'linear' ) ;
441
+ expect ( gd . _fullData [ 0 ] . type ) . toBe ( 'scattergl' ) ;
442
+ expect ( gd . _fullData [ 0 ] . _module . basePlotModule . name ) . toBe ( 'gl2d' ) ;
443
+
444
+ // one way of check which renderer - fancy vs not - we're using
445
+ expect ( gd . _fullLayout . _plots . xy . _scene2d . glplot . objects [ 3 ] . pointCount ) . toBe ( 0 ) ;
446
+ } ) ;
447
+
448
+ it ( 'should now use the non-fancy gl-vis/gl-scatter2d' , function ( ) {
449
+ PlotlyInternal . plot ( gd , [ {
450
+ type : 'scattergl' ,
451
+ mode : 'markers' , // important, as otherwise lines are assumed (which needs fancy)
452
+ x : [ new Date ( '2016-10-10' ) , new Date ( '2016-10-11' ) ] ,
453
+ y : [ 15 , 16 ]
454
+ } ] ) ;
455
+
456
+ expect ( gd . _fullLayout . xaxis . type ) . toBe ( 'date' ) ;
457
+ expect ( gd . _fullLayout . yaxis . type ) . toBe ( 'linear' ) ;
458
+ expect ( gd . _fullData [ 0 ] . type ) . toBe ( 'scattergl' ) ;
459
+ expect ( gd . _fullData [ 0 ] . _module . basePlotModule . name ) . toBe ( 'gl2d' ) ;
460
+
461
+ expect ( gd . _fullLayout . _plots . xy . _scene2d . glplot . objects [ 3 ] . pointCount ) . toBe ( 2 ) ;
462
+ } ) ;
463
+
464
+ } ) ;
465
+
390
466
describe ( 'categoryorder' , function ( ) {
391
467
392
468
var gd ;
0 commit comments