683cd13b3b3533c31468b497208227364766dd2117799f6fa89778ce5542a2fe4771534a8068617532795cbb2afc8428b39c629dfbf5a9ee5e55c6f0699749 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. 'use strict';
  2. describe('DragToScroll', function () {
  3. function createBoundaries() {
  4. return {
  5. top: 100,
  6. left: 100,
  7. width: 900,
  8. height: 900,
  9. bottom: 1000,
  10. right: 1000
  11. };
  12. }
  13. var dragToScroll = new Handsontable.plugins.DragToScroll();
  14. dragToScroll.setBoundaries(createBoundaries());
  15. it('exact top, exact left should be in boundaries', function () {
  16. dragToScroll.setCallback(function (scrollX, scrollY) {
  17. expect(scrollX).toEqual(0);
  18. expect(scrollY).toEqual(0);
  19. });
  20. dragToScroll.check(100, 100);
  21. });
  22. it('exact bottom, exact right should be in boundaries', function () {
  23. dragToScroll.setCallback(function (scrollX, scrollY) {
  24. expect(scrollX).toEqual(0);
  25. expect(scrollY).toEqual(0);
  26. });
  27. dragToScroll.check(1000, 1000);
  28. });
  29. it('less than top, less than left should be out in "top" direction', function () {
  30. dragToScroll.setCallback(function (scrollX, scrollY) {
  31. expect(scrollX).toEqual(-1);
  32. expect(scrollY).toEqual(-1);
  33. });
  34. dragToScroll.check(99, 99);
  35. });
  36. it('exact top, less than left should be out in "left" direction', function () {
  37. dragToScroll.setCallback(function (scrollX, scrollY) {
  38. expect(scrollX).toEqual(-1);
  39. expect(scrollY).toEqual(0);
  40. });
  41. dragToScroll.check(99, 100);
  42. });
  43. it('less than top, more than right should be out in "top" direction', function () {
  44. dragToScroll.setCallback(function (scrollX, scrollY) {
  45. expect(scrollX).toEqual(1);
  46. expect(scrollY).toEqual(-1);
  47. });
  48. dragToScroll.check(1001, 99);
  49. });
  50. it('more than bottom, more than right should be out in "bottom" direction', function () {
  51. dragToScroll.setCallback(function (scrollX, scrollY) {
  52. expect(scrollX).toEqual(1);
  53. expect(scrollY).toEqual(1);
  54. });
  55. dragToScroll.check(1001, 1001);
  56. });
  57. it('exact bottom, more than right should be out in "right" direction', function () {
  58. dragToScroll.setCallback(function (scrollX, scrollY) {
  59. expect(scrollX).toEqual(1);
  60. expect(scrollY).toEqual(0);
  61. });
  62. dragToScroll.check(1001, 1000);
  63. });
  64. it('more than bottom, less than left should be out in "bottom" direction', function () {
  65. dragToScroll.setCallback(function (scrollX, scrollY) {
  66. expect(scrollX).toEqual(-1);
  67. expect(scrollY).toEqual(1);
  68. });
  69. dragToScroll.check(99, 1001);
  70. });
  71. });