Skip to content

Commit 89605c5

Browse files
author
Robert Paskowitz
committed
Add test cases for new config settings
1 parent 540994d commit 89605c5

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed

test/jasmine/tests/config_test.js

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
var Plotly = require('@lib/index');
22
var Plots = Plotly.Plots;
3+
var Lib = require('@src/lib');
34
var createGraphDiv = require('../assets/create_graph_div');
45
var destroyGraphDiv = require('../assets/destroy_graph_div');
6+
var click = require('../assets/click');
57
var mouseEvent = require('../assets/mouse_event');
68

79
describe('config argument', function() {
@@ -269,4 +271,119 @@ describe('config argument', function() {
269271
});
270272

271273
});
274+
275+
describe('axis drag handles attribute', function() {
276+
var mock = require('@mocks/14.json');
277+
278+
var gd;
279+
var mockCopy;
280+
281+
beforeEach(function(done) {
282+
gd = createGraphDiv();
283+
mockCopy = Lib.extendDeep({}, mock);
284+
done();
285+
});
286+
287+
afterEach(destroyGraphDiv);
288+
289+
it('should have drag rectangles cursors by default', function() {
290+
Plotly.plot(gd, mockCopy.data, {});
291+
292+
var nwdrag = document.getElementsByClassName('drag nwdrag');
293+
expect(nwdrag.length).toBe(1);
294+
var nedrag = document.getElementsByClassName('drag nedrag');
295+
expect(nedrag.length).toBe(1);
296+
var swdrag = document.getElementsByClassName('drag swdrag');
297+
expect(swdrag.length).toBe(1);
298+
var sedrag = document.getElementsByClassName('drag sedrag');
299+
expect(sedrag.length).toBe(1);
300+
var ewdrag = document.getElementsByClassName('drag ewdrag');
301+
expect(ewdrag.length).toBe(1);
302+
var wdrag = document.getElementsByClassName('drag wdrag');
303+
expect(wdrag.length).toBe(1);
304+
var edrag = document.getElementsByClassName('drag edrag');
305+
expect(edrag.length).toBe(1);
306+
var nsdrag = document.getElementsByClassName('drag nsdrag');
307+
expect(nsdrag.length).toBe(1);
308+
var sdrag = document.getElementsByClassName('drag sdrag');
309+
expect(sdrag.length).toBe(1);
310+
var ndrag = document.getElementsByClassName('drag ndrag');
311+
expect(ndrag.length).toBe(1);
312+
313+
});
314+
315+
it('should not have drag rectangles when disabled', function() {
316+
Plotly.plot(gd, mockCopy.data, {}, { showAxisDragHandles: false });
317+
318+
var nwdrag = document.getElementsByClassName('drag nwdrag');
319+
expect(nwdrag.length).toBe(0);
320+
var nedrag = document.getElementsByClassName('drag nedrag');
321+
expect(nedrag.length).toBe(0);
322+
var swdrag = document.getElementsByClassName('drag swdrag');
323+
expect(swdrag.length).toBe(0);
324+
var sedrag = document.getElementsByClassName('drag sedrag');
325+
expect(sedrag.length).toBe(0);
326+
var ewdrag = document.getElementsByClassName('drag ewdrag');
327+
expect(ewdrag.length).toBe(0);
328+
var wdrag = document.getElementsByClassName('drag wdrag');
329+
expect(wdrag.length).toBe(0);
330+
var edrag = document.getElementsByClassName('drag edrag');
331+
expect(edrag.length).toBe(0);
332+
var nsdrag = document.getElementsByClassName('drag nsdrag');
333+
expect(nsdrag.length).toBe(0);
334+
var sdrag = document.getElementsByClassName('drag sdrag');
335+
expect(sdrag.length).toBe(0);
336+
var ndrag = document.getElementsByClassName('drag ndrag');
337+
expect(ndrag.length).toBe(0);
338+
});
339+
340+
});
341+
342+
describe('axis range entry attribute', function() {
343+
var mock = require('@mocks/14.json');
344+
345+
var gd;
346+
var mockCopy;
347+
348+
beforeEach(function(done) {
349+
gd = createGraphDiv();
350+
mockCopy = Lib.extendDeep({}, mock);
351+
done();
352+
});
353+
354+
afterEach(destroyGraphDiv);
355+
356+
it('show allow axis range entry by default', function() {
357+
Plotly.plot(gd, mockCopy.data, {});
358+
359+
var corner = document.getElementsByClassName('edrag')[0];
360+
361+
var cornerBox = corner.getBoundingClientRect(),
362+
cornerX = cornerBox.left + cornerBox.width / 2,
363+
cornerY = cornerBox.top + cornerBox.height / 2;
364+
365+
click(cornerX, cornerY);
366+
367+
var editBox = document.getElementsByClassName('plugin-editable editable')[0];
368+
expect(editBox).toBeDefined();
369+
expect(editBox.getAttribute('contenteditable')).toBe('true');
370+
});
371+
372+
it('show not allow axis range entry when', function() {
373+
Plotly.plot(gd, mockCopy.data, {}, { showAxisRangeEntryBoxes: false });
374+
375+
var corner = document.getElementsByClassName('edrag')[0];
376+
377+
var cornerBox = corner.getBoundingClientRect(),
378+
cornerX = cornerBox.left + cornerBox.width / 2,
379+
cornerY = cornerBox.top + cornerBox.height / 2;
380+
381+
click(cornerX, cornerY);
382+
383+
var editBox = document.getElementsByClassName('plugin-editable editable')[0];
384+
expect(editBox).toBeUndefined();
385+
});
386+
387+
388+
});
272389
});

0 commit comments

Comments
 (0)