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 8e363e5

Browse filesBrowse files
committed
more hover tests
1 parent 9c5a14a commit 8e363e5
Copy full SHA for 8e363e5

File tree

Expand file treeCollapse file tree

1 file changed

+153
-11
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+153
-11
lines changed

‎test/jasmine/tests/hover_label_test.js

Copy file name to clipboardExpand all lines: test/jasmine/tests/hover_label_test.js
+153-11Lines changed: 153 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,28 @@ var destroyGraphDiv = require('../assets/destroy_graph_div');
99

1010
describe('hover info', function() {
1111
'use strict';
12-
12+
1313
var mock = require('@mocks/14.json'),
1414
evt = {
1515
clientX: mock.layout.width/ 2,
1616
clientY: mock.layout.height / 2
1717
};
18-
18+
1919
afterEach(destroyGraphDiv);
2020

2121
describe('hover info', function() {
2222
var mockCopy = Lib.extendDeep({}, mock);
2323

2424
beforeEach(function(done) {
2525
Plotly.plot(createGraphDiv(), mockCopy.data, mockCopy.layout).then(done);
26-
});
26+
});
2727

2828
it('responds to hover', function() {
2929
var gd = document.getElementById('graph');
3030
Fx.hover('graph', evt, 'xy');
31-
31+
3232
var hoverTrace = gd._hoverdata[0];
33-
33+
3434
expect(hoverTrace.curveNumber).toEqual(0);
3535
expect(hoverTrace.pointNumber).toEqual(17);
3636
expect(hoverTrace.x).toEqual(0.388);
@@ -50,14 +50,14 @@ describe('hover info', function() {
5050

5151
beforeEach(function(done) {
5252
Plotly.plot(createGraphDiv(), mockCopy.data, mockCopy.layout).then(done);
53-
});
53+
});
5454

5555
it('responds to hover x', function() {
5656
var gd = document.getElementById('graph');
5757
Fx.hover('graph', evt, 'xy');
58-
58+
5959
var hoverTrace = gd._hoverdata[0];
60-
60+
6161
expect(hoverTrace.curveNumber).toEqual(0);
6262
expect(hoverTrace.pointNumber).toEqual(17);
6363
expect(hoverTrace.x).toEqual(0.388);
@@ -76,14 +76,14 @@ describe('hover info', function() {
7676

7777
beforeEach(function(done) {
7878
Plotly.plot(createGraphDiv(), mockCopy.data, mockCopy.layout).then(done);
79-
});
79+
});
8080

8181
it('responds to hover y', function() {
8282
var gd = document.getElementById('graph');
8383
Fx.hover('graph', evt, 'xy');
84-
84+
8585
var hoverTrace = gd._hoverdata[0];
86-
86+
8787
expect(hoverTrace.curveNumber).toEqual(0);
8888
expect(hoverTrace.pointNumber).toEqual(17);
8989
expect(hoverTrace.x).toEqual(0.388);
@@ -94,4 +94,146 @@ describe('hover info', function() {
9494
expect(d3.selectAll('g.hovertext').select('text').html()).toEqual('1');
9595
});
9696
});
97+
98+
describe('hover info text', function() {
99+
var mockCopy = Lib.extendDeep({}, mock);
100+
101+
mockCopy.data[0].text = []
102+
mockCopy.data[0].text[17] = 'hover text'
103+
mockCopy.data[0].hoverinfo = 'text';
104+
105+
beforeEach(function(done) {
106+
Plotly.plot(createGraphDiv(), mockCopy.data, mockCopy.layout).then(done);
107+
});
108+
109+
it('responds to hover text', function() {
110+
var gd = document.getElementById('graph');
111+
Fx.hover('graph', evt, 'xy');
112+
113+
var hoverTrace = gd._hoverdata[0];
114+
115+
expect(hoverTrace.curveNumber).toEqual(0);
116+
expect(hoverTrace.pointNumber).toEqual(17);
117+
expect(hoverTrace.x).toEqual(0.388);
118+
expect(hoverTrace.y).toEqual(1);
119+
120+
expect(d3.selectAll('g.axistext').size()).toEqual(0);
121+
expect(d3.selectAll('g.hovertext').size()).toEqual(1);
122+
expect(d3.selectAll('g.hovertext').select('text').html()).toEqual('hover text');
123+
});
124+
});
125+
126+
describe('hover info all', function() {
127+
var mockCopy = Lib.extendDeep({}, mock);
128+
129+
mockCopy.data[0].text = []
130+
mockCopy.data[0].text[17] = 'hover text'
131+
mockCopy.data[0].hoverinfo = 'all';
132+
133+
beforeEach(function(done) {
134+
Plotly.plot(createGraphDiv(), mockCopy.data, mockCopy.layout).then(done);
135+
});
136+
137+
it('responds to hover all', function() {
138+
var gd = document.getElementById('graph');
139+
Fx.hover('graph', evt, 'xy');
140+
141+
var hoverTrace = gd._hoverdata[0];
142+
143+
expect(hoverTrace.curveNumber).toEqual(0);
144+
expect(hoverTrace.pointNumber).toEqual(17);
145+
expect(hoverTrace.x).toEqual(0.388);
146+
expect(hoverTrace.y).toEqual(1);
147+
148+
expect(d3.selectAll('g.axistext').size()).toEqual(1);
149+
expect(d3.selectAll('g.hovertext').size()).toEqual(1);
150+
expect(d3.selectAll('g.axistext').select('text').html()).toEqual('0.388');
151+
expect(d3.selectAll('g.hovertext').select('text').html()).toEqual('<tspan class="line" dy="0em" x="9" y="-3.9453125">1</tspan><tspan class="line" dy="1.3em" x="9" y="-3.9453125">hover text</tspan>');
152+
});
153+
});
154+
155+
describe('hover info y+text', function() {
156+
var mockCopy = Lib.extendDeep({}, mock);
157+
158+
mockCopy.data[0].text = []
159+
mockCopy.data[0].text[17] = 'hover text'
160+
mockCopy.data[0].hoverinfo = 'y+text';
161+
162+
beforeEach(function(done) {
163+
Plotly.plot(createGraphDiv(), mockCopy.data, mockCopy.layout).then(done);
164+
});
165+
166+
it('responds to hover y+text', function() {
167+
var gd = document.getElementById('graph');
168+
Fx.hover('graph', evt, 'xy');
169+
170+
var hoverTrace = gd._hoverdata[0];
171+
172+
expect(hoverTrace.curveNumber).toEqual(0);
173+
expect(hoverTrace.pointNumber).toEqual(17);
174+
expect(hoverTrace.x).toEqual(0.388);
175+
expect(hoverTrace.y).toEqual(1);
176+
177+
expect(d3.selectAll('g.axistext').size()).toEqual(0);
178+
expect(d3.selectAll('g.hovertext').size()).toEqual(1);
179+
expect(d3.selectAll('g.hovertext').select('text').html()).toEqual('<tspan class="line" dy="0em" x="9" y="-3.9453125">1</tspan><tspan class="line" dy="1.3em" x="9" y="-3.9453125">hover text</tspan>');
180+
});
181+
});
182+
183+
describe('hover info x+text', function() {
184+
var mockCopy = Lib.extendDeep({}, mock);
185+
186+
mockCopy.data[0].text = []
187+
mockCopy.data[0].text[17] = 'hover text'
188+
mockCopy.data[0].hoverinfo = 'x+text';
189+
190+
beforeEach(function(done) {
191+
Plotly.plot(createGraphDiv(), mockCopy.data, mockCopy.layout).then(done);
192+
});
193+
194+
it('responds to hover x+text', function() {
195+
var gd = document.getElementById('graph');
196+
Fx.hover('graph', evt, 'xy');
197+
198+
var hoverTrace = gd._hoverdata[0];
199+
200+
expect(hoverTrace.curveNumber).toEqual(0);
201+
expect(hoverTrace.pointNumber).toEqual(17);
202+
expect(hoverTrace.x).toEqual(0.388);
203+
expect(hoverTrace.y).toEqual(1);
204+
205+
expect(d3.selectAll('g.axistext').size()).toEqual(1);
206+
expect(d3.selectAll('g.hovertext').size()).toEqual(1);
207+
expect(d3.selectAll('g.axistext').select('text').html()).toEqual('0.388');
208+
expect(d3.selectAll('g.hovertext').select('text').html()).toEqual('hover text');
209+
});
210+
});
211+
212+
describe('hover info text with html', function() {
213+
var mockCopy = Lib.extendDeep({}, mock);
214+
215+
mockCopy.data[0].text = []
216+
mockCopy.data[0].text[17] = 'hover<br>text'
217+
mockCopy.data[0].hoverinfo = 'text';
218+
219+
beforeEach(function(done) {
220+
Plotly.plot(createGraphDiv(), mockCopy.data, mockCopy.layout).then(done);
221+
});
222+
223+
it('responds to hover text with html', function() {
224+
var gd = document.getElementById('graph');
225+
Fx.hover('graph', evt, 'xy');
226+
227+
var hoverTrace = gd._hoverdata[0];
228+
229+
expect(hoverTrace.curveNumber).toEqual(0);
230+
expect(hoverTrace.pointNumber).toEqual(17);
231+
expect(hoverTrace.x).toEqual(0.388);
232+
expect(hoverTrace.y).toEqual(1);
233+
234+
expect(d3.selectAll('g.axistext').size()).toEqual(0);
235+
expect(d3.selectAll('g.hovertext').size()).toEqual(1);
236+
expect(d3.selectAll('g.hovertext').select('text').html()).toEqual('<tspan class="line" dy="0em" x="9" y="-3.9453125">hover</tspan><tspan class="line" dy="1.3em" x="9" y="-3.9453125">text</tspan>');
237+
});
238+
});
97239
});

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.