|
1 | 1 | var Plotly = require('@lib/index'); |
2 | 2 | var Plots = require('@src/plots/plots'); |
3 | 3 |
|
4 | | -var Fx = require('@src/components/fx'); |
5 | | - |
6 | 4 | var d3 = require('d3'); |
7 | 5 | var createGraphDiv = require('../assets/create_graph_div'); |
8 | 6 | var destroyGraphDiv = require('../assets/destroy_graph_div'); |
9 | 7 |
|
10 | | - |
11 | 8 | describe('Fx defaults', function() { |
12 | 9 | 'use strict'; |
13 | 10 |
|
14 | | - var layoutIn, layoutOut, fullData; |
| 11 | + function _supply(data, layout) { |
| 12 | + var gd = { |
| 13 | + data: data || [], |
| 14 | + layout: layout || {} |
| 15 | + }; |
| 16 | + |
| 17 | + Plots.supplyDefaults(gd); |
15 | 18 |
|
16 | | - beforeEach(function() { |
17 | | - layoutIn = {}; |
18 | | - layoutOut = { |
19 | | - _has: Plots._hasPlotType |
| 19 | + return { |
| 20 | + data: gd._fullData, |
| 21 | + layout: gd._fullLayout |
20 | 22 | }; |
21 | | - fullData = [{}]; |
22 | | - }); |
| 23 | + } |
23 | 24 |
|
24 | 25 | it('should default (blank version)', function() { |
25 | | - Fx.supplyLayoutDefaults(layoutIn, layoutOut, fullData); |
| 26 | + var layoutOut = _supply().layout; |
26 | 27 | expect(layoutOut.hovermode).toBe('closest', 'hovermode to closest'); |
27 | 28 | expect(layoutOut.dragmode).toBe('zoom', 'dragmode to zoom'); |
28 | 29 | }); |
29 | 30 |
|
30 | 31 | it('should default (cartesian version)', function() { |
31 | | - layoutOut._basePlotModules = [{ name: 'cartesian' }]; |
| 32 | + var layoutOut = _supply([{ |
| 33 | + type: 'bar', |
| 34 | + y: [1, 2, 1] |
| 35 | + }]) |
| 36 | + .layout; |
32 | 37 |
|
33 | | - Fx.supplyLayoutDefaults(layoutIn, layoutOut, fullData); |
34 | 38 | expect(layoutOut.hovermode).toBe('x', 'hovermode to x'); |
35 | 39 | expect(layoutOut.dragmode).toBe('zoom', 'dragmode to zoom'); |
36 | 40 | expect(layoutOut._isHoriz).toBe(false, 'isHoriz to false'); |
37 | 41 | }); |
38 | 42 |
|
39 | 43 | it('should default (cartesian horizontal version)', function() { |
40 | | - layoutOut._basePlotModules = [{ name: 'cartesian' }]; |
41 | | - fullData[0] = { orientation: 'h' }; |
| 44 | + var layoutOut = _supply([{ |
| 45 | + type: 'bar', |
| 46 | + orientation: 'h', |
| 47 | + x: [1, 2, 3], |
| 48 | + y: [1, 2, 1] |
| 49 | + }]) |
| 50 | + .layout; |
42 | 51 |
|
43 | | - Fx.supplyLayoutDefaults(layoutIn, layoutOut, fullData); |
44 | 52 | expect(layoutOut.hovermode).toBe('y', 'hovermode to y'); |
45 | 53 | expect(layoutOut.dragmode).toBe('zoom', 'dragmode to zoom'); |
46 | 54 | expect(layoutOut._isHoriz).toBe(true, 'isHoriz to true'); |
47 | 55 | }); |
48 | 56 |
|
49 | 57 | it('should default (gl3d version)', function() { |
50 | | - layoutOut._basePlotModules = [{ name: 'gl3d' }]; |
| 58 | + var layoutOut = _supply([{ |
| 59 | + type: 'scatter3d', |
| 60 | + x: [1, 2, 3], |
| 61 | + y: [1, 2, 3], |
| 62 | + z: [1, 2, 1] |
| 63 | + }]) |
| 64 | + .layout; |
51 | 65 |
|
52 | | - Fx.supplyLayoutDefaults(layoutIn, layoutOut, fullData); |
53 | 66 | expect(layoutOut.hovermode).toBe('closest', 'hovermode to closest'); |
54 | 67 | expect(layoutOut.dragmode).toBe('zoom', 'dragmode to zoom'); |
55 | 68 | }); |
56 | 69 |
|
57 | 70 | it('should default (geo version)', function() { |
58 | | - layoutOut._basePlotModules = [{ name: 'geo' }]; |
| 71 | + var layoutOut = _supply([{ |
| 72 | + type: 'scattergeo', |
| 73 | + lon: [1, 2, 3], |
| 74 | + lat: [1, 2, 3] |
| 75 | + }]) |
| 76 | + .layout; |
59 | 77 |
|
60 | | - Fx.supplyLayoutDefaults(layoutIn, layoutOut, fullData); |
61 | 78 | expect(layoutOut.hovermode).toBe('closest', 'hovermode to closest'); |
62 | 79 | expect(layoutOut.dragmode).toBe('zoom', 'dragmode to zoom'); |
63 | 80 | }); |
64 | 81 |
|
65 | 82 | it('should default (multi plot type version)', function() { |
66 | | - layoutOut._basePlotModules = [{ name: 'cartesian' }, { name: 'gl3d' }]; |
| 83 | + var layoutOut = _supply([{ |
| 84 | + type: 'bar', |
| 85 | + y: [1, 2, 1] |
| 86 | + }, { |
| 87 | + type: 'scatter3d', |
| 88 | + x: [1, 2, 3], |
| 89 | + y: [1, 2, 3], |
| 90 | + z: [1, 2, 1] |
| 91 | + }]) |
| 92 | + .layout; |
67 | 93 |
|
68 | | - Fx.supplyLayoutDefaults(layoutIn, layoutOut, fullData); |
69 | 94 | expect(layoutOut.hovermode).toBe('x', 'hovermode to x'); |
70 | 95 | expect(layoutOut.dragmode).toBe('zoom', 'dragmode to zoom'); |
71 | 96 | }); |
|
0 commit comments