Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Charles David2016-11-28 15:02:50 +0000
committerPierre-Charles David2017-03-20 16:31:02 +0000
commit6291660c788a37b37862d352f62e65a0d51bb6be (patch)
tree113c11b5f96b2e76c3d294bc9cff6fd777ac30ce
parentf443e40d7e5ee714a95669a5aefffeb1129098f5 (diff)
downloadorg.eclipse.sirius-6291660c788a37b37862d352f62e65a0d51bb6be.tar.gz
org.eclipse.sirius-6291660c788a37b37862d352f62e65a0d51bb6be.tar.xz
org.eclipse.sirius-6291660c788a37b37862d352f62e65a0d51bb6be.zip
[449007] Add non-regression test
Bug: 449007 Change-Id: Iaec82a29990981a3c0b0aa8a9f1075d57e3d9190 Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/editor/vsm/VSMEditorPropertiesTest.java62
-rw-r--r--plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java2
2 files changed, 64 insertions, 0 deletions
diff --git a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/editor/vsm/VSMEditorPropertiesTest.java b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/editor/vsm/VSMEditorPropertiesTest.java
new file mode 100644
index 0000000000..61903a808e
--- /dev/null
+++ b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/editor/vsm/VSMEditorPropertiesTest.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2016 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.tests.swtbot.editor.vsm;
+
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
+import org.eclipse.sirius.tests.SiriusTestsPlugin;
+import org.eclipse.sirius.tests.swtbot.support.api.AbstractSiriusSwtBotGefTestCase;
+import org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotVSMEditor;
+import org.eclipse.sirius.tests.swtbot.support.utils.SWTBotUtils;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * Tests for the VSM editor's properties view.
+ *
+ * @author pcdavid
+ */
+public class VSMEditorPropertiesTest extends AbstractSiriusSwtBotGefTestCase {
+ /**
+ * The identifier of the "Properties" view.
+ */
+ private static final String VIEW_ID = "org.eclipse.ui.views.PropertySheet";
+
+ @Override
+ protected void onSetUpBeforeClosingWelcomePage() throws Exception {
+ copyFileToTestProject(SiriusTestsPlugin.PLUGIN_ID, "data/unit/vsm/", "valideVSM.odesign");
+ }
+
+ /**
+ * Regression test to check that closing and then re-opening the VSM
+ * editor's property sheet does not cause any issue (it used to crash SWT by
+ * attempting to reuse an already disposed widget).
+ *
+ * @bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=449007
+ * @throws PartInitException
+ * if the VSM editor could not be opened.
+ */
+ public void testCloseAndReeopenVSMEditorProperties() throws PartInitException {
+ UIThreadRunnable.asyncExec(() -> EclipseUIUtil.showView(VSMEditorPropertiesTest.VIEW_ID));
+ SWTBotUtils.waitAllUiEvents();
+
+ SWTBotVSMEditor vsmEditor = openViewpointSpecificationModel("valideVSM.odesign");
+ SWTBotUtils.waitAllUiEvents();
+
+ UIThreadRunnable.asyncExec(() -> EclipseUIUtil.hideView(VSMEditorPropertiesTest.VIEW_ID));
+ SWTBotUtils.waitAllUiEvents();
+
+ UIThreadRunnable.asyncExec(() -> EclipseUIUtil.showView(VSMEditorPropertiesTest.VIEW_ID));
+ SWTBotUtils.waitAllUiEvents();
+
+ vsmEditor.setFocus();
+ SWTBotUtils.waitAllUiEvents();
+ }
+}
diff --git a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java
index 92e965e40a..843f85001d 100644
--- a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java
+++ b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java
@@ -35,6 +35,7 @@ import org.eclipse.sirius.tests.swtbot.editor.vsm.MetamodelPropertyTabTests;
import org.eclipse.sirius.tests.swtbot.editor.vsm.MigrationOnVsmEditorReloadTest;
import org.eclipse.sirius.tests.swtbot.editor.vsm.OpeningContextTest;
import org.eclipse.sirius.tests.swtbot.editor.vsm.ResizeKindEditorTest;
+import org.eclipse.sirius.tests.swtbot.editor.vsm.VSMEditorPropertiesTest;
import org.eclipse.sirius.tests.swtbot.editor.vsm.VSMFieldTest;
import org.eclipse.sirius.tests.swtbot.editor.vsm.ValidationEmptyNameTest;
import org.eclipse.sirius.tests.swtbot.editor.vsm.ViewpointSpecificationProjectCreationTest;
@@ -405,6 +406,7 @@ public class AllTestSuite extends TestCase {
suite.addTestSuite(LocalSessionViewTest.class);
suite.addTestSuite(ShowTypeActionButtonTest.class);
suite.addTestSuite(ChildrenPositionStabilityAfterParentResizeTest.class);
+ suite.addTestSuite(VSMEditorPropertiesTest.class);
// Scenario test cases
suite.addTestSuite(ESEDemoTest.class);

Back to the top