93 lines
2.8 KiB
JavaScript
93 lines
2.8 KiB
JavaScript
"use strict";
|
|
|
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
|
|
var _accessibilityOverscanIndicesGetter = _interopRequireWildcard(require("./accessibilityOverscanIndicesGetter"));
|
|
|
|
describe('overscanIndicesGetter', function () {
|
|
function testHelper(_ref) {
|
|
var cellCount = _ref.cellCount,
|
|
startIndex = _ref.startIndex,
|
|
stopIndex = _ref.stopIndex,
|
|
overscanCellsCount = _ref.overscanCellsCount,
|
|
scrollDirection = _ref.scrollDirection;
|
|
return (0, _accessibilityOverscanIndicesGetter["default"])({
|
|
cellCount: cellCount,
|
|
overscanCellsCount: overscanCellsCount,
|
|
scrollDirection: scrollDirection,
|
|
startIndex: startIndex,
|
|
stopIndex: stopIndex
|
|
});
|
|
}
|
|
|
|
it('should still overscan by 1 (for keyboard accessibility) if :overscanCellsCount is 0', function () {
|
|
expect(testHelper({
|
|
cellCount: 100,
|
|
startIndex: 10,
|
|
stopIndex: 20,
|
|
overscanCellsCount: 0,
|
|
scrollDirection: _accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD
|
|
})).toEqual({
|
|
overscanStartIndex: 9,
|
|
overscanStopIndex: 21
|
|
});
|
|
expect(testHelper({
|
|
cellCount: 100,
|
|
startIndex: 10,
|
|
stopIndex: 20,
|
|
overscanCellsCount: 0,
|
|
scrollDirection: _accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD
|
|
})).toEqual({
|
|
overscanStartIndex: 9,
|
|
overscanStopIndex: 21
|
|
});
|
|
});
|
|
it('should overscan forward', function () {
|
|
expect(testHelper({
|
|
cellCount: 100,
|
|
startIndex: 20,
|
|
stopIndex: 30,
|
|
overscanCellsCount: 10,
|
|
scrollDirection: _accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD
|
|
})).toEqual({
|
|
overscanStartIndex: 19,
|
|
overscanStopIndex: 40
|
|
});
|
|
});
|
|
it('should overscan backward', function () {
|
|
expect(testHelper({
|
|
cellCount: 100,
|
|
startIndex: 20,
|
|
stopIndex: 30,
|
|
overscanCellsCount: 10,
|
|
scrollDirection: _accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD
|
|
})).toEqual({
|
|
overscanStartIndex: 10,
|
|
overscanStopIndex: 31
|
|
});
|
|
});
|
|
it('should not overscan beyond the start of the list', function () {
|
|
expect(testHelper({
|
|
cellCount: 100,
|
|
startIndex: 5,
|
|
stopIndex: 15,
|
|
overscanCellsCount: 10,
|
|
scrollDirection: _accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD
|
|
})).toEqual({
|
|
overscanStartIndex: 0,
|
|
overscanStopIndex: 16
|
|
});
|
|
});
|
|
it('should not overscan beyond the end of the list', function () {
|
|
expect(testHelper({
|
|
cellCount: 25,
|
|
startIndex: 10,
|
|
stopIndex: 20,
|
|
overscanCellsCount: 10,
|
|
scrollDirection: _accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD
|
|
})).toEqual({
|
|
overscanStartIndex: 9,
|
|
overscanStopIndex: 24
|
|
});
|
|
});
|
|
}); |