@@ -0,0 +1,1249 @@
+package com.vaadin.tests.components.table;%0A%0Aimport com.vaadin.tests.components.TestBase;%0Aimport com.vaadin.ui.Button;%0Aimport com.vaadin.ui.Button.ClickEvent;%0Aimport com.vaadin.ui.Button.ClickListener;%0Aimport com.vaadin.ui.Table;%0A%0Apublic class AddNonRenderedRow extends TestBase %7B%0A    int index = 0;%0A%0A    private final Table table = new Table();%0A%0A    @Override%0A    public void setup() %7B%0A%0A        table.setPageLength(5);%0A        table.addContainerProperty(%22rowID%22, Integer.class, null);%0A        for (int i = 0; i %3C 4; i++) %7B%0A            addRow();%0A        %7D%0A%0A        Button addrowButton = new Button(%22Add row%22);%0A        addrowButton.addListener(new ClickListener() %7B%0A            public void buttonClick(ClickEvent pEvent) %7B%0A                addRow();%0A            %7D%0A        %7D);%0A%0A        addComponent(table);%0A        addComponent(addrowButton);%0A    %7D%0A%0A    private void addRow() %7B%0A        table.addItem(new Object%5B%5D %7B Integer.valueOf(++index) %7D, null);%0A        // table.refreshRowCache();%0A    %7D%0A%0A    @Override%0A    protected String getDescription() %7B%0A        return %22Adding a row to the table should work even when the added rows are not visible.%22;%0A    %7D%0A%0A    @Override%0A    protected Integer getTicketNumber() %7B%0A        return Integer.valueOf(8077);%0A    %7D%0A%7D

Test case for #8077