From 2a5d611df2e8f71649038fa089612817827df973 Mon Sep 17 00:00:00 2001 From: Teppo Kurki Date: Wed, 24 Jun 2015 16:28:05 +0300 Subject: [PATCH] Converted split panel min/max test to TB4 Change-Id: I87bb905bf48dfeaec21abaafefbb617f05b0a3f5 --- .../SplitPanelWithMinimumAndMaximum.java | 11 +- .../SplitPanelWithMinimumAndMaximumTest.java | 249 +++++++++++++++++ .../SplitPanelWithMinimumAndMaximum.html | 262 ------------------ 3 files changed, 255 insertions(+), 267 deletions(-) create mode 100644 uitest/src/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximumTest.java delete mode 100644 uitest/tb2/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximum.html diff --git a/uitest/src/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximum.java b/uitest/src/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximum.java index beebbf4d2a..3359ec0559 100644 --- a/uitest/src/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximum.java +++ b/uitest/src/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximum.java @@ -1,7 +1,8 @@ package com.vaadin.tests.components.splitpanel; import com.vaadin.server.Sizeable; -import com.vaadin.tests.components.TestBase; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; import com.vaadin.ui.Button; import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.HorizontalSplitPanel; @@ -10,10 +11,10 @@ import com.vaadin.ui.TabSheet; import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.VerticalSplitPanel; -public class SplitPanelWithMinimumAndMaximum extends TestBase { +public class SplitPanelWithMinimumAndMaximum extends AbstractTestUI { @Override - protected void setup() { + protected void setup(VaadinRequest request) { TabSheet tabs = new TabSheet(); VerticalLayout horizontalSplitsLayout = new VerticalLayout(); @@ -325,7 +326,7 @@ public class SplitPanelWithMinimumAndMaximum extends TestBase { } @Override - protected String getDescription() { + protected String getTestDescription() { return "SplitPanel could have setMaxSplitPosition and setMinSplitPosition methods as a way to set maximum and minimum limits for the split position. This is not a very critical feature but could be useful in some situations."; } @@ -333,4 +334,4 @@ public class SplitPanelWithMinimumAndMaximum extends TestBase { protected Integer getTicketNumber() { return 1744; } -} +} \ No newline at end of file diff --git a/uitest/src/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximumTest.java b/uitest/src/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximumTest.java new file mode 100644 index 0000000000..b8592e1bd8 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximumTest.java @@ -0,0 +1,249 @@ +/* + * Copyright 2000-2014 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.tests.components.splitpanel; + +import static org.junit.Assert.assertTrue; + +import java.util.List; + +import org.junit.Test; +import org.openqa.selenium.interactions.Actions; + +import com.vaadin.testbench.TestBenchElement; +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.HorizontalSplitPanelElement; +import com.vaadin.testbench.elements.TabSheetElement; +import com.vaadin.testbench.elements.VerticalSplitPanelElement; +import com.vaadin.tests.tb3.MultiBrowserTest; + +/** + * Test for {@link SplitPositionChangeListeners}. + * + * @author Vaadin Ltd + */ +public class SplitPanelWithMinimumAndMaximumTest extends MultiBrowserTest { + + @Override + public void setup() throws Exception { + super.setup(); + openTestURL(); + } + + @Test + public void testMoveHorizontalSplitsToLimits() { + // Amount of pixels to move each splitter (to left) + int[] movements = { -250, -350, -320, -100, -200, -100, -170, -400 }; + + // Expected final positions of splitters (at left limit) + int[] finalPositions = { 60, 60, 100, 100, 478, 478, 550, 550 }; + + List splits = $( + HorizontalSplitPanelElement.class).all(); + + Actions actions = new Actions(driver); + + for (int i = 0; i < splits.size(); i++) { + TestBenchElement splitter = splits.get(i).getSplitter(); + actions.clickAndHold(splitter).moveByOffset(movements[i], 0) + .release().perform(); + + double newX = parseHorizontalPosition(splitter, i < 4); + int expectedX = finalPositions[i]; + + // Due to minor browser differences and sub-pixels we must allow 1px + // of play between the expected and measured value + assertTrue("When moving left, the splitter at index " + i + + " was at position " + newX + " (expected " + expectedX + + ").", Math.abs(newX - expectedX) <= 1); + } + + // Amount of pixels to move each splitter (to right) + movements = new int[] { 450, 450, 480, 480, 450, 450, 480, 480 }; + + // Expected final positions of splitters (at right limit) + finalPositions = new int[] { 478, 478, 550, 550, 60, 60, 100, 100 }; + + for (int i = 0; i < splits.size(); i++) { + TestBenchElement splitter = splits.get(i).getSplitter(); + actions.clickAndHold(splitter).moveByOffset(movements[i], 0) + .release().perform(); + + double newX = parseHorizontalPosition(splitter, i < 4); + int expectedX = finalPositions[i]; + + assertTrue("When moving right, the splitter at index " + i + + " was at position " + newX + " (expected " + expectedX + + ").", Math.abs(newX - expectedX) <= 1); + } + } + + @Test + public void testMoveVerticalSplitsToLimits() { + $(TabSheetElement.class).first().openTab(1); + + // Amount of pixels to move each splitter (up) + int[] movements = { -210, -360, -320, -70, -165, -20, -120, -260 }; + + // Expected final positions of splitters (at upper limit) + int[] finalPositions = { 52, 52, 100, 100, 413, 413, 400, 400 }; + + List splits = $( + VerticalSplitPanelElement.class).all(); + + Actions actions = new Actions(driver); + + for (int i = 0; i < splits.size(); i++) { + TestBenchElement splitter = splits.get(i).getSplitter(); + actions.clickAndHold(splitter).moveByOffset(0, movements[i]) + .release().perform(); + + double newY = parseVerticalPosition(splitter, i < 4); + int expectedY = finalPositions[i]; + + assertTrue("When moving up, the splitter at index " + i + + " was at position " + newY + " (expected " + expectedY + + ").", Math.abs(newY - expectedY) <= 1); + } + + // Amount of pixels to move each splitter (down) + movements = new int[] { 380, 380, 370, 370, 380, 380, 320, 320 }; + + // Expected final positions of splitters (at lower limit) + finalPositions = new int[] { 413, 413, 450, 450, 52, 52, 100, 100 }; + + for (int i = 0; i < splits.size(); i++) { + TestBenchElement splitter = splits.get(i).getSplitter(); + actions.clickAndHold(splitter).moveByOffset(0, movements[i]) + .release().perform(); + + double newY = parseVerticalPosition(splitter, i < 4); + int expectedY = finalPositions[i]; + + assertTrue("When moving down, the splitter at index " + i + + " was at position " + newY + " (expected " + expectedY + + ").", Math.abs(newY - expectedY) <= 1); + } + } + + @Test + public void testHorizontalLimitsEnableDisable() { + $(TabSheetElement.class).first().openTab(2); + + // Amount of pixels to move each splitter + int[] movements = { -260, -70, 500, 130 }; + + // Expected final positions of splitters (at either limit) + int[] finalPositions = { 60, 0, 478, 591 }; + + // Only one split panel in this test + HorizontalSplitPanelElement split = $(HorizontalSplitPanelElement.class) + .first(); + TestBenchElement splitter = split.getSplitter(); + + Actions actions = new Actions(driver); + + // At left limit + actions.clickAndHold(splitter).moveByOffset(movements[0], 0).release() + .perform(); + double newX = parseHorizontalPosition(splitter, true); + int expectedX = finalPositions[0]; + + assertTrue("When moving to left limit, the splitter was at position " + + newX + " (expected " + expectedX + ").", + Math.abs(newX - expectedX) <= 1); + + // Disable left limit + $(ButtonElement.class).get(0).click(); + + // At absolute left + actions.clickAndHold(splitter).moveByOffset(movements[1], 0).release() + .perform(); + newX = parseHorizontalPosition(splitter, true); + expectedX = finalPositions[1]; + + assertTrue( + "When moving to absolute left, the splitter was at position " + + newX + " (expected " + expectedX + ").", + Math.abs(newX - expectedX) <= 1); + + // Enable left limit + $(ButtonElement.class).get(1).click(); + + newX = parseHorizontalPosition(splitter, true); + expectedX = finalPositions[0]; + + assertTrue( + "When re-enabling the left limit, the splitter was at position " + + newX + " (expected " + expectedX + ").", + Math.abs(newX - expectedX) <= 1); + + // At right limit + actions.clickAndHold(splitter).moveByOffset(movements[2], 0).release() + .perform(); + newX = parseHorizontalPosition(splitter, true); + expectedX = finalPositions[2]; + + assertTrue("When moving to right limit, the splitter was at position " + + newX + " (expected " + expectedX + ").", + Math.abs(newX - expectedX) <= 1); + + // Disable right limit + $(ButtonElement.class).get(2).click(); + + // At absolute right + actions.clickAndHold(splitter).moveByOffset(movements[3], 0).release() + .perform(); + newX = parseHorizontalPosition(splitter, true); + expectedX = finalPositions[3]; + + assertTrue( + "When moving to absolute right, the splitter was at position " + + newX + " (expected " + expectedX + ").", + Math.abs(newX - expectedX) <= 1); + + // Enable right limit + $(ButtonElement.class).get(3).click(); + + newX = parseHorizontalPosition(splitter, true); + expectedX = finalPositions[2]; + + assertTrue( + "When re-enabling the right limit, the splitter was at position " + + newX + " (expected " + expectedX + ").", + Math.abs(newX - expectedX) <= 1); + } + + private double parseHorizontalPosition(TestBenchElement splitter, + boolean left) { + if (left) { + return Double.parseDouble(splitter.getCssValue("left").replace( + "px", "")); + } else { + return Double.parseDouble(splitter.getCssValue("right").replace( + "px", "")); + } + } + + private double parseVerticalPosition(TestBenchElement splitter, boolean top) { + if (top) { + return Double.parseDouble(splitter.getCssValue("top").replace("px", + "")); + } else { + return Double.parseDouble(splitter.getCssValue("bottom").replace( + "px", "")); + } + } +} \ No newline at end of file diff --git a/uitest/tb2/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximum.html b/uitest/tb2/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximum.html deleted file mode 100644 index c522d2b8d8..0000000000 --- a/uitest/tb2/com/vaadin/tests/components/splitpanel/SplitPanelWithMinimumAndMaximum.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - -SplitPanelWithMinimumAndMaximum - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SplitPanelWithMinimumAndMaximum
open/run/com.vaadin.tests.components.splitpanel.SplitPanelWithMinimumAndMaximum?restartApplication
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]-239,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[1]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]-340,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[2]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]-300,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[3]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]-79,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[4]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]-179,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[5]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]-78,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[6]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]-150,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[7]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]-371,0
screenCapturehorizontal-splits-left
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]418,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[1]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]418,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[2]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]450,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[3]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]450,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[4]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]418,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[5]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]418,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[6]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]450,0
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[0]/ChildComponentContainer[7]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]450,0
screenCapturehorizontal-splits-right
mouseClickvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]44,2
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,-206
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[1]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,-348
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[2]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,-300
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[3]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,-55
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[4]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,-155
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[5]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,-13
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[7]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,-300
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[6]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,-300
screenCapturevertical-splits-up
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,361
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[1]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,361
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[2]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,350
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[3]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,350
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[4]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,361
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[5]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,361
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[6]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,300
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VHorizontalLayout[0]/ChildComponentContainer[7]/VSplitPanelVertical[0]/domChild[0]/domChild[1]/domChild[0]0,300
screenCapturevertical-splits-down
mouseClickvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[2]/domChild[0]/domChild[0]/domChild[0]25,5
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[1]/ChildComponentContainer[0]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]-239,0
screenCapturetogglable-to-min-with-limit-enabled
clickvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[1]/ChildComponentContainer[1]/VHorizontalLayout[0]/ChildComponentContainer[0]/VButton[0]/domChild[0]/domChild[0]
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[1]/ChildComponentContainer[0]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]-60,0
screenCapturetogglable-to-min-with-limit-disabled
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[1]/ChildComponentContainer[0]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]478,0
screenCapturetogglable-to-max-with-limit-enabled
clickvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[1]/ChildComponentContainer[1]/VHorizontalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]
dragAndDropvaadin=runcomvaadintestscomponentssplitpanelSplitPanelWithMinimumAndMaximum::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTabsheet[0]/VTabsheetPanel[0]/VVerticalLayout[1]/ChildComponentContainer[0]/VSplitPanelHorizontal[0]/domChild[0]/domChild[1]/domChild[0]113,0
screenCapturetogglable-to-max-with-limit-disabled
- - -- 2.39.5