Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgkonstantinov2013-08-23 21:14:33 +0000
committergkonstantinov2013-08-23 21:14:33 +0000
commit52a757ffd745c4ab9bfe686fc413530e3bb87ca5 (patch)
treedbc4893b3b171ab64569568ba4bf5b545271018a
parent28cefffe613ecf4cb18fd69a72c5a410da7548e5 (diff)
downloadorg.eclipse.webtools.incubator.sieditor-52a757ffd745c4ab9bfe686fc413530e3bb87ca5.tar.gz
org.eclipse.webtools.incubator.sieditor-52a757ffd745c4ab9bfe686fc413530e3bb87ca5.tar.xz
org.eclipse.webtools.incubator.sieditor-52a757ffd745c4ab9bfe686fc413530e3bb87ca5.zip
ClipboardServiceTest
-rw-r--r--plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/all/UITestsSuite.java2
-rw-r--r--plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/ui/v2/dt/clipboard/ClipboardServiceTest.java122
2 files changed, 124 insertions, 0 deletions
diff --git a/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/all/UITestsSuite.java b/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/all/UITestsSuite.java
index a91c1a0..c41dd54 100644
--- a/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/all/UITestsSuite.java
+++ b/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/all/UITestsSuite.java
@@ -59,6 +59,7 @@ import org.eclipse.wst.sse.sieditor.test.ui.v2.dt.StandaloneDtEditorPageNSReadOn
import org.eclipse.wst.sse.sieditor.test.ui.v2.dt.StructureNodeDetailsPageTest;
import org.eclipse.wst.sse.sieditor.test.ui.v2.dt.TestElementNodeDetailsPage;
import org.eclipse.wst.sse.sieditor.test.ui.v2.dt.TestTypeNullNameAttribute;
+import org.eclipse.wst.sse.sieditor.test.ui.v2.dt.clipboard.ClipboardServiceTest;
import org.eclipse.wst.sse.sieditor.test.ui.v2.dt.dnd.SiEditorTransferTest;
import org.eclipse.wst.sse.sieditor.test.ui.v2.dt.dnd.TreeViewerDropAdapterTest;
import org.eclipse.wst.sse.sieditor.test.ui.v2.dt.extract.ExtractNamespaceWizardTest;
@@ -284,6 +285,7 @@ import org.junit.runners.Suite.SuiteClasses;
PageChangedListenersManagerTest.class,
SiEditorTransferTest.class,
TreeViewerDropAdapterTest.class,
+ ClipboardServiceTest.class,
})
public class UITestsSuite {
diff --git a/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/ui/v2/dt/clipboard/ClipboardServiceTest.java b/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/ui/v2/dt/clipboard/ClipboardServiceTest.java
new file mode 100644
index 0000000..c212576
--- /dev/null
+++ b/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/ui/v2/dt/clipboard/ClipboardServiceTest.java
@@ -0,0 +1,122 @@
+package org.eclipse.wst.sse.sieditor.test.ui.v2.dt.clipboard;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.swt.dnd.Clipboard;
+import org.eclipse.swt.dnd.TextTransfer;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.wst.sse.sieditor.model.api.IWsdlModelRoot;
+import org.eclipse.wst.sse.sieditor.model.api.IXSDModelRoot;
+import org.eclipse.wst.sse.sieditor.model.impl.WSDLFactory;
+import org.eclipse.wst.sse.sieditor.model.impl.XSDFactory;
+import org.eclipse.wst.sse.sieditor.model.wsdl.api.IDescription;
+import org.eclipse.wst.sse.sieditor.model.xsd.api.ISchema;
+import org.eclipse.wst.sse.sieditor.model.xsd.api.IType;
+import org.eclipse.wst.sse.sieditor.test.util.ProjectBasedTest;
+import org.eclipse.wst.sse.sieditor.test.util.ResourceUtils;
+import org.eclipse.wst.sse.sieditor.test.util.SIEditorBaseTest;
+import org.eclipse.wst.sse.sieditor.ui.v2.dt.clipboard.ClipboardService;
+import org.eclipse.wst.sse.sieditor.ui.v2.dt.nodes.IDataTypesTreeNode;
+import org.eclipse.wst.wsdl.Definition;
+import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
+import org.eclipse.xsd.XSDSchema;
+import org.eclipse.xsd.util.XSDResourceImpl;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+@SuppressWarnings("nls")
+public class ClipboardServiceTest extends ProjectBasedTest {
+
+ private static final String NEW_OPERATION = "NewOperation";
+ private static final String ELEMENT1 = "Element1";
+ private IFile xsdFile;
+ private IFile wsdlFile;
+
+ @Before
+ public void setUp() throws Exception {
+ super.setUp();
+
+ xsdFile = ResourceUtils.copyFileIntoTestProject("pub/extract/NewXMLSchema1.xsd", SIEditorBaseTest.Document_FOLDER_NAME,
+ this.getProject(), "NewXMLSchema1.xsd");
+ wsdlFile = ResourceUtils.copyFileIntoTestProject("pub/simple/NewWSDLFileCyclingTypes.wsdl",
+ SIEditorBaseTest.Document_FOLDER_NAME, this.getProject(), "ECC_CUSTOMER002QR.wsdl");
+
+ setDeleteProjectOnTearDown();
+ }
+
+ @Test
+ public void testIsCopyEnabled() {
+ Assert.assertFalse(ClipboardService.isCopyEnabled(null));
+ Assert.assertFalse(ClipboardService.isCopyEnabled(new Object[0]));
+
+ Object[] selection = { new Object(), new Object() };
+ Assert.assertFalse(ClipboardService.isCopyEnabled(selection));
+
+ IDataTypesTreeNode dataTypesTreeNode = Mockito.mock(IDataTypesTreeNode.class);
+ selection[0] = dataTypesTreeNode;
+ selection[1] = new Object();
+
+ Mockito.when(dataTypesTreeNode.getModelObject()).thenReturn(Mockito.mock(IDescription.class));
+ Assert.assertFalse(ClipboardService.isCopyEnabled(selection));
+
+ Mockito.when(dataTypesTreeNode.getModelObject()).thenReturn(Mockito.mock(IType.class));
+ Assert.assertFalse(ClipboardService.isCopyEnabled(selection));
+
+ selection = new IDataTypesTreeNode[1];
+ selection[0] = dataTypesTreeNode;
+ Mockito.when(dataTypesTreeNode.getModelObject()).thenReturn(Mockito.mock(IType.class));
+ Assert.assertTrue(ClipboardService.isCopyEnabled(selection));
+ }
+
+ @Test
+ public void testCopyModelObject() {
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ XSDResourceImpl xsdResource = (XSDResourceImpl) resourceSet.getResource(createFileUri(xsdFile), true);
+ XSDSchema schema = xsdResource.getSchema();
+ IXSDModelRoot xsdModelRoot = XSDFactory.getInstance().createXSDModelRoot(schema);
+
+ IType typeFromSchema = xsdModelRoot.getSchema().getType(true, ELEMENT1);
+
+ WSDLResourceImpl resource = (WSDLResourceImpl) resourceSet.getResource(createFileUri(wsdlFile), true);
+ Definition definition = resource.getDefinition();
+
+ IWsdlModelRoot wsdlModelRoot = WSDLFactory.getInstance().createWSDLModelRoot(definition);
+ ISchema schemaFromWsdl = wsdlModelRoot.getDescription().getSchema("http://www.example.org/NewWSDLFile1/")[0];
+ IType elementFromWsdl = schemaFromWsdl.getType(true, NEW_OPERATION);
+
+ Object[] selection = new Object[3];
+ selection[0] = new Object();
+ IDataTypesTreeNode dataTypesTreeNode = Mockito.mock(IDataTypesTreeNode.class);
+ Mockito.when(dataTypesTreeNode.getModelObject()).thenReturn(typeFromSchema);
+ IDataTypesTreeNode dataTypesTreeNode2 = Mockito.mock(IDataTypesTreeNode.class);
+ Mockito.when(dataTypesTreeNode2.getModelObject()).thenReturn(elementFromWsdl);
+ selection[1] = dataTypesTreeNode;
+ selection[2] = dataTypesTreeNode2;
+
+ ClipboardService.copyModelObjectsToClipboard(selection);
+ Object[] modelObjectsFromClipboard = ClipboardService.getModelObjectsFromClipboard();
+ Assert.assertEquals(modelObjectsFromClipboard.length, 2);
+ Assert.assertSame(modelObjectsFromClipboard[0], typeFromSchema);
+ Assert.assertSame(modelObjectsFromClipboard[1], elementFromWsdl);
+
+ Clipboard clipboard = new Clipboard(Display.getCurrent());
+ String modelObjectAsText = (String) clipboard.getContents(TextTransfer.getInstance());
+ assertTrue(modelObjectAsText.contains("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"));
+ assertTrue(modelObjectAsText.contains(ELEMENT1));
+ assertTrue(modelObjectAsText.contains(NEW_OPERATION));
+ }
+
+ @Override
+ protected String getProjectName() {
+ return "ClibboardServiceTest";
+ }
+
+ protected URI createFileUri(IFile file) {
+ return URI.createFileURI(file.getLocation().toFile().getAbsolutePath());
+ }
+}

Back to the top