package wikokit.base.wikipedia.util.template;
import wikokit.base.wikipedia.util.template.TemplateParser;
import org.junit.*;
import static org.junit.Assert.*;
public class TemplateParserTest {
public TemplateParserTest() {
}
@BeforeClass
public static void setUpClass() throws Exception {
}
@AfterClass
public static void tearDownClass() throws Exception {
}
@Before
public void setUp() {
}
@After
public void tearDown() {
}
@Test
public void testExpandTemplate() {
System.out.println("expandTemplate");
// "abc{{template_name|param1|param2}}xyz" -> "abcparam1.param2xyz"
String source_text = "abc{{template_name|param1|param2}}xyz";
String template_name = "template_name";
String target = "|";
String replacement = ".";
String expResult = "abcparam1.param2xyz";
String result = TemplateParser.expandTemplateParams(source_text, template_name, target, replacement);
assertEquals(expResult, result);
}
/* Search "CapsTemplate" in "the text with {{capstemplate|}}".
*/
@Test
public void testExpandTemplate_DifferentCase() {
System.out.println("expandTemplate");
// "abc{{template_name|param1|param2}}xyz" -> "abcparam1.param2xyz"
String source_text = "ABC{{template_NAME|Param1|paraM2}}xyz";
String template_name = "Template_name";
String target = "|";
String replacement = ".";
String expResult = "ABCParam1.paraM2xyz";
String result = TemplateParser.expandTemplateParams(source_text, template_name, target, replacement);
assertEquals(expResult, result);
}
/* Search closing brackets "}}" in 1) "start }} end".
* 2) "start {{templatos}} lala }} end".
*/
@Test
public void testindexOfClosingBracketsSameLevel() {
System.out.println("indexOfClosingBracketsSameLevel");
String source_text = "start }} end";
int pos = 6; // length of "start "
int result_pos = TemplateParser.indexOfClosingBracketsSameLevel(source_text, 0, "{{", "}}");
assertEquals(pos, result_pos);
source_text = "start {{ absent}} end";
pos = -1;
result_pos = TemplateParser.indexOfClosingBracketsSameLevel(source_text, 0, "{{", "}}");
assertEquals(pos, result_pos);
source_text = "start {{ absent}} end }}";
pos = source_text.length() - 2;
result_pos = TemplateParser.indexOfClosingBracketsSameLevel(source_text, 0, "{{", "}}");
assertEquals(pos, result_pos);
}
}