PageRenderTime 51ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/atlassian-plugins-webfragment/src/test/java/com/atlassian/plugin/web/descriptors/TestDefaultWebItemModuleDescriptor.java

https://bitbucket.org/atlassian/atlassian-plugins-webfragment
Java | 119 lines | 90 code | 29 blank | 0 comment | 0 complexity | 4360ffa71e26d16c782ad8ed08e97fe8 MD5 | raw file
  1. package com.atlassian.plugin.web.descriptors;
  2. import com.atlassian.plugin.Plugin;
  3. import com.atlassian.plugin.PluginArtifact;
  4. import com.atlassian.plugin.PluginParseException;
  5. import com.atlassian.plugin.impl.AbstractPlugin;
  6. import junit.framework.TestCase;
  7. import org.dom4j.Document;
  8. import org.dom4j.DocumentException;
  9. import org.dom4j.DocumentHelper;
  10. import org.dom4j.Element;
  11. import java.io.InputStream;
  12. import java.net.URL;
  13. import static org.mockito.Mockito.mock;
  14. public class TestDefaultWebItemModuleDescriptor extends TestCase {
  15. private WebItemModuleDescriptor descriptor;
  16. private final PluginArtifact pluginArtifact = mock(PluginArtifact.class);
  17. private final Plugin plugin = new MockPlugin(pluginArtifact, this.getClass().getName());
  18. @Override
  19. protected void setUp() throws Exception {
  20. descriptor = new DefaultWebItemModuleDescriptor(new MockWebInterfaceManager());
  21. }
  22. public void testGetStyleClass() throws DocumentException, PluginParseException {
  23. final String className = "testClass";
  24. final String styleClass = "<styleClass>" + className + "</styleClass>";
  25. final Element element = createElement(styleClass);
  26. descriptor.init(plugin, element);
  27. assertEquals(className, descriptor.getStyleClass());
  28. }
  29. public void testGetStyleClassTrimmed() throws DocumentException, PluginParseException {
  30. final String className = "testClass";
  31. final String styleClass = "<styleClass> " + className + " </styleClass>";
  32. final Element element = createElement(styleClass);
  33. descriptor.init(plugin, element);
  34. assertEquals(className, descriptor.getStyleClass());
  35. }
  36. public void testGetStyleClassSpaceSeparated() throws DocumentException, PluginParseException {
  37. final String className = "testClass testClass2";
  38. final String styleClass = "<styleClass>" + className + "</styleClass>";
  39. final Element element = createElement(styleClass);
  40. descriptor.init(plugin, element);
  41. assertEquals(className, descriptor.getStyleClass());
  42. }
  43. public void testGetStyleClassEmpty() throws DocumentException, PluginParseException {
  44. final String styleClass = "<styleClass></styleClass>";
  45. final Element element = createElement(styleClass);
  46. descriptor.init(plugin, element);
  47. assertEquals("", descriptor.getStyleClass());
  48. }
  49. public void testGetStyleClassNone() throws DocumentException, PluginParseException {
  50. final String styleClass = "";
  51. final Element element = createElement(styleClass);
  52. descriptor.init(plugin, element);
  53. assertNotNull(descriptor.getStyleClass());
  54. assertEquals("", descriptor.getStyleClass());
  55. }
  56. private Element createElement(final String childElement) throws DocumentException {
  57. final String rootElement = "<root key=\"key\">" + childElement + "</root>";
  58. final Document document = DocumentHelper.parseText(rootElement);
  59. final Element element = document.getRootElement();
  60. return element;
  61. }
  62. private class MockPlugin extends AbstractPlugin {
  63. MockPlugin(final PluginArtifact pluginArtifact, final String key) {
  64. super(pluginArtifact);
  65. setKey(key);
  66. setName(key);
  67. }
  68. public boolean isUninstallable() {
  69. return false;
  70. }
  71. public boolean isDeleteable() {
  72. return false;
  73. }
  74. public boolean isDynamicallyLoaded() {
  75. return false;
  76. }
  77. public <T> Class<T> loadClass(final String clazz, final Class<?> callingClass) throws ClassNotFoundException {
  78. return null;
  79. }
  80. public ClassLoader getClassLoader() {
  81. return this.getClass().getClassLoader();
  82. }
  83. public URL getResource(final String path) {
  84. return null;
  85. }
  86. public InputStream getResourceAsStream(final String name) {
  87. return null;
  88. }
  89. }
  90. }