calculateOffset.spec.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. import $ from 'jquery';
  2. import calculateOffset from '../src/js/helpers/calculateOffset';
  3. const delay = 50;
  4. jasmine.getStyleFixtures().fixturesPath = 'base/dist';
  5. jasmine.getFixtures().fixturesPath = 'base/test/fixtures';
  6. describe('Offset -> ', function() {
  7. beforeEach(function() {
  8. jasmine.getStyleFixtures().load = 'aos.css';
  9. jasmine.getFixtures().load('aos.fixture.html');
  10. });
  11. afterEach(function() {
  12. jasmine.getStyleFixtures().cleanUp();
  13. jasmine.getFixtures().cleanUp();
  14. });
  15. describe('with default option set to "0" -> ', function() {
  16. var offset = 0;
  17. it('on aos-item--1 should equal 0', function(done) {
  18. var node = document.querySelector('.aos-item--1');
  19. setTimeout(function() {
  20. expect(calculateOffset(node, offset)).toBe(0);
  21. done();
  22. }, delay);
  23. });
  24. it('on aos-item--2 should equal 150', function(done) {
  25. var node = document.querySelector('.aos-item--2');
  26. setTimeout(function() {
  27. expect(calculateOffset(node, offset)).toBe(150);
  28. done();
  29. }, delay);
  30. });
  31. it('on aos-item--6 should equal 750', function(done) {
  32. var node = document.querySelector('.aos-item--6');
  33. setTimeout(function() {
  34. expect(calculateOffset(node, offset)).toBe(750);
  35. done();
  36. }, delay);
  37. });
  38. });
  39. describe('with default option set to "50" => ', function() {
  40. var offset = 50;
  41. it('on aos-item--1 should equal 50', function(done) {
  42. var node = document.querySelector('.aos-item--1');
  43. setTimeout(function() {
  44. expect(calculateOffset(node, offset)).toBe(50);
  45. done();
  46. }, delay);
  47. });
  48. it('on aos-item--2 should equal 200', function(done) {
  49. var node = document.querySelector('.aos-item--2');
  50. setTimeout(function() {
  51. expect(calculateOffset(node, offset)).toBe(200);
  52. done();
  53. }, delay);
  54. });
  55. it('on aos-item--6 should equal 800', function(done) {
  56. var node = document.querySelector('.aos-item--6');
  57. setTimeout(function() {
  58. expect(calculateOffset(node, offset)).toBe(800);
  59. done();
  60. }, delay);
  61. });
  62. });
  63. describe('after AOS init -> ', function() {
  64. beforeEach(function() {
  65. $('.aos-item').addClass('aos-init');
  66. });
  67. describe('with option "offset" set to "50" => ', function() {
  68. var offset = 50;
  69. it('on aos-item--1 should equal 50', function(done) {
  70. var node = document.querySelector('.aos-item--1');
  71. setTimeout(function() {
  72. expect(calculateOffset(node, offset)).toBe(50);
  73. done();
  74. }, delay);
  75. });
  76. it('on aos-item--2 should equal 200', function(done) {
  77. var node = document.querySelector('.aos-item--2');
  78. setTimeout(function() {
  79. expect(calculateOffset(node, offset)).toBe(200);
  80. done();
  81. }, delay);
  82. });
  83. it('on aos-item--6 should equal 800', function(done) {
  84. var node = document.querySelector('.aos-item--6');
  85. setTimeout(function() {
  86. expect(calculateOffset(node, offset)).toBe(800);
  87. done();
  88. }, delay);
  89. });
  90. });
  91. describe('with option "offset" set to "0" => ', function() {
  92. var offset = 0;
  93. it('on aos-item--1 should equal 0', function(done) {
  94. var node = document.querySelector('.aos-item--1');
  95. setTimeout(function() {
  96. expect(calculateOffset(node, offset)).toBe(0);
  97. done();
  98. }, delay);
  99. });
  100. it('on aos-item--2 should equal 150', function(done) {
  101. var node = document.querySelector('.aos-item--2');
  102. setTimeout(function() {
  103. expect(calculateOffset(node, offset)).toBe(150);
  104. done();
  105. }, delay);
  106. });
  107. it('on aos-item--6 should equal 750', function(done) {
  108. var node = document.querySelector('.aos-item--6');
  109. setTimeout(function() {
  110. expect(calculateOffset(node, offset)).toBe(750);
  111. done();
  112. }, delay);
  113. });
  114. });
  115. });
  116. });
  117. describe('Offset on element with attr [aos-offset] -> set to "50" ', function() {
  118. beforeEach(function() {
  119. jasmine.getStyleFixtures().load = 'aos.css';
  120. jasmine.getFixtures().load('aos-offset.fixture.html');
  121. });
  122. afterEach(function() {
  123. jasmine.getStyleFixtures().cleanUp();
  124. jasmine.getFixtures().cleanUp();
  125. });
  126. it('on aos-item--1 should equal 50', function(done) {
  127. var node = document.querySelector('.aos-item--1');
  128. setTimeout(function() {
  129. expect(calculateOffset(node)).toBe(50);
  130. done();
  131. }, delay);
  132. });
  133. it('on aos-item--2 should equal 200', function(done) {
  134. var node = document.querySelector('.aos-item--2');
  135. setTimeout(function() {
  136. expect(calculateOffset(node)).toBe(200);
  137. done();
  138. }, delay);
  139. });
  140. it('on aos-item--6 should equal 800', function(done) {
  141. var node = document.querySelector('.aos-item--6');
  142. setTimeout(function() {
  143. expect(calculateOffset(node)).toBe(800);
  144. done();
  145. }, delay);
  146. });
  147. });
  148. describe('Offset on element with attr [aos-offset] after AOS init -> set to "50" ', function() {
  149. beforeEach(function() {
  150. jasmine.getStyleFixtures().load = 'aos.css';
  151. jasmine.getFixtures().load('aos-offset.fixture.html');
  152. $('.aos-item').addClass('aos-init');
  153. });
  154. afterEach(function() {
  155. jasmine.getStyleFixtures().cleanUp();
  156. jasmine.getFixtures().cleanUp();
  157. });
  158. it('on aos-item--1 should equal 50', function(done) {
  159. var node = document.querySelector('.aos-item--1');
  160. setTimeout(function() {
  161. expect(calculateOffset(node)).toBe(50);
  162. done();
  163. }, delay);
  164. });
  165. it('on aos-item--2 should equal 200', function(done) {
  166. var node = document.querySelector('.aos-item--2');
  167. setTimeout(function() {
  168. expect(calculateOffset(node)).toBe(200);
  169. done();
  170. }, delay);
  171. });
  172. it('on aos-item--6 should equal 800', function(done) {
  173. var node = document.querySelector('.aos-item--6');
  174. setTimeout(function() {
  175. expect(calculateOffset(node)).toBe(800);
  176. done();
  177. }, delay);
  178. });
  179. });