PageRenderTime 40ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/src/com/atlassian/uwc/converters/mediawiki/ImageConverterTest.java

https://bitbucket.org/bowmanb1/universal-wiki-converter
Java | 277 lines | 230 code | 40 blank | 7 comment | 0 complexity | 45f16962462a39366b40b87cf090220d MD5 | raw file
  1. package com.atlassian.uwc.converters.mediawiki;
  2. import java.io.File;
  3. import junit.framework.TestCase;
  4. import org.apache.log4j.Logger;
  5. import org.apache.log4j.PropertyConfigurator;
  6. import com.atlassian.uwc.ui.Page;
  7. public class ImageConverterTest extends TestCase {
  8. ImageConverter tester = null;
  9. Logger log = Logger.getLogger(this.getClass());
  10. protected void setUp() throws Exception {
  11. PropertyConfigurator.configure("log4j.properties");
  12. tester = new ImageConverter();
  13. }
  14. public void testExistingImageConversion() {
  15. String input = "[[Image:Wiki.png]]";
  16. String expected = "!Wiki.png!";
  17. String actual = tester.convertImages(input);
  18. assertNotNull(actual);
  19. assertEquals(expected, actual);
  20. input = "[[Image:Wiki.png|thumb]]";
  21. expected = "!Wiki.png|thumbnail!";
  22. actual = tester.convertImages(input);
  23. assertNotNull(actual);
  24. assertEquals(expected, actual);
  25. }
  26. public void testHandleImageProperty() {
  27. //thumb
  28. String input = "Wiki.png|thumb";
  29. String expected = "Wiki.png|thumbnail";
  30. String actual = tester.handleImageProperty(input);
  31. assertEquals(expected, actual);
  32. //none
  33. input = "Wiki.png";
  34. expected = "Wiki.png";
  35. actual = tester.handleImageProperty(input);
  36. assertEquals(expected, actual);
  37. //align
  38. input = "Wiki.png|right";
  39. expected = "Wiki.png|align=right";
  40. actual = tester.handleImageProperty(input);
  41. assertEquals(expected, actual);
  42. //thumb and align
  43. input = "Wiki.png|center|thumb";
  44. expected = "Wiki.png|thumbnail,align=center";
  45. actual = tester.handleImageProperty(input);
  46. assertEquals(expected, actual);
  47. }
  48. public void testImageConvertWithContext() {
  49. String input =
  50. "uwc-101: Mediawiki image conversion syntax needs to be case insensitive\n" +
  51. "[[image:abcd.png|thumb]]\n" +"[[Image:abcd.png]]\n" +
  52. "After\n";
  53. String expected = "uwc-101: Mediawiki image conversion syntax needs to be case insensitive\n" +
  54. "!abcd.png|thumbnail!\n" +
  55. "!abcd.png!\n" +
  56. "After\n";
  57. String actual = tester.convertImages(input);
  58. assertNotNull(actual);
  59. assertEquals(expected, actual);
  60. Page page = new Page(new File(""));
  61. page.setOriginalText(input);
  62. tester.convert(page);
  63. actual = page.getConvertedText();
  64. assertNotNull(actual);
  65. assertEquals(expected, actual);
  66. input = "Thumbnail image\n" +
  67. "\n" +
  68. "[[Image:Wiki.png|thumb]]\n" +
  69. "\n" +
  70. "After\n" +
  71. "\n";
  72. expected = "Thumbnail image\n" +
  73. "\n" +
  74. "!Wiki.png|thumbnail!\n" +
  75. "\n" +
  76. "After\n" +
  77. "\n";
  78. page.setOriginalText(input);
  79. tester.convert(page);
  80. actual = page.getConvertedText();
  81. assertNotNull(actual);
  82. assertEquals(expected, actual);
  83. }
  84. public void testAlignmentPreservation() {
  85. String input = "[[Image:Wiki.png|right]]";
  86. String expected = "!Wiki.png|align=right!";
  87. String actual = tester.convertImages(input);
  88. assertNotNull(actual);
  89. assertEquals(expected, actual);
  90. }
  91. public void testAlignmentPreservationWithPropsMethod() {
  92. String input = "Wiki.png|right";
  93. String expected = "Wiki.png|align=right";
  94. String actual = tester.handleImageProperty(input);
  95. assertNotNull(actual);
  96. assertEquals(expected, actual);
  97. input = "Wiki.png|right|thumb";
  98. expected = "Wiki.png|thumbnail,align=right";
  99. actual = tester.handleImageProperty(input);
  100. assertNotNull(actual);
  101. assertEquals(expected, actual);
  102. }
  103. public void testDontFailOnColon() {
  104. // This is a way to link to the description page. Something Confluence doesn't have.
  105. String input = "[[:Image:Wiki.png]]";
  106. String expected = "!Wiki.png!"; //FIXME Probably should be [^Wiki.png]
  107. String actual = tester.convertImages(input);
  108. assertNotNull(actual);
  109. assertEquals(expected, actual);
  110. }
  111. public void testAltText() {
  112. //We don't have anywhere to put alt text, so just lose it
  113. String input = "[[Image:Wiki.png|jigsaw globe]]";
  114. String expected = "!Wiki.png!";
  115. String actual = tester.convertImages(input);
  116. assertNotNull(actual);
  117. assertEquals(expected, actual);
  118. }
  119. public void testResize() {
  120. String input = "[[Image:Wiki.png|30 px]]";
  121. String expected = "!Wiki.png|width=30px!";
  122. String actual = tester.convertImages(input);
  123. assertNotNull(actual);
  124. assertEquals(expected, actual);
  125. input = "[[Image:Wiki.png|130px]]";
  126. expected = "!Wiki.png|width=130px!";
  127. actual = tester.convertImages(input);
  128. assertNotNull(actual);
  129. assertEquals(expected, actual);
  130. input = "[[Image:example.png|200x200px]]";
  131. expected = "!example.png|width=200px,height=200px!";
  132. actual = tester.convertImages(input);
  133. assertNotNull(actual);
  134. assertEquals(expected, actual);
  135. input = "[[Image:example.jpg|frame|250px]]";
  136. expected = "!example.jpg|align=right,width=250px!";
  137. actual = tester.convertImages(input);
  138. assertNotNull(actual);
  139. assertEquals(expected, actual);
  140. input = "[[Image:example.jpg|150px|frame]]";
  141. expected = "!example.jpg|align=right,width=150px!";
  142. actual = tester.convertImages(input);
  143. assertNotNull(actual);
  144. assertEquals(expected, actual);
  145. }
  146. public void testFrame() {
  147. //treat frame as align right for now
  148. String input = "[[Image:Wiki.png|frame|Wikipedia Encyclopedia]]";
  149. String expected = "!Wiki.png|align=right!";
  150. String actual = tester.convertImages(input);
  151. assertNotNull(actual);
  152. assertEquals(expected, actual);
  153. }
  154. public void testCreateConfluenceImage() {
  155. String img = "Wiki.png";
  156. boolean thumbnail = false;
  157. ImageConverter.Alignment align = ImageConverter.Alignment.LEFT;
  158. String expected = "Wiki.png";
  159. String actual = tester.createConfluenceImage(img, thumbnail, align);
  160. assertNotNull(actual);
  161. assertEquals(expected, actual);
  162. thumbnail = true;
  163. expected = "Wiki.png|thumbnail";
  164. actual = tester.createConfluenceImage(img, thumbnail, align);
  165. assertNotNull(actual);
  166. assertEquals(expected, actual);
  167. thumbnail = false;
  168. align = ImageConverter.Alignment.CENTER;
  169. expected = "Wiki.png|align=center";
  170. actual = tester.createConfluenceImage(img, thumbnail, align);
  171. assertNotNull(actual);
  172. assertEquals(expected, actual);
  173. thumbnail = true;
  174. expected = "Wiki.png|thumbnail,align=center";
  175. actual = tester.createConfluenceImage(img, thumbnail, align);
  176. assertNotNull(actual);
  177. assertEquals(expected, actual);
  178. thumbnail=false;
  179. align = ImageConverter.Alignment.RIGHT;
  180. expected = "Wiki.png|align=right";
  181. actual = tester.createConfluenceImage(img, thumbnail, align);
  182. assertNotNull(actual);
  183. assertEquals(expected, actual);
  184. thumbnail=true;
  185. expected = "Wiki.png|thumbnail,align=right";
  186. actual = tester.createConfluenceImage(img, thumbnail, align);
  187. assertNotNull(actual);
  188. assertEquals(expected, actual);
  189. }
  190. public void testHandleThumb() {
  191. boolean thumb = true;
  192. String expected = "|thumbnail";
  193. String actual = tester.handleThumbnail(thumb);
  194. assertNotNull(actual);
  195. assertEquals(expected, actual);
  196. thumb = false;
  197. expected = "";
  198. actual = tester.handleThumbnail(thumb);
  199. assertNotNull(actual);
  200. assertEquals(expected, actual);
  201. }
  202. public void testHandleAlign() {
  203. ImageConverter.Alignment align = ImageConverter.Alignment.LEFT;
  204. String expected = "";
  205. String actual = tester.handleAlignment(align, "|");
  206. assertNotNull(actual);
  207. assertEquals(expected, actual);
  208. align = ImageConverter.Alignment.CENTER;
  209. expected = "|align=center";
  210. actual = tester.handleAlignment(align, "|");
  211. assertNotNull(actual);
  212. assertEquals(expected, actual);
  213. align = ImageConverter.Alignment.RIGHT;
  214. expected = "|align=right";
  215. actual = tester.handleAlignment(align, "|");
  216. assertNotNull(actual);
  217. assertEquals(expected, actual);
  218. }
  219. public void testImagesInTables() {
  220. String input, expected, actual;
  221. input = "|| foo || bar ||\n" +
  222. "| [[Image:abc-a2.png | 200px]] | abc (foo) |\n" +
  223. "| [[Image:abc-a2.png | 200px]] | abc (foo) |\n" +
  224. "| [[Image:abc-a2.png | 200px]] | abc (foo) |\n" +
  225. "| [[Image:abc-a2.png | 200px]] | abc (foo) |\n" +
  226. "";
  227. expected = "|| foo || bar ||\n" +
  228. "| !abc-a2.png|width=200px! | abc (foo) |\n" +
  229. "| !abc-a2.png|width=200px! | abc (foo) |\n" +
  230. "| !abc-a2.png|width=200px! | abc (foo) |\n" +
  231. "| !abc-a2.png|width=200px! | abc (foo) |\n" +
  232. "";
  233. actual = tester.convertImages(input);
  234. assertNotNull(actual);
  235. assertEquals(expected, actual);
  236. }
  237. }