PageRenderTime 36ms CodeModel.GetById 12ms RepoModel.GetById 1ms app.codeStats 0ms

/src/com/atlassian/uwc/converters/jspwiki/HeaderConverterTest.java

https://bitbucket.org/appfusions/universal-wiki-converter
Java | 169 lines | 149 code | 20 blank | 0 comment | 0 complexity | 389269090ff857d361b2269b47301879 MD5 | raw file
  1. package com.atlassian.uwc.converters.jspwiki;
  2. import junit.framework.TestCase;
  3. import org.apache.log4j.Logger;
  4. import org.apache.log4j.PropertyConfigurator;
  5. public class HeaderConverterTest extends TestCase {
  6. Logger log = Logger.getLogger(this.getClass());
  7. HeaderConverter tester = null;
  8. protected void setUp() throws Exception {
  9. PropertyConfigurator.configure("log4j.properties");
  10. tester = new HeaderConverter();
  11. }
  12. public void testConvertHeadersLevel3() {
  13. String input = "Not a header\n" +
  14. "! A header\n" +
  15. "More not a header";
  16. String expected = "Not a header\n" +
  17. "h3. A header\n" +
  18. "More not a header";
  19. String actual = tester.convertHeaders(input);
  20. assertEquals(expected, actual);
  21. }
  22. public void testConvertHeadersLevel2() {
  23. String input = "Not a header\n" +
  24. "!! A header\n" +
  25. "More not a header";
  26. String expected = "Not a header\n" +
  27. "h2. A header\n" +
  28. "More not a header";
  29. String actual = tester.convertHeaders(input);
  30. assertEquals(expected, actual);
  31. }
  32. public void testConvertHeadersLevel1() {
  33. String input = "Not a header\n" +
  34. "!!! A header\n" +
  35. "More not a header";
  36. String expected = "Not a header\n" +
  37. "h1. A header\n" +
  38. "More not a header";
  39. String actual = tester.convertHeaders(input);
  40. assertEquals(expected, actual);
  41. }
  42. public void testNoPrecedingWhitespace() {
  43. String input = "Not a header\n" +
  44. "!!!A header\n" +
  45. "!!A header\n" +
  46. "!A header\n" +
  47. "More not a header";
  48. String expected = "Not a header\n" +
  49. "h1. A header\n" +
  50. "h2. A header\n" +
  51. "h3. A header\n" +
  52. "More not a header";
  53. String actual = tester.convertHeaders(input);
  54. assertEquals(expected, actual);
  55. }
  56. public void testMultipleHeaders() {
  57. String input = "Not a header\n" +
  58. "!!! A header\n" +
  59. "!! A header\n" +
  60. "! A header\n" +
  61. "!! A header\n" +
  62. "!!! A header\n" +
  63. "More not a header";
  64. String expected = "Not a header\n" +
  65. "h1. A header\n" +
  66. "h2. A header\n" +
  67. "h3. A header\n" +
  68. "h2. A header\n" +
  69. "h1. A header\n" +
  70. "More not a header";
  71. String actual = tester.convertHeaders(input);
  72. assertEquals(expected, actual);
  73. }
  74. public void testHasExclamation() {
  75. String input = "Not a header\n" +
  76. "! A header!!\n" +
  77. "More not a header";
  78. String expected = "Not a header\n" +
  79. "h3. A header!!\n" +
  80. "More not a header";
  81. String actual = tester.convertHeaders(input);
  82. assertEquals(expected, actual);
  83. }
  84. public void testSwitchDepth() {
  85. int input = 1;
  86. int expected = 3;
  87. int actual = tester.switchOuterDepth(input);
  88. assertEquals(expected, actual);
  89. input = 2;
  90. expected = 2;
  91. actual = tester.switchOuterDepth(input);
  92. assertEquals(expected, actual);
  93. input = 3;
  94. expected = 1;
  95. actual = tester.switchOuterDepth(input);
  96. assertEquals(expected, actual);
  97. input = 0;
  98. try {
  99. actual = tester.switchOuterDepth(input);
  100. fail("Should have thrown IllegalArgumentException");
  101. } catch (IllegalArgumentException e) {
  102. String expectedMsg = "argument: " + input + "\nswitchOuterDepth only handles levels 1 through 3.";
  103. String actualMsg = e.getMessage();
  104. assertEquals(expectedMsg, actualMsg);
  105. }
  106. input = 4;
  107. try {
  108. actual = tester.switchOuterDepth(input);
  109. fail("Should have thrown IllegalArgumentException");
  110. } catch (IllegalArgumentException e) {
  111. String expectedMsg = "argument: " + input + "\nswitchOuterDepth only handles levels 1 through 3.";
  112. String actualMsg = e.getMessage();
  113. assertEquals(expectedMsg, actualMsg);
  114. }
  115. input = -1;
  116. try {
  117. actual = tester.switchOuterDepth(input);
  118. fail("Should have thrown IllegalArgumentException");
  119. } catch (IllegalArgumentException e) {
  120. String expectedMsg = "argument: " + input + "\nswitchOuterDepth only handles levels 1 through 3.";
  121. String actualMsg = e.getMessage();
  122. assertEquals(expectedMsg, actualMsg);
  123. }
  124. }
  125. public void testConvert_uwc81() {
  126. String input = "! {{$TEST}} ";
  127. String expected = "h3. {{$TEST}} \n";
  128. String actual = tester.convertHeaders(input);
  129. assertNotNull(actual);
  130. assertEquals(expected, actual);
  131. }
  132. public void testConvertStartingWithNewline() { //uwc-210
  133. String input = "\n" +
  134. "!!Testing\n" +
  135. "123\n" +
  136. "!Testing 2\n" +
  137. "456\n" +
  138. "";
  139. String expected = "\n" +
  140. "h2. Testing\n" +
  141. "123\n" +
  142. "h3. Testing 2\n" +
  143. "456\n" +
  144. "";
  145. String actual = tester.convertHeaders(input);
  146. assertNotNull(actual);
  147. assertEquals(expected, actual);
  148. }
  149. }