123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- import Cursor from 'handsontable/plugins/contextMenu/cursor';
- describe('ContextMenu', function () {
- describe('Cursor', function () {
- it('should initialize internal properties on construct (object literal)', function () {
- var coords = {
- top: 10,
- left: 50,
- width: 100,
- height: 200
- };
- var cursor = new Cursor(coords);
- expect(cursor.top).toBe(coords.top);
- expect(cursor.topRelative).toBeLessThan(coords.top + 1);
- expect(cursor.left).toBe(coords.left);
- expect(cursor.leftRelative).toBeLessThan(coords.left + 1);
- expect(cursor.scrollLeft).toBeGreaterThan(-1);
- expect(cursor.scrollTop).toBeGreaterThan(-1);
- expect(cursor.cellHeight).toBe(coords.height);
- expect(cursor.cellWidth).toBe(coords.width);
- });
- it('should returns boolean value related to if element fits above the cursor', function () {
- var coords = {
- top: 10,
- left: 50,
- width: 100,
- height: 200
- };
- var cursor = new Cursor(coords);
- var fakeElement = {
- offsetHeight: 9
- };
- expect(cursor.fitsAbove(fakeElement)).toBe(true);
- fakeElement.offsetHeight = 10;
- expect(cursor.fitsAbove(fakeElement)).toBe(true);
- fakeElement.offsetHeight = 11;
- expect(cursor.fitsAbove(fakeElement)).toBe(false);
- });
- it('should returns boolean value related to if element fits below the cursor', function () {
- var coords = {
- top: 10,
- left: 50,
- width: 100,
- height: 200
- };
- var cursor = new Cursor(coords);
- var fakeElement = {
- offsetHeight: 9
- };
- var viewportHeight = 100;
- expect(cursor.fitsBelow(fakeElement, viewportHeight)).toBe(true);
- fakeElement.offsetHeight = 90;
- expect(cursor.fitsBelow(fakeElement, viewportHeight)).toBe(true);
- fakeElement.offsetHeight = 91;
- expect(cursor.fitsBelow(fakeElement, viewportHeight)).toBe(false);
- });
- it('should returns boolean value related to if element fits on the right of the cursor', function () {
- var coords = {
- top: 10,
- left: 20,
- width: 30,
- height: 200
- };
- var cursor = new Cursor(coords);
- var fakeElement = {
- offsetWidth: 9
- };
- var viewportWidth = 100;
- expect(cursor.fitsOnRight(fakeElement, viewportWidth)).toBe(true);
- fakeElement.offsetWidth = 50;
- expect(cursor.fitsOnRight(fakeElement, viewportWidth)).toBe(true);
- fakeElement.offsetWidth = 51;
- expect(cursor.fitsOnRight(fakeElement, viewportWidth)).toBe(false);
- });
- it('should returns boolean value related to if element fits on the left of the cursor', function () {
- var coords = {
- top: 10,
- left: 50,
- width: 100,
- height: 200
- };
- var cursor = new Cursor(coords);
- var fakeElement = {
- offsetWidth: 9
- };
- expect(cursor.fitsOnLeft(fakeElement)).toBe(true);
- fakeElement.offsetWidth = 50;
- expect(cursor.fitsOnLeft(fakeElement)).toBe(true);
- fakeElement.offsetWidth = 51;
- expect(cursor.fitsOnLeft(fakeElement)).toBe(false);
- });
- });
- });
|