Files
ASHEBShop-h5/node_modules/react-virtualized/dist/commonjs/Grid/accessibilityOverscanIndicesGetter.jest.js
2017-05-10 16:33:00 +08:00

101 lines
2.9 KiB
JavaScript

'use strict';
var _accessibilityOverscanIndicesGetter = require('./accessibilityOverscanIndicesGetter');
var _accessibilityOverscanIndicesGetter2 = _interopRequireDefault(_accessibilityOverscanIndicesGetter);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('overscanIndicesGetter', function () {
function testHelper(_ref) {
var cellCount = _ref.cellCount,
startIndex = _ref.startIndex,
stopIndex = _ref.stopIndex,
overscanCellsCount = _ref.overscanCellsCount,
scrollDirection = _ref.scrollDirection;
return (0, _accessibilityOverscanIndicesGetter2.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
});
});
});