8000 add scatterpolar hover label tests · timonweb/plotly.js@e8865bc · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit e8865bc

Browse files
committed
add scatterpolar hover label tests
1 parent e8aec86 commit e8865bc

File tree

2 files changed

+81
-9
lines changed

2 files changed

+81
-9
lines changed

src/traces/scatterpolar/hover.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
1919
var newPointData = scatterPointData[0];
2020

2121
// hovering on fill case
22-
// TODO do we need to constrain the scatter point data further (like for
23-
// ternary subplots) or not?
2422
if(newPointData.index === undefined) {
2523
return scatterPointData;
2624
}

test/jasmine/tests/scatterpolar_test.js

Lines changed: 81 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1-
// var Plotly = require('@lib');
2-
// var Lib = require('@src/lib');
1+
var Plotly = require('@lib');
2+
var Lib = require('@src/lib');
33
var ScatterPolar = require('@src/traces/scatterpolar');
44

5+
var createGraphDiv = require('../assets/create_graph_div');
6+
var destroyGraphDiv = require('../assets/destroy_graph_div');
7+
var fail = require('../assets/fail_test');
8+
var mouseEvent = require('../assets/mouse_event');
9+
10+
var customAssertions = require('../assets/custom_assertions');
11+
var assertHoverLabelContent = customAssertions.assertHoverLabelContent;
12+
513
describe('Test scatterpolar trace defaults:', function() {
614
var traceOut;
715

@@ -31,14 +39,80 @@ describe('Test scatterpolar trace defaults:', function() {
3139
});
3240
});
3341

34-
describe('Test scatterpolar calc:', function() {
42+
describe('Test scatterpolar hover:', function() {
43+
var gd;
44+
45+
afterEach(destroyGraphDiv);
3546

36-
});
47+
function run(specs) {
48+
gd = createGraphDiv();
3749

38-
describe('Test scatterpolar hover:', function() {
39-
// gd;
50+
var fig = Lib.extendDeep(
51+
{width: 700, height: 500},
52+
specs.mock || require('@mocks/polar_scatter.json')
53+
);
4054

41-
it('', function() {
55+
if(specs.patch) {
56+
fig = specs.patch(fig);
57+
}
4258

59+
var pos = specs.pos || [200, 200];
60+
61+
return Plotly.plot(gd, fig).then(function() {
62+
mouseEvent('mousemove', pos[0], pos[1]);
63+
assertHoverLabelContent(specs);
64+
});
65+
}
66+
67+
[{
68+
desc: 'base',
69+
nums: 'r: 4.022892\nθ: 128.342°',
70+
name: 'Trial 3'
71+
}, {
72+
desc: '(no labels - out of sector)',
73+
patch: function(fig) {
74+
fig.layout.polar.sector = [15, 75];
75+
return fig;
76+
},
77+
pos: [144, 350],
78+
nums: '',
79+
name: ''
80+
}, {
81+
desc: 'on a `thetaunit: radians` polar subplot',
82+
patch: function(fig) {
83+
fig.layout.polar.angularaxis.thetaunit = 'radians';
84+
return fig;
85+
},
86+
nums: 'r: 4.022892\nθ: 2.239991',
87+
name: 'Trial 3'
88+
}, {
89+
desc: 'on work on log radial axis',
90+
patch: function(fig) {
91+
fig.layout.polar.radialaxis.type = 'log';
92+
return fig;
93+
},
94+
nums: 'r: 1.108937\nθ: 115.4969°',
95+
name: 'Trial 3'
96+
}, {
97+
desc: 'on fills',
98+
mock: require('@mocks/polar_fills.json'),
99+
pos: [300, 230],
100+
nums: 'trace 2',
101+
name: ''
102+
}, {
103+
desc: 'on category axes',
104+
mock: require('@mocks/polar_categories.json'),
105+
patch: function(fig) {
106+
fig.data.forEach(function(t) { t.fill = 'none'; });
107+
return fig;
108+
},
109+
pos: [465, 90],
110+
nums: 'r: 4\nθ: d',
111+
name: 'angular cate...'
112+
}]
113+
.forEach(function(specs) {
114+
it('should generate correct hover labels ' + specs.desc, function(done) {
115+
run(specs).catch(fail).then(done);
116+
});
43117
});
44118
});

0 commit comments

Comments
 (0)
0