describe('WalkontableScrollbarNative', function () { var $table, $container, $wrapper, debug = false; beforeEach(function () { $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(function () { if (!debug) { $('.wtHolder').remove(); } $wrapper.remove(); }); it('initial render should be no different than the redraw (vertical)', function () { 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)', function () { 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', function () { 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', function () { $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); }); });