test coverage improvements + build against latest search console build
diff --git a/development/org.eclipse.wst.sse.sieditor.releng/pom.xml b/development/org.eclipse.wst.sse.sieditor.releng/pom.xml
index 38848c1..a2d4db4 100644
--- a/development/org.eclipse.wst.sse.sieditor.releng/pom.xml
+++ b/development/org.eclipse.wst.sse.sieditor.releng/pom.xml
@@ -66,7 +66,7 @@
</repository>
<repository>
<id>e4-incubation</id>
- <url>http://download.eclipse.org/e4/downloads/drops/R-0.11-201106201631/repository</url>
+ <url>http://download.eclipse.org/e4/downloads/drops/R-0.14-201306242200/repository/</url>
<layout>p2</layout>
</repository>
</repositories>
diff --git a/plugins/org.eclipse.wst.sse.sieditor.search.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.sse.sieditor.search.test/META-INF/MANIFEST.MF
index 0bd0b00..d5ec674 100644
--- a/plugins/org.eclipse.wst.sse.sieditor.search.test/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.sse.sieditor.search.test/META-INF/MANIFEST.MF
@@ -18,7 +18,9 @@
org.eclipse.equinox.common;bundle-version="3.6.0",
org.eclipse.platform.discovery.util;bundle-version="0.11.0",
org.eclipse.ui.forms,
- org.eclipse.wst.sse.sieditor.test;bundle-version="1.0.0"
+ org.eclipse.wst.sse.sieditor.test;bundle-version="1.0.0",
+ org.eclipse.wst.wsdl,
+ org.eclipse.emf.ecore
Export-Package: org.eclipse.wst.sse.sieditor.search.destinations,
org.eclipse.wst.sse.sieditor.search.destinations.wsdl,
org.eclipse.wst.sse.sieditor.search.destinations.xsd,
diff --git a/plugins/org.eclipse.wst.sse.sieditor.search.test/src/org/eclipse/wst/sse/sieditor/search/suites/SearchConsoleIntegrationAllTestSuite.java b/plugins/org.eclipse.wst.sse.sieditor.search.test/src/org/eclipse/wst/sse/sieditor/search/suites/SearchConsoleIntegrationAllTestSuite.java
index 700c542..563e6cc 100644
--- a/plugins/org.eclipse.wst.sse.sieditor.search.test/src/org/eclipse/wst/sse/sieditor/search/suites/SearchConsoleIntegrationAllTestSuite.java
+++ b/plugins/org.eclipse.wst.sse.sieditor.search.test/src/org/eclipse/wst/sse/sieditor/search/suites/SearchConsoleIntegrationAllTestSuite.java
@@ -14,6 +14,7 @@
import org.eclipse.wst.sse.sieditor.search.ui.BasicSearchResultCustomUiCreatorTest;
import org.eclipse.wst.sse.sieditor.search.ui.SearchResultContentProviderTest;
import org.eclipse.wst.sse.sieditor.search.ui.SearchResultLableProviderTest;
+import org.eclipse.wst.sse.sieditor.search.ui.actions.AbstractActiveOnSingleSelectionActionTest;
import org.eclipse.wst.sse.sieditor.search.ui.actions.CopyActionTest;
import org.eclipse.wst.sse.sieditor.search.ui.actions.OpenInEditorActionTest;
import org.eclipse.wst.sse.sieditor.search.ui.tree.FileNodeTest;
@@ -27,22 +28,23 @@
@SuiteClasses({ RootTreeNodeTest.class,
NameSpaceNodeTest.class,
LocalXsdDefinitionsSearchProviderTest.class,
- LocalWsdlDefinitionsSearchProviderTest.class,
+ LocalWsdlDefinitionsSearchProviderTest.class,
LocalXsdDestinationsProviderTest.class,
- LocalWsdlDestinationsProviderTest.class,
- AbstractSearchDestinationTest.class,
+ LocalWsdlDestinationsProviderTest.class,
+ AbstractSearchDestinationTest.class,
SearchResultContentProviderTest.class,
- SearchResultLableProviderTest.class,
- FileNodeTest.class,
+ SearchResultLableProviderTest.class,
+ FileNodeTest.class,
BasicSearchResultCustomUiCreatorTest.class,
- OpenInEditorActionTest.class,
- XsdDefinitionsSearchQueryTest.class,
+ OpenInEditorActionTest.class,
+ XsdDefinitionsSearchQueryTest.class,
WsdlDefinitionsSearchQueryTest.class,
- AbstractLocalDefinitionsSearchProviderTest.class,
- WildcardStringMatcherTest.class,
+ AbstractLocalDefinitionsSearchProviderTest.class,
+ WildcardStringMatcherTest.class,
WsdlSearchQueryOperationTest.class,
- XsdSearchQueryOperationTest.class,
- CopyActionTest.class
+ XsdSearchQueryOperationTest.class,
+ CopyActionTest.class,
+ AbstractActiveOnSingleSelectionActionTest.class,
})
public class SearchConsoleIntegrationAllTestSuite {
diff --git a/plugins/org.eclipse.wst.sse.sieditor.search.test/src/org/eclipse/wst/sse/sieditor/search/ui/actions/AbstractActiveOnSingleSelectionActionTest.java b/plugins/org.eclipse.wst.sse.sieditor.search.test/src/org/eclipse/wst/sse/sieditor/search/ui/actions/AbstractActiveOnSingleSelectionActionTest.java
new file mode 100644
index 0000000..915eaec
--- /dev/null
+++ b/plugins/org.eclipse.wst.sse.sieditor.search.test/src/org/eclipse/wst/sse/sieditor/search/ui/actions/AbstractActiveOnSingleSelectionActionTest.java
@@ -0,0 +1,52 @@
+package org.eclipse.wst.sse.sieditor.search.ui.actions;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.junit.Assert;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+public class AbstractActiveOnSingleSelectionActionTest {
+
+ @Test
+ public void testGetStructuredSelectionFirstElement() {
+ IStructuredSelection structuredSelection = Mockito.mock(IStructuredSelection.class);
+ ISelection firstElement = Mockito.mock(ISelection.class);
+ Mockito.when(structuredSelection.getFirstElement()).thenReturn(firstElement);
+
+ MockedActiveOnSingleSelectionAction mock = new MockedActiveOnSingleSelectionAction(structuredSelection);
+ Assert.assertEquals(firstElement, mock.getStructuredSelectionFirstElement());
+
+ }
+
+ @Test
+ public void testIsEnabled() {
+ ISelection selection = Mockito.mock(ISelection.class);
+ MockedActiveOnSingleSelectionAction mock = new MockedActiveOnSingleSelectionAction(selection);
+ Assert.assertFalse(mock.isEnabled());
+
+ IStructuredSelection structuredSelection = Mockito.mock(IStructuredSelection.class);
+ mock = new MockedActiveOnSingleSelectionAction(structuredSelection);
+ Mockito.when(structuredSelection.size()).thenReturn(0);
+ Assert.assertFalse(mock.isEnabled());
+
+ Mockito.when(structuredSelection.size()).thenReturn(2);
+ Assert.assertFalse(mock.isEnabled());
+
+ Mockito.when(structuredSelection.size()).thenReturn(1);
+ Assert.assertTrue(mock.isEnabled());
+ }
+
+ private class MockedActiveOnSingleSelectionAction extends AbstractActiveOnSingleSelectionAction {
+
+ @Override
+ protected Object getStructuredSelectionFirstElement() {
+ return super.getStructuredSelectionFirstElement();
+ }
+
+ public MockedActiveOnSingleSelectionAction(ISelection selection) {
+ super(selection);
+ }
+
+ }
+}
diff --git a/plugins/org.eclipse.wst.sse.sieditor.search.test/src/org/eclipse/wst/sse/sieditor/search/ui/actions/OpenInEditorActionTest.java b/plugins/org.eclipse.wst.sse.sieditor.search.test/src/org/eclipse/wst/sse/sieditor/search/ui/actions/OpenInEditorActionTest.java
index 8b5632e..65641fb 100644
--- a/plugins/org.eclipse.wst.sse.sieditor.search.test/src/org/eclipse/wst/sse/sieditor/search/ui/actions/OpenInEditorActionTest.java
+++ b/plugins/org.eclipse.wst.sse.sieditor.search.test/src/org/eclipse/wst/sse/sieditor/search/ui/actions/OpenInEditorActionTest.java
@@ -1,27 +1,96 @@
package org.eclipse.wst.sse.sieditor.search.ui.actions;
+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.jface.viewers.ISelection;
+import org.eclipse.wst.sse.sieditor.model.api.IModelObject;
+import org.eclipse.wst.sse.sieditor.model.api.IWsdlModelRoot;
+import org.eclipse.wst.sse.sieditor.model.impl.WSDLFactory;
+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.search.ui.tree.FileNode;
+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.DataTypesEditor;
import org.eclipse.wst.sse.sieditor.ui.ServiceInterfaceEditor;
-import org.eclipse.wst.sse.sieditor.ui.v2.dt.nodes.INamespaceNode;
import org.eclipse.wst.sse.sieditor.ui.v2.nodes.ITreeNode;
+import org.eclipse.wst.wsdl.Definition;
+import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
import org.junit.Assert;
+import org.junit.BeforeClass;
import org.junit.Test;
import org.mockito.Mockito;
-public class OpenInEditorActionTest {
+@SuppressWarnings("nls")
+public class OpenInEditorActionTest extends ProjectBasedTest {
+
+ private IFile copiedFileIntoTestProject;
+
+ @BeforeClass
+ public void setUp() throws Exception {
+ super.setUp();
+
+ copiedFileIntoTestProject = ResourceUtils.copyFileIntoTestProject("pub/simple/NewWSDLFileCyclingTypes.wsdl",
+ SIEditorBaseTest.Document_FOLDER_NAME, this.getProject(), "ECC_CUSTOMER002QR.wsdl");
+
+ setDeleteProjectOnTearDown();
+ }
+
+ @Test
+ public void testGetFileFromTreeNode() {
+ OpenInEditorActionMock openInEditorActionMock = new OpenInEditorActionMock(Mockito.mock(ISelection.class));
+ FileNode fileNode = new FileNode(copiedFileIntoTestProject, Mockito.mock(ITreeNode.class), false);
+ Assert.assertEquals(copiedFileIntoTestProject, openInEditorActionMock.getFileFromTreeNode(fileNode));
+
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ WSDLResourceImpl resource = (WSDLResourceImpl) resourceSet.getResource(
+ URI.createFileURI(copiedFileIntoTestProject.getLocation().toFile().getAbsolutePath()), true);
+ Definition definition = resource.getDefinition();
+ IWsdlModelRoot modelRoot = WSDLFactory.getInstance().createWSDLModelRoot(definition);
+
+ ITreeNode treeNode = Mockito.mock(ITreeNode.class);
+ Mockito.when(treeNode.getModelObject()).thenReturn(modelRoot.getModelObject());
+
+ Assert.assertEquals(copiedFileIntoTestProject, openInEditorActionMock.getFileFromTreeNode(treeNode));
+ }
@Test
public void testGetEditorId() {
OpenInEditorActionMock openInEditorActionMock = new OpenInEditorActionMock(Mockito.mock(ISelection.class));
- ITreeNode treeNode = Mockito.mock(ITreeNode.class);
+ FileNode treeNode = Mockito.mock(FileNode.class);
+ Mockito.when(treeNode.isXsdFile()).thenReturn(false);
String editorId = openInEditorActionMock.getEditorId(treeNode);
Assert.assertEquals(ServiceInterfaceEditor.EDITOR_ID, editorId);
- INamespaceNode schemanRoot = Mockito.mock(INamespaceNode.class);
- editorId = openInEditorActionMock.getEditorId(schemanRoot);
+ Mockito.when(treeNode.isXsdFile()).thenReturn(true);
+ editorId = openInEditorActionMock.getEditorId(treeNode);
Assert.assertEquals(DataTypesEditor.EDITOR_ID, editorId);
+
+ IModelObject modelObject = Mockito.mock(IModelObject.class);
+ Mockito.when(modelObject.getRoot()).thenReturn(Mockito.mock(ISchema.class));
+ ITreeNode treeNode2 = Mockito.mock(ITreeNode.class);
+ Mockito.when(treeNode2.getModelObject()).thenReturn(modelObject);
+ editorId = openInEditorActionMock.getEditorId(treeNode2);
+ Assert.assertEquals(DataTypesEditor.EDITOR_ID, editorId);
+
+ Mockito.when(modelObject.getRoot()).thenReturn(Mockito.mock(IDescription.class));
+ editorId = openInEditorActionMock.getEditorId(treeNode2);
+ Assert.assertEquals(ServiceInterfaceEditor.EDITOR_ID, editorId);
+ }
+
+ @Test
+ public void testGetText() {
+ Assert.assertNotNull(new OpenInEditorAction(Mockito.mock(ISelection.class)).getText());
+ }
+
+ @Override
+ protected String getProjectName() {
+ return "OpenInEditorActionTest";
}
private class OpenInEditorActionMock extends OpenInEditorAction {
@@ -31,8 +100,14 @@
}
@Override
- public String getEditorId(ITreeNode treeNode) {
+ protected String getEditorId(ITreeNode treeNode) {
return super.getEditorId(treeNode);
}
+
+ @Override
+ protected IFile getFileFromTreeNode(ITreeNode selectedTreeNode) {
+ return super.getFileFromTreeNode(selectedTreeNode);
+ }
}
+
}
diff --git a/plugins/org.eclipse.wst.sse.sieditor.search/src/org/eclipse/wst/sse/sieditor/search/ui/actions/OpenInEditorAction.java b/plugins/org.eclipse.wst.sse.sieditor.search/src/org/eclipse/wst/sse/sieditor/search/ui/actions/OpenInEditorAction.java
index eebfec6..e65fa06 100644
--- a/plugins/org.eclipse.wst.sse.sieditor.search/src/org/eclipse/wst/sse/sieditor/search/ui/actions/OpenInEditorAction.java
+++ b/plugins/org.eclipse.wst.sse.sieditor.search/src/org/eclipse/wst/sse/sieditor/search/ui/actions/OpenInEditorAction.java
@@ -22,7 +22,7 @@
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.wst.sse.sieditor.model.api.IModelObject;
-import org.eclipse.wst.sse.sieditor.model.wsdl.impl.Description;
+import org.eclipse.wst.sse.sieditor.model.wsdl.api.IDescription;
import org.eclipse.wst.sse.sieditor.search.i18n.Messages;
import org.eclipse.wst.sse.sieditor.search.ui.tree.FileNode;
import org.eclipse.wst.sse.sieditor.ui.DataTypesEditor;
@@ -65,7 +65,7 @@
isWsdlFile = !fileNode.isXsdFile();
} else {
IModelObject root = selectedTreeNode.getModelObject().getRoot();
- isWsdlFile = root instanceof Description;
+ isWsdlFile = root instanceof IDescription;
}
return isWsdlFile ? ServiceInterfaceEditor.EDITOR_ID : DataTypesEditor.EDITOR_ID;
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 701eca7..a91c1a0 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,8 @@
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.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;
import org.eclipse.wst.sse.sieditor.test.ui.v2.dt.extract.ExtractSchemaTextFieldModifyListenerTest;
import org.eclipse.wst.sse.sieditor.test.ui.v2.dt.nodes.impl.ElementNodeTest;
@@ -279,7 +281,9 @@
TestSetSelectionInDTPageFromSourcePageWithDTE.class,
TestSetSelectionInSIPageFromSourcePageWithSIE.class,
TestTypePropertyEditorHyperLinkSelection.class,
- PageChangedListenersManagerTest.class
+ PageChangedListenersManagerTest.class,
+ SiEditorTransferTest.class,
+ TreeViewerDropAdapterTest.class,
})
public class UITestsSuite {
diff --git a/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/ui/v2/dt/dnd/SiEditorTransferTest.java b/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/ui/v2/dt/dnd/SiEditorTransferTest.java
new file mode 100644
index 0000000..29bcba3
--- /dev/null
+++ b/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/ui/v2/dt/dnd/SiEditorTransferTest.java
@@ -0,0 +1,65 @@
+package org.eclipse.wst.sse.sieditor.test.ui.v2.dt.dnd;
+
+import org.eclipse.swt.dnd.TransferData;
+import org.eclipse.wst.sse.sieditor.ui.v2.dt.dnd.SiEditorTransfer;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class SiEditorTransferTest {
+
+ @Test
+ public void testGetInstance() {
+ SiEditorTransfer instance1 = SiEditorTransfer.getInstance();
+ SiEditorTransfer instance2 = SiEditorTransfer.getInstance();
+ Assert.assertSame(instance1, instance2);
+ }
+
+ @Test
+ public void testIsSupportedType() {
+ TransferData transferData = new TransferData();
+ transferData.type = SiEditorTransfer.TYPEID;
+
+ Assert.assertTrue(SiEditorTransfer.getInstance().isSupportedType(transferData));
+
+ transferData.type = Integer.MAX_VALUE;
+ Assert.assertFalse(SiEditorTransfer.getInstance().isSupportedType(transferData));
+ }
+
+ @Test
+ public void testObjectCarrying() {
+ Object[] objectArray = new Object[0];
+ TransferData transferData = new TransferData();
+ transferData.type = SiEditorTransfer.TYPEID;
+ SiEditorTransfer.getInstance().javaToNative(objectArray, transferData);
+ Assert.assertSame(objectArray, SiEditorTransfer.getInstance().nativeToJava(transferData));
+ }
+
+ @Test
+ public void testGetTypeIds() {
+ SiEditorTransferExposer siEditorTransfer = new SiEditorTransferExposer();
+ int[] typeIds = siEditorTransfer.getTypeIds();
+ Assert.assertEquals(typeIds.length, 1);
+ Assert.assertEquals(SiEditorTransfer.TYPEID, typeIds[0]);
+ }
+
+ @Test
+ public void testGetTypeNames() {
+ SiEditorTransferExposer siEditorTransfer = new SiEditorTransferExposer();
+ String[] typeNames = siEditorTransfer.getTypeNames();
+ Assert.assertEquals(typeNames.length, 1);
+ Assert.assertEquals(SiEditorTransfer.TYPE_NAME, typeNames[0]);
+ }
+
+ private class SiEditorTransferExposer extends SiEditorTransfer {
+
+ @Override
+ protected int[] getTypeIds() {
+ return super.getTypeIds();
+ }
+
+ @Override
+ protected String[] getTypeNames() {
+ return super.getTypeNames();
+ }
+ }
+}
diff --git a/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/ui/v2/dt/dnd/TreeViewerDropAdapterTest.java b/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/ui/v2/dt/dnd/TreeViewerDropAdapterTest.java
new file mode 100644
index 0000000..ffc2aa4
--- /dev/null
+++ b/plugins/org.eclipse.wst.sse.sieditor.test/api/org/eclipse/wst/sse/sieditor/test/ui/v2/dt/dnd/TreeViewerDropAdapterTest.java
@@ -0,0 +1,22 @@
+package org.eclipse.wst.sse.sieditor.test.ui.v2.dt.dnd;
+
+import org.eclipse.swt.dnd.TransferData;
+import org.eclipse.wst.sse.sieditor.ui.v2.dt.dnd.SiEditorTransfer;
+import org.eclipse.wst.sse.sieditor.ui.v2.dt.dnd.TreeViewerDropAdapter;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TreeViewerDropAdapterTest {
+
+ @Test
+ public void testValidateDrop() {
+ TreeViewerDropAdapter treeViewerDropAdapter = new TreeViewerDropAdapter(null, null);
+ TransferData transferData = new TransferData();
+ transferData.type = SiEditorTransfer.TYPEID;
+
+ Assert.assertTrue(treeViewerDropAdapter.validateDrop(null, 0, transferData));
+
+ transferData.type = Integer.MAX_VALUE;
+ Assert.assertFalse(treeViewerDropAdapter.validateDrop(null, 0, transferData));
+ }
+}
diff --git a/plugins/org.eclipse.wst.sse.sieditor.ui/api/org/eclipse/wst/sse/sieditor/ui/v2/dt/dnd/SiEditorTransfer.java b/plugins/org.eclipse.wst.sse.sieditor.ui/api/org/eclipse/wst/sse/sieditor/ui/v2/dt/dnd/SiEditorTransfer.java
index b310a5b..0f6eff3 100644
--- a/plugins/org.eclipse.wst.sse.sieditor.ui/api/org/eclipse/wst/sse/sieditor/ui/v2/dt/dnd/SiEditorTransfer.java
+++ b/plugins/org.eclipse.wst.sse.sieditor.ui/api/org/eclipse/wst/sse/sieditor/ui/v2/dt/dnd/SiEditorTransfer.java
@@ -12,8 +12,8 @@
public class SiEditorTransfer extends ByteArrayTransfer {
private static SiEditorTransfer instance = new SiEditorTransfer();
- private static final String TYPE_NAME = "sie-transfer-format"; //$NON-NLS-1$
- private static final int TYPEID = registerType(TYPE_NAME);
+ public static final String TYPE_NAME = "sie-transfer-format"; //$NON-NLS-1$
+ public static final int TYPEID = registerType(TYPE_NAME);
private WeakReference<Object[]> modelObject;
@@ -21,7 +21,7 @@
return instance;
}
- private SiEditorTransfer() {
+ protected SiEditorTransfer() {
}
protected int[] getTypeIds() {