Skip to content

Commit d5d6f33

Browse files
committed
add some cone tests
1 parent aaf7249 commit d5d6f33

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed

test/jasmine/tests/cone_test.js

+93
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
var Plotly = require('@lib');
2+
var Lib = require('@src/lib');
3+
4+
var supplyAllDefaults = require('../assets/supply_defaults');
5+
var createGraphDiv = require('../assets/create_graph_div');
6+
var destroyGraphDiv = require('../assets/destroy_graph_div');
7+
var failTest = require('../assets/fail_test');
8+
9+
describe('Test cone defaults', function() {
10+
var gd;
11+
12+
function makeGD() {
13+
return {
14+
data: [{
15+
type: 'cone',
16+
x: [1, 2],
17+
y: [1, 2],
18+
z: [1, 2],
19+
u: [1, 2],
20+
v: [1, 2],
21+
w: [1, 2]
22+
}],
23+
layout: {}
24+
};
25+
}
26+
27+
it('should set `visible: false` for traces missing x,y,z,u,v,w arrays', function() {
28+
var keysToDelete = ['x', 'y', 'z', 'u', 'v', 'w', ''];
29+
30+
keysToDelete.forEach(function(k) {
31+
gd = makeGD();
32+
delete gd.data[0][k];
33+
34+
supplyAllDefaults(gd);
35+
expect(gd._fullData[0].visible).toBe(!k, 'missing array ' + k);
36+
});
37+
});
38+
39+
it('should set `visible: false` for traces empty x,y,z,u,v,w arrays', function() {
40+
var keysToEmpty = ['x', 'y', 'z', 'u', 'v', 'w'];
41+
42+
keysToEmpty.forEach(function(k) {
43+
gd = makeGD();
44+
gd.data[0][k] = [];
45+
46+
supplyAllDefaults(gd);
47+
expect(gd._fullData[0].visible).toBe(!k, 'empty array ' + k);
48+
});
49+
});
50+
});
51+
52+
describe('@gl Test cone interactions', function() {
53+
var gd;
54+
55+
beforeEach(function() {
56+
gd = createGraphDiv();
57+
});
58+
59+
afterEach(function() {
60+
Plotly.purge(gd);
61+
destroyGraphDiv();
62+
});
63+
64+
it('should add/clear gl objects correctly', function(done) {
65+
var fig = Lib.extendDeep({}, require('@mocks/gl3d_cone-simple.json'));
66+
// put traces on same subplot
67+
delete fig.data[1].scene;
68+
69+
Plotly.plot(gd, fig).then(function() {
70+
var scene = gd._fullLayout.scene._scene;
71+
var objs = scene.glplot.objects;
72+
73+
expect(objs.length).toBe(4);
74+
75+
return Plotly.deleteTraces(gd, [0]);
76+
})
77+
.then(function() {
78+
var scene = gd._fullLayout.scene._scene;
79+
var objs = scene.glplot.objects;
80+
81+
expect(objs.length).toBe(2);
82+
83+
return Plotly.deleteTraces(gd, [0]);
84+
})
85+
.then(function() {
86+
var scene = gd._fullLayout.scene;
87+
88+
expect(scene).toBeUndefined();
89+
})
90+
.catch(failTest)
91+
.then(done);
92+
});
93+
});

0 commit comments

Comments
 (0)