describe('WalkontableScrollbarNative', () => { var $table, $container, $wrapper, debug = false; beforeEach(() => { $wrapper = $('
').css({overflow: 'hidden'}); $wrapper.width(100).height(200); $container = $('
'); $table = $('
'); // create a table that is not attached to document $wrapper.append($container); $container.append($table); $wrapper.appendTo('body'); createDataArray(); }); afterEach(() => { if (!debug) { $('.wtHolder').remove(); } $wrapper.remove(); }); it('initial render should be no different than the redraw (vertical)', () => { createDataArray(100, 1); var wt = new Walkontable.Core({ table: $table[0], data: getData, totalRows: getTotalRows, totalColumns: getTotalColumns }); wt.draw(); var tds = $table.find('td').length; wt.draw(); expect($table.find('td').length).toEqual(tds); }); it('initial render should be no different than the redraw (horizontal)', () => { createDataArray(1, 50); var wt = new Walkontable.Core({ table: $table[0], data: getData, totalRows: getTotalRows, totalColumns: getTotalColumns }); wt.draw(); var tds = $table.find('td').length; wt.draw(); expect($table.find('td').length).toEqual(tds); }); it('scrolling 50px down should render 2 more rows', () => { createDataArray(20, 4); var wt = new Walkontable.Core({ table: $table[0], data: getData, totalRows: getTotalRows, totalColumns: getTotalColumns }); wt.draw(); var lastRenderedRow = wt.wtTable.getLastRenderedRow(); $(wt.wtTable.holder).scrollTop(50); wt.draw(); expect(wt.wtTable.getLastRenderedRow()).toEqual(lastRenderedRow + 2); }); it('should recognize the scrollHandler properly, even if the \'overflow\' property is assigned in an external stylesheet', () => { $wrapper.css({ overflow: '' }); $wrapper.addClass('testOverflowHidden'); createDataArray(20, 4); var wt = new Walkontable.Core({ table: $table[0], data: getData, totalRows: getTotalRows, totalColumns: getTotalColumns }); wt.draw(); wt.wtOverlays.topOverlay.scrollTo(3); expect($(wt.wtTable.holder).scrollTop()).toEqual(69); }); });