Skip to content

Commit 4dcaee9

Browse files
committed
Add zoom tests
1 parent f1e0423 commit 4dcaee9

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

test/jasmine/tests/zoom_test.js

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
var d3 = require('d3');
2+
3+
var Plotly = require('@lib/index');
4+
var Lib = require('@src/lib');
5+
6+
var createGraphDiv = require('../assets/create_graph_div');
7+
var destroyGraphDiv = require('../assets/destroy_graph_div');
8+
var mouseEvent = require('../assets/mouse_event');
9+
10+
11+
describe('zoom box element', function() {
12+
var mock = require('@mocks/14.json');
13+
14+
var gd;
15+
beforeEach(function(done) {
16+
gd = createGraphDiv();
17+
18+
var mockCopy = Lib.extendDeep({}, mock);
19+
mockCopy.layout.dragmode = 'zoom';
20+
21+
Plotly.plot(gd, mockCopy.data, mockCopy.layout).then(done);
22+
});
23+
24+
afterEach(destroyGraphDiv);
25+
26+
it('should be appended to the zoom layer', function() {
27+
var x0 = 100;
28+
var y0 = 200;
29+
var x1 = 150;
30+
var y1 = 200;
31+
32+
mouseEvent('mousemove', x0, y0);
33+
expect(d3.selectAll('.zoomlayer > .zoombox').size())
34+
.toEqual(0);
35+
expect(d3.selectAll('.zoomlayer > .zoombox-corners').size())
36+
.toEqual(0);
37+
38+
mouseEvent('mousedown', x0, y0);
39+
mouseEvent('mousemove', x1, y1);
40+
expect(d3.selectAll('.zoomlayer > .zoombox').size())
41+
.toEqual(1);
42+
expect(d3.selectAll('.zoomlayer > .zoombox-corners').size())
43+
.toEqual(1);
44+
45+
mouseEvent('mouseup', x1, y1);
46+
expect(d3.selectAll('.zoomlayer > .zoombox').size())
47+
.toEqual(0);
48+
expect(d3.selectAll('.zoomlayer > .zoombox-corners').size())
49+
.toEqual(0);
50+
});
51+
});

0 commit comments

Comments
 (0)