12345678910111213141516171819202122232425262728293031323334 |
- package com.vaadin.tests.components.grid;
-
- import com.vaadin.server.VaadinRequest;
- import com.vaadin.shared.ui.ContentMode;
- import com.vaadin.tests.components.AbstractTestUI;
- import com.vaadin.ui.Button;
- import com.vaadin.ui.Grid;
- import com.vaadin.ui.Label;
- import com.vaadin.ui.VerticalLayout;
-
- public class GridClientMemoryLeak extends AbstractTestUI {
-
- private static final String INSTRUCTIONS = "This UI is for manually testing that the client side grid does not leak memory. "
- + "Steps to take:\n" + "\t1. Click the newGrid button 1-n times\n"
- + "\t2. Capture a JS heap dump in your browser\n"
- + "\t3. The heap dump should only contain 1 instance of each of the following:\n"
- + "\t\tGrid, GridKeyDownEvent, GridKeyPressEvent, GridKeyUpEvent, GridClickEvent, GridDoubleClickEvent";
-
- @Override
- protected void setup(VaadinRequest request) {
- final Label instructionLabel = new Label(INSTRUCTIONS,
- ContentMode.PREFORMATTED);
- final VerticalLayout layout = new VerticalLayout();
- final Button btn = new Button("newGrid");
- btn.addClickListener(event -> {
- layout.removeComponent(layout.getComponent(1));
- layout.addComponent(new Grid<String>());
- });
- layout.addComponent(instructionLabel);
- layout.addComponent(btn);
- layout.addComponent(new Grid<String>());
- addComponent(layout);
- }
- }
|