Skip to content

Commit 7c2f125

Browse files
committed
extract indicies tests spec
1 parent 15c9cbf commit 7c2f125

File tree

7 files changed

+74
-66
lines changed

7 files changed

+74
-66
lines changed

dist/ui-scroll.js

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ui-scroll.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ui-scroll.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ui-scroll.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ui-scroll.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,10 @@ angular.module('ui.scroll', [])
124124
set: (value) => {
125125
getter = value;
126126
buffer[propUserName] = value;
127+
let topPaddingHeightOld = viewport.topDataPos();
127128
viewport.adjustPaddings();
128129
if (propName === 'minIndex') {
129-
viewport.onAfterMinIndexSet(viewport.topDataPos());
130+
viewport.onAfterMinIndexSet(topPaddingHeightOld);
130131
}
131132
},
132133
get: () => getter

test/BasicTestsSpec.js

Lines changed: 0 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -717,65 +717,6 @@ describe('uiScroll', function () {
717717

718718
});
719719

720-
describe('user min and max indexes', function () {
721-
722-
var viewportHeight = 120;
723-
var itemHeight = 20;
724-
var bufferSize = 3;
725-
var userMinIndex = -100;
726-
var userMaxIndex = 100;
727-
728-
var scrollSettings = {
729-
datasource: 'myInfiniteDatasource',
730-
viewportHeight: viewportHeight,
731-
itemHeight: itemHeight,
732-
bufferSize: bufferSize
733-
};
734-
735-
it('should calculate bottom padding element\'s height after user max index is set', function () {
736-
737-
var setMaxIndex;
738-
inject(function (myInfiniteDatasource) {
739-
setMaxIndex = function () {
740-
myInfiniteDatasource.maxIndex = userMaxIndex;
741-
};
742-
});
743-
744-
runTest(scrollSettings,
745-
function (viewport) {
746-
var bottomPaddingElement = angular.element(viewport.children()[viewport.children().length - 1]);
747-
748-
setMaxIndex();
749-
750-
var virtualItemsAmount = userMaxIndex - (viewportHeight / itemHeight) - bufferSize;
751-
expect(bottomPaddingElement.height()).toBe(itemHeight * virtualItemsAmount);
752-
}
753-
);
754-
});
755-
756-
it('should calculate top padding element\'s height after user min index is set', function () {
757-
758-
var setMinIndex;
759-
inject(function (myInfiniteDatasource) {
760-
setMinIndex = function () {
761-
myInfiniteDatasource.minIndex = userMinIndex;
762-
};
763-
});
764-
765-
runTest(scrollSettings,
766-
function (viewport) {
767-
var topPaddingElement = angular.element(viewport.children()[0]);
768-
769-
setMinIndex();
770-
771-
var virtualItemsAmount = (-1) * userMinIndex - bufferSize + 1;
772-
expect(topPaddingElement.height()).toBe(itemHeight * virtualItemsAmount);
773-
}
774-
);
775-
});
776-
777-
});
778-
779720
describe('attributes scope binding', function () {
780721
var calls = null;
781722
var bufferSize = 5;

test/UserIndiciesSpec.js

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
/*global describe, beforeEach, module, inject, it, expect, runTest */
2+
describe('uiScroll main/max indicies', function() {
3+
'use strict';
4+
5+
beforeEach(module('ui.scroll'));
6+
beforeEach(module('ui.scroll.test.datasources'));
7+
8+
describe('user min and max indexes', function() {
9+
var viewportHeight = 120;
10+
var itemHeight = 20;
11+
var bufferSize = 3;
12+
var userMinIndex = -100;
13+
var userMaxIndex = 100;
14+
15+
var scrollSettings = {
16+
datasource: 'myInfiniteDatasource',
17+
viewportHeight: viewportHeight,
18+
itemHeight: itemHeight,
19+
bufferSize: bufferSize
20+
};
21+
it('should calculate bottom padding element\'s height after user max index is set', function() {
22+
23+
var setMaxIndex;
24+
inject(function(myInfiniteDatasource) {
25+
setMaxIndex = function() {
26+
myInfiniteDatasource.maxIndex = userMaxIndex;
27+
};
28+
});
29+
30+
runTest(scrollSettings,
31+
function(viewport) {
32+
var bottomPaddingElement = angular.element(viewport.children()[viewport.children().length - 1]);
33+
34+
setMaxIndex();
35+
36+
var virtualItemsAmount = userMaxIndex - (viewportHeight / itemHeight) - bufferSize;
37+
expect(bottomPaddingElement.height()).toBe(itemHeight * virtualItemsAmount);
38+
}
39+
);
40+
});
41+
42+
it('should calculate top padding element\'s height after user min index is set', function() {
43+
44+
var setMinIndex;
45+
inject(function(myInfiniteDatasource) {
46+
setMinIndex = function() {
47+
myInfiniteDatasource.minIndex = userMinIndex;
48+
};
49+
});
50+
51+
runTest(scrollSettings,
52+
function(viewport) {
53+
var topPaddingElement = angular.element(viewport.children()[0]);
54+
55+
setMinIndex();
56+
57+
var virtualItemsAmount = (-1) * userMinIndex - bufferSize + 1;
58+
expect(topPaddingElement.height()).toBe(itemHeight * virtualItemsAmount);
59+
}
60+
);
61+
});
62+
63+
});
64+
65+
});

0 commit comments

Comments
 (0)