assert doc.getFooter().indexOf("baz") == 0;
}
@Test
public void macrosFromDefaultTypesafe() throws Exception {
WikiDocument doc = new WikiDocument();
WikiDocumentDefaults defaults = new WikiDocumentDefaults() {
@Override
public List<WikiTextMacro> getContentMacros() {
return new ArrayList<WikiTextMacro>() {{
add(new WikiTextMacro("contentMacro1", 0));
add(new WikiTextMacro("contentMacro2", 1));
}};
}
@Override
public String getContentText() {
return "foo";
}
@Override
public List<WikiTextMacro> getHeaderMacros() {
return new ArrayList<WikiTextMacro>() {{
add(new WikiTextMacro("headerMacro1", 0));
add(new WikiTextMacro("headerMacro2", 1));
}};
}
@Override
public String getHeaderText() {
return "bar";
}
@Override
public List<WikiTextMacro> getFooterMacros() {
return new ArrayList<WikiTextMacro>() {{
add(new WikiTextMacro("footerMacro1", 0));
add(new WikiTextMacro("footerMacro2", 1));
}};
}
@Override
public String getFooterText() {
return "baz";
}
};
doc.setDefaults(defaults);
assert doc.getContentMacros().size() == 2;
assert doc.getContentMacrosString().contains("contentMacro1");
assert doc.getContentMacrosString().contains("contentMacro1");
assert doc.getContent().contains("[<=contentMacro1]");
assert doc.getContent().contains("[<=contentMacro2]");
assert doc.getContent().indexOf("foo") == doc.getContent().length()-3;
assert doc.getHeaderMacros().size() == 2;
assert doc.getHeaderMacrosString().contains("headerMacro1");
assert doc.getHeaderMacrosString().contains("headerMacro2");
assert doc.getHeader().contains("[<=headerMacro1]");
assert doc.getHeader().contains("[<=headerMacro2]");
assert doc.getHeader().indexOf("bar") == doc.getHeader().length()-3;
assert doc.getFooterMacros().size() == 2;
assert doc.getFooterMacrosString().contains("footerMacro1");
assert doc.getFooterMacrosString().contains("footerMacro2");
assert doc.getFooter().contains("[<=footerMacro1]");
assert doc.getFooter().contains("[<=footerMacro2]");
assert doc.getFooter().indexOf("baz") == 0;
}