diff options
| author | Pierre-Charles David | 2016-11-28 15:02:50 +0000 |
|---|---|---|
| committer | Pierre-Charles David | 2017-03-20 16:31:02 +0000 |
| commit | 6291660c788a37b37862d352f62e65a0d51bb6be (patch) | |
| tree | 113c11b5f96b2e76c3d294bc9cff6fd777ac30ce | |
| parent | f443e40d7e5ee714a95669a5aefffeb1129098f5 (diff) | |
| download | org.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>
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); |
