@Test public void macrosFromDefaultStrings() throws Exception { WikiDocument doc = new WikiDocument(); WikiDocumentDefaults defaults = new WikiDocumentDefaults() { @Override public String[] getContentMacrosAsString() { return new String[] {"contentMacro1", "contentMacro2"}; } @Override public String getContentText() { return "foo"; } @Override public String[] getHeaderMacrosAsString() { return new String[] {"headerMacro1", "headerMacro2"}; } @Override public String getHeaderText() { return "bar"; } @Override public String[] getFooterMacrosAsString() { return new String[] {"footerMacro1", "footerMacro2"}; } @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; }
@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; }