Skip to content

Commit 5c58049

Browse files
committed
add some box hover tests
1 parent e59f283 commit 5c58049

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

test/jasmine/tests/box_test.js

+79
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1+
var Plotly = require('@lib');
2+
var Lib = require('@src/lib');
3+
14
var Box = require('@src/traces/box');
25

6+
var createGraphDiv = require('../assets/create_graph_div');
7+
var destroyGraphDiv = require('../assets/destroy_graph_div');
8+
var fail = require('../assets/fail_test');
9+
var mouseEvent = require('../assets/mouse_event');
10+
11+
var customAssertions = require('../assets/custom_assertions');
12+
var assertHoverLabelContent = customAssertions.assertHoverLabelContent;
13+
314
describe('Test boxes supplyDefaults', function() {
415
var traceIn;
516
var traceOut;
@@ -101,3 +112,71 @@ describe('Test boxes supplyDefaults', function() {
101112
expect(traceOut.ycalendar).toBe('ethiopian');
102113
});
103114
});
115+
116+
describe('Test box hover:', function() {
117+
var gd;
118+
119+
afterEach(destroyGraphDiv);
120+
121+
function run(specs) {
122+
gd = createGraphDiv();
123+
124+
var fig = Lib.extendDeep(
125+
{width: 700, height: 500},
126+
specs.mock || require('@mocks/box_grouped.json')
127+
);
128+
129+
if(specs.patch) {
130+
fig = specs.patch(fig);
131+
}
132+
133+
var pos = specs.pos || [200, 200];
134+
135+
return Plotly.plot(gd, fig).then(function() {
136+
mouseEvent('mousemove', pos[0], pos[1]);
137+
assertHoverLabelContent(specs);
138+
});
139+
}
140+
141+
[{
142+
desc: 'base',
143+
nums: ['0.55', '0', '0.3', '0.6', '0.7'],
144+
name: ['radishes', '', '', '', ''],
145+
axis: 'day 1',
146+
147+
}, {
148+
desc: 'with mean',
149+
patch: function(fig) {
150+
fig.data.forEach(function(trace) {
151+
trace.boxmean = true;
152+
});
153+
return fig;
154+
},
155+
nums: ['0.55', '0', '0.3', '0.6', '0.7', '0.45'],
156+
name: ['radishes', '', '', '', '', ''],
157+
axis: 'day 1',
158+
159+
}, {
160+
desc: 'with sd',
161+
patch: function(fig) {
162+
fig.data.forEach(function(trace) {
163+
trace.boxmean = 'sd';
164+
});
165+
return fig;
166+
},
167+
nums: ['0.55', '0', '0.3', '0.6', '0.7', '0.45 ± 0.2362908'],
168+
name: ['radishes', '', '', '', '', ''],
169+
axis: 'day 1',
170+
}, {
171+
desc: 'with boxpoints fences',
172+
mock: require('@mocks/boxplots_outliercolordflt.json'),
173+
pos: [350, 200],
174+
nums: ['8.15', '0.75', '6.8', '10.25', '23.25', '5.25', '12'],
175+
name: ['', '', '', '', '', '', ''],
176+
axis: 'trace 0',
177+
}].forEach(function(specs) {
178+
it('should generate correct hover labels ' + specs.desc, function(done) {
179+
run(specs).catch(fail).then(done);
180+
});
181+
});
182+
});

0 commit comments

Comments
 (0)