PageRenderTime 45ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 1ms

/src/com/atlassian/uwc/converters/dokuwiki/PrepRowSpansConverterTest.java

https://bitbucket.org/atlassianlabs/universal-wiki-connector
Java | 265 lines | 247 code | 18 blank | 0 comment | 0 complexity | fe41507410b869cb74359f749ada905c MD5 | raw file
  1. package com.atlassian.uwc.converters.dokuwiki;
  2. import junit.framework.TestCase;
  3. import org.apache.log4j.Logger;
  4. import org.apache.log4j.PropertyConfigurator;
  5. public class PrepRowSpansConverterTest extends TestCase {
  6. PrepRowSpansConverter tester = null;
  7. Logger log = Logger.getLogger(this.getClass());
  8. protected void setUp() throws Exception {
  9. tester = new PrepRowSpansConverter();
  10. PropertyConfigurator.configure("log4j.properties");
  11. }
  12. public void testPrep_MultiRow() {
  13. String input, expected, actual;
  14. input = "^ 1 ^ 2 ^ 1 ^ 2 ^\n" +
  15. "| a | b | a | b |\n" +
  16. "| ::: | b | ::: | d |\n" +
  17. "| ::: | b | ::: | d |\n" +
  18. "| ::: | b | ::: | d |\n" +
  19. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  20. "| a | b | c | d |\n" +
  21. "| ::: |b | ::: | d |\n" +
  22. "| ::: | b | ::: | d |\n" +
  23. "| ::: |b | ::: | d |\n" +
  24. "";
  25. expected ="^ 1 ^ 2 ^ 1 ^ 2 ^\n" +
  26. "| a ::UWCTOKENROWSPANS:4::| b | a ::UWCTOKENROWSPANS:4::| b |\n" +
  27. "| ::: | b | ::: | d |\n" +
  28. "| ::: | b | ::: | d |\n" +
  29. "| ::: | b | ::: | d |\n" +
  30. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  31. "| a ::UWCTOKENROWSPANS:4::| b | c ::UWCTOKENROWSPANS:4::| d |\n" +
  32. "| ::: |b | ::: | d |\n" +
  33. "| ::: | b | ::: | d |\n" +
  34. "| ::: |b | ::: | d |\n" +
  35. "";
  36. actual = tester.prep(input);
  37. assertNotNull(actual);
  38. assertEquals(expected, actual);
  39. }
  40. public void testPrep_MultiRow_b() {
  41. String input, expected, actual;
  42. input = "^ 1 ^ 2 ^ 1 ^ 2 ^\n" +
  43. "| a | b | a | b |\n" +
  44. "| ::: | b | ::: | d |\n" +
  45. "| ::: | b | ::: | d |\n" +
  46. "| ::: | b | ::: | d |\n" +
  47. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  48. "| a | b | c | d |\n" +
  49. "| ::: |b | ::: | d |\n" +
  50. "| ::: | b | ::: | d |\n" +
  51. "| ::: |b | c | d |\n" +
  52. "no longer a table";
  53. expected ="^ 1 ^ 2 ^ 1 ^ 2 ^\n" +
  54. "| a ::UWCTOKENROWSPANS:4::| b | a ::UWCTOKENROWSPANS:4::| b |\n" +
  55. "| ::: | b | ::: | d |\n" +
  56. "| ::: | b | ::: | d |\n" +
  57. "| ::: | b | ::: | d |\n" +
  58. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  59. "| a ::UWCTOKENROWSPANS:4::| b | c ::UWCTOKENROWSPANS:3::| d |\n" +
  60. "| ::: |b | ::: | d |\n" +
  61. "| ::: | b | ::: | d |\n" +
  62. "| ::: |b | c | d |\n" +
  63. "no longer a table";
  64. actual = tester.prep(input);
  65. assertNotNull(actual);
  66. assertEquals(expected, actual);
  67. }
  68. public void testGetNumCols() {
  69. String input;
  70. int expected, actual;
  71. input = "^ 1 ^ 2 ^ 1 ^ 2 ^\n" +
  72. "| a | b | a | b |\n" +
  73. "| ::: | b | ::: | d |\n";
  74. expected = 4;
  75. actual = tester.getNumCols(input);
  76. assertNotNull(actual);
  77. assertEquals(expected, actual);
  78. }
  79. public void testGetNumCols_WithColspan() {
  80. String input;
  81. int expected, actual;
  82. input = "^ h1 ::UWCTOKENCOLSPANS:6::^\n" +
  83. "^ h1 ^ h2 ^ h3 ^ h4 ^ h5 ^ h6 ^\n" +
  84. "| Trala | abc.def.ghu.jkl.edu | D:\\Path\\TO\\Some\\Place_tada\\asd | D:\\Path\\TO\\Some\\Place_tada\\asd[mmyyyy].txt | asd.asd.asd.org | Asdlkj_askjda_BD |\n" +
  85. "| ::: | foo-1234-bar.abc.def.org:0986 | ::: | D:\\AppLogFiles\\BindingLogs_[yyyy-mm].txt | ::: | ::: |\n" +
  86. "| Lala | a.b.c.d.e | D:\\Apps\\INT\\Do\\ComparioXMLSite_es\\Web | D:\\AppLogFiles\\ComparioXmlSite.xml[mmyyyy].txt | sqlcompariopreview.internet.conseur.org | Compario_ES_ES |\n" +
  87. "";
  88. expected = 6;
  89. actual = tester.getNumCols(input);
  90. assertNotNull(actual);
  91. assertEquals(expected, actual);
  92. }
  93. public void testHandleColumn_0() {
  94. String input, expected, actual;
  95. input = "^ 1 ^ 2 ^ 1 ^ 2 ^\n" +
  96. "| a | b | a | b |\n" +
  97. "| ::: | b | ::: | d |\n" +
  98. "| ::: | b | ::: | d |\n" +
  99. "| ::: | b | ::: | d |\n" +
  100. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  101. "| a | b | c | d |\n" +
  102. "| ::: |b | ::: | d |\n";
  103. expected = "^ 1 ^ 2 ^ 1 ^ 2 ^\n" +
  104. "| a ::UWCTOKENROWSPANS:4::| b | a | b |\n" +
  105. "| ::: | b | ::: | d |\n" +
  106. "| ::: | b | ::: | d |\n" +
  107. "| ::: | b | ::: | d |\n" +
  108. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  109. "| a ::UWCTOKENROWSPANS:2::| b | c | d |\n" +
  110. "| ::: |b | ::: | d |\n";
  111. actual = tester.handleColumn(0, input);
  112. assertNotNull(actual);
  113. assertEquals(expected, actual);
  114. }
  115. public void testHandleColumn_2() {
  116. String input, expected, actual;
  117. input = "^ 1 ^ 2 ^ 1 ^ 2 ^\n" +
  118. "| a | b | a | b |\n" +
  119. "| ::: | b | ::: | d |\n" +
  120. "| ::: | b | ::: | d |\n" +
  121. "| ::: | b | ::: | d |\n" +
  122. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  123. "| a | b | c | d |\n" +
  124. "| ::: |b | ::: | d |\n";
  125. expected = "^ 1 ^ 2 ^ 1 ^ 2 ^\n" +
  126. "| a | b | a ::UWCTOKENROWSPANS:4::| b |\n" +
  127. "| ::: | b | ::: | d |\n" +
  128. "| ::: | b | ::: | d |\n" +
  129. "| ::: | b | ::: | d |\n" +
  130. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  131. "| a | b | c ::UWCTOKENROWSPANS:2::| d |\n" +
  132. "| ::: |b | ::: | d |\n";
  133. actual = tester.handleColumn(2, input);
  134. assertNotNull(actual);
  135. assertEquals(expected, actual);
  136. }
  137. public void testExample() {
  138. String input, expected, actual;
  139. input = "^ h1 ^ h2 ^ h3 ^ h4 ^ h5 ^ h6 ^\n" +
  140. "^ r1c1 | r1c2 | r1c3| r1c4 | r1c5 | r1c6 |\n" +
  141. "^ ::: | r2c2 | r2c3| c4 | c5 | c6 |\n" +
  142. "^ ::: | c2 | c3|c4| c5|c6 |\n" +
  143. "^ ::: | c2 | c3|c4| c5|c6 |\n" +
  144. "^ Health page | c2 ::UWCTOKENCOLSPANS:5::|\n" +
  145. "";
  146. expected = "^ h1 ^ h2 ^ h3 ^ h4 ^ h5 ^ h6 ^\n" +
  147. "^ r1c1 ::UWCTOKENROWSPANS:4::| r1c2 | r1c3| r1c4 | r1c5 | r1c6 |\n" +
  148. "^ ::: | r2c2 | r2c3| c4 | c5 | c6 |\n" +
  149. "^ ::: | c2 | c3|c4| c5|c6 |\n" +
  150. "^ ::: | c2 | c3|c4| c5|c6 |\n" +
  151. "^ Health page | c2 ::UWCTOKENCOLSPANS:5::|\n";
  152. actual = tester.prep(input);
  153. assertNotNull(actual);
  154. assertEquals(expected, actual);
  155. }
  156. public void testExample2() {
  157. String input, expected, actual;
  158. input = "^ h1 ::UWCTOKENCOLSPANS:6::^\n" +
  159. "^ h1 ^ h2 ^ h3 ^ h4 ^ h5 ^ h6 ^\n" +
  160. "| Trala | abc.def.ghu.jkl.edu | D:\\Path\\TO\\Some\\Place_tada\\asd | D:\\Path\\TO\\Some\\Place_tada\\asd[mmyyyy].txt | asd.asd.asd.org | Asdlkj_askjda_BD |\n" +
  161. "| ::: | foo-1234-bar.abc.def.org:0986 | ::: | D:\\AppLogFiles\\BindingLogs_[yyyy-mm].txt | ::: | ::: |\n" +
  162. "| Lala | a.b.c.d.e | D:\\Apps\\INT\\Do\\ComparioXMLSite_es\\Web | D:\\AppLogFiles\\ComparioXmlSite.xml[mmyyyy].txt | sqlcompariopreview.internet.conseur.org | Compario_ES_ES |\n" +
  163. "";
  164. expected = "^ h1 ::UWCTOKENCOLSPANS:6::^\n" +
  165. "^ h1 ^ h2 ^ h3 ^ h4 ^ h5 ^ h6 ^\n" +
  166. "| Trala ::UWCTOKENROWSPANS:2::| abc.def.ghu.jkl.edu | D:\\Path\\TO\\Some\\Place_tada\\asd ::UWCTOKENROWSPANS:2::| D:\\Path\\TO\\Some\\Place_tada\\asd[mmyyyy].txt | asd.asd.asd.org ::UWCTOKENROWSPANS:2::| Asdlkj_askjda_BD ::UWCTOKENROWSPANS:2::|\n" +
  167. "| ::: | foo-1234-bar.abc.def.org:0986 | ::: | D:\\AppLogFiles\\BindingLogs_[yyyy-mm].txt | ::: | ::: |\n" +
  168. "| Lala | a.b.c.d.e | D:\\Apps\\INT\\Do\\ComparioXMLSite_es\\Web | D:\\AppLogFiles\\ComparioXmlSite.xml[mmyyyy].txt | sqlcompariopreview.internet.conseur.org | Compario_ES_ES |\n" +
  169. "";
  170. actual = tester.prep(input);
  171. assertNotNull(actual);
  172. assertEquals(expected, actual);
  173. }
  174. public void testExample3() {
  175. String input, expected, actual;
  176. input = "Given the following:\n" +
  177. "\n" +
  178. "^ 1 | 2 |\n" +
  179. "^ 1 | 2 |\n" +
  180. "^ 1 | 2 |\n" +
  181. "\n" +
  182. "tralala:\n" +
  183. "\n" +
  184. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  185. "| a | b | c | !!! |\n" +
  186. "| a | b | c |::: |\n" +
  187. "| a | b | c | end |\n" +
  188. "";
  189. expected = "Given the following:\n" +
  190. "\n" +
  191. "^ 1 | 2 |\n" +
  192. "^ 1 | 2 |\n" +
  193. "^ 1 | 2 |\n" +
  194. "\n" +
  195. "tralala:\n" +
  196. "\n" +
  197. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  198. "| a | b | c | !!! ::UWCTOKENROWSPANS:2::|\n" +
  199. "| a | b | c |::: |\n" +
  200. "| a | b | c | end |\n" +
  201. "";
  202. actual = tester.prep(input);
  203. assertNotNull(actual);
  204. assertEquals(expected, actual);
  205. }
  206. public void testTrimTable() {
  207. String input, expected, actual;
  208. input = "^ 1 | 2 |\n" +
  209. "^ 1 | 2 |\n" +
  210. "^ 1 | 2 |\n" +
  211. "\n" +
  212. "tralala:\n" +
  213. "\n" +
  214. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  215. "| a | b | c | !!! ::UWCTOKENROWSPANS:2::|\n" +
  216. "| a | b | c |::: |\n" +
  217. "| a | b | c | end |\n";
  218. expected = "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  219. "| a | b | c | !!! ::UWCTOKENROWSPANS:2::|\n" +
  220. "| a | b | c |::: |\n" +
  221. "| a | b | c | end |\n";
  222. actual = tester.trimTable(input)[1];
  223. assertNotNull(actual);
  224. assertEquals(expected, actual);
  225. }
  226. public void testNeedToTrim() {
  227. String input, expected, actual;
  228. input = "^ 1 | 2 |\n" +
  229. "^ 1 | 2 |\n" +
  230. "^ 1 | 2 |\n" +
  231. "\n" +
  232. "tralala:\n" +
  233. "\n" +
  234. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  235. "| a | b | c | !!!|\n" +
  236. "| a | b | c |::: |\n" +
  237. "| a | b | c | end |\n";
  238. assertTrue(tester.needToTrim(input));
  239. input = "tralala:\n" +
  240. "\n" +
  241. "^ 1 ^ 2 ^ 3 ^ 4 ^\n" +
  242. "| a | b | c | !!!|\n" +
  243. "| a | b | c |::: |\n" +
  244. "| a | b | c | end |\n";
  245. assertFalse(tester.needToTrim(input));
  246. }
  247. }