Skip to content

Commit fb37088

Browse files
author
Robert Paskowitz
committed
Test related fixes
- Update Purge() to account for new field. - Update import for DBLCLICKDELAY - Update tests for mousedown+mouseup and DBLCLICKDELAY before toggle fades.
1 parent c5a2ff8 commit fb37088

File tree

4 files changed

+26
-17
lines changed

4 files changed

+26
-17
lines changed

src/plot_api/plot_api.js

+1
Original file line numberDiff line numberDiff line change
@@ -2794,6 +2794,7 @@ Plotly.purge = function purge(gd) {
27942794
delete gd._context;
27952795
delete gd._replotPending;
27962796
delete gd._mouseDownTime;
2797+
delete gd._legendMouseDownTime;
27972798
delete gd._hmpixcount;
27982799
delete gd._hmlumcount;
27992800

test/jasmine/tests/click_test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
var Plotly = require('@lib/index');
22
var Lib = require('@src/lib');
33
var Drawing = require('@src/components/drawing');
4-
var DBLCLICKDELAY = require('@src/plots/cartesian/constants').DBLCLICKDELAY;
4+
var DBLCLICKDELAY = require('@src/constants/interactions').DBLCLICKDELAY;
55

66
var d3 = require('d3');
77
var createGraphDiv = require('../assets/create_graph_div');

test/jasmine/tests/legend_scroll_test.js

+23-15
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
var Plotly = require('@lib/index');
22
var Lib = require('@src/lib');
33
var constants = require('@src/components/legend/constants');
4+
var DBLCLICKDELAY = require('@src/constants/interactions').DBLCLICKDELAY;
45

56
var d3 = require('d3');
67
var createGraph = require('../assets/create_graph_div');
78
var destroyGraph = require('../assets/destroy_graph_div');
89
var getBBox = require('../assets/get_bbox');
910
var mock = require('../../image/mocks/legend_scroll.json');
1011

11-
1212
describe('The legend', function() {
1313
'use strict';
1414

@@ -96,7 +96,7 @@ describe('The legend', function() {
9696
'translate(0, ' + finalDataScroll + ')');
9797
});
9898

99-
it('should keep the scrollbar position after a toggle event', function() {
99+
it('should keep the scrollbar position after a toggle event', function(done) {
100100
var legend = getLegend(),
101101
scrollBox = getScrollBox(),
102102
toggle = getToggle(),
@@ -105,14 +105,18 @@ describe('The legend', function() {
105105
legend.dispatchEvent(scrollTo(wheelDeltaY));
106106

107107
var dataScroll = scrollBox.getAttribute('data-scroll');
108-
toggle.dispatchEvent(new MouseEvent('click'));
109-
expect(+toggle.parentNode.style.opacity).toBeLessThan(1);
110-
expect(scrollBox.getAttribute('data-scroll')).toBe(dataScroll);
111-
expect(scrollBox.getAttribute('transform')).toBe(
112-
'translate(0, ' + dataScroll + ')');
108+
toggle.dispatchEvent(new MouseEvent('mousedown'));
109+
toggle.dispatchEvent(new MouseEvent('mouseup'));
110+
setTimeout(function() {
111+
expect(+toggle.parentNode.style.opacity).toBeLessThan(1);
112+
expect(scrollBox.getAttribute('data-scroll')).toBe(dataScroll);
113+
expect(scrollBox.getAttribute('transform')).toBe(
114+
'translate(0, ' + dataScroll + ')');
115+
done();
116+
}, DBLCLICKDELAY * 2);
113117
});
114118

115-
it('should be restored and functional after relayout', function() {
119+
it('should be restored and functional after relayout', function(done) {
116120
var wheelDeltaY = 100,
117121
legend = getLegend(),
118122
scrollBox,
@@ -139,13 +143,17 @@ describe('The legend', function() {
139143
expect(scrollBar.getAttribute('y')).toBe(scrollBarY);
140144

141145
var dataScroll = scrollBox.getAttribute('data-scroll');
142-
toggle.dispatchEvent(new MouseEvent('click'));
143-
expect(+toggle.parentNode.style.opacity).toBeLessThan(1);
144-
expect(scrollBox.getAttribute('data-scroll')).toBe(dataScroll);
145-
expect(scrollBox.getAttribute('transform')).toBe(
146-
'translate(0, ' + dataScroll + ')');
147-
expect(scrollBar.getAttribute('width')).toBeGreaterThan(0);
148-
expect(scrollBar.getAttribute('height')).toBeGreaterThan(0);
146+
toggle.dispatchEvent(new MouseEvent('mousedown'));
147+
toggle.dispatchEvent(new MouseEvent('mouseup'));
148+
setTimeout(function() {
149+
expect(+toggle.parentNode.style.opacity).toBeLessThan(1);
150+
expect(scrollBox.getAttribute('data-scroll')).toBe(dataScroll);
151+
expect(scrollBox.getAttribute('transform')).toBe(
152+
'translate(0, ' + dataScroll + ')');
153+
expect(scrollBar.getAttribute('width')).toBeGreaterThan(0);
154+
expect(scrollBar.getAttribute('height')).toBeGreaterThan(0);
155+
done();
156+
}, DBLCLICKDELAY * 2);
149157
});
150158

151159
it('should constrain scrolling to the contents', function() {

test/jasmine/tests/plots_test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ describe('Test Plots', function() {
397397
'_ev', '_internalEv', 'on', 'once', 'removeListener', 'removeAllListeners',
398398
'_internalOn', '_internalOnce', '_removeInternalListener',
399399
'_removeAllInternalListeners', 'emit', '_context', '_replotPending',
400-
'_hmpixcount', '_hmlumcount', '_mouseDownTime'
400+
'_hmpixcount', '_hmlumcount', '_mouseDownTime', '_legendMouseDownTime',
401401
];
402402

403403
Plots.purge(gd);

0 commit comments

Comments
 (0)