use of org.xwiki.rendering.block.WordBlock in project xwiki-platform by xwiki.
the class MessageToolTranslationMessageParserTest method messageSimple.
@Test
public void messageSimple() throws ComponentLookupException {
TranslationMessage translationMessage = getMockedComponent().parse("word");
Assert.assertEquals("word", translationMessage.getRawSource());
Assert.assertEquals(new WordBlock("word"), translationMessage.render(null, null));
}
use of org.xwiki.rendering.block.WordBlock in project xwiki-platform by xwiki.
the class MessageToolTranslationMessageParserTest method messageWithExpectedParameter.
@Test
public void messageWithExpectedParameter() throws ComponentLookupException {
TranslationMessage translationMessage = getMockedComponent().parse("{0}");
Assert.assertEquals("{0}", translationMessage.getRawSource());
Assert.assertEquals(new CompositeBlock(Arrays.<Block>asList(new SpecialSymbolBlock('{'), new WordBlock("0"), new SpecialSymbolBlock('}'))), translationMessage.render(null, null));
}
use of org.xwiki.rendering.block.WordBlock in project xwiki-platform by xwiki.
the class FormulaMacro method execute.
@Override
public List<Block> execute(FormulaMacroParameters parameters, String content, MacroTransformationContext context) throws MacroExecutionException {
if (StringUtils.isEmpty(content)) {
throw new MacroExecutionException(CONTENT_MISSING_ERROR);
}
String rendererHint = this.configuration.getRenderer();
FontSize size = parameters.getFontSize();
Type type = parameters.getImageType();
Block result;
try {
result = render(content, context.isInline(), size, type, rendererHint);
} catch (MacroExecutionException ex) {
this.logger.debug("Failed to render content with the [{}] renderer. Falling back to the safe renderer.", rendererHint, ex);
try {
result = render(content, context.isInline(), size, type, this.configuration.getSafeRenderer());
} catch (IllegalArgumentException ex2) {
throw new MacroExecutionException(WRONG_CONTENT_ERROR);
}
} catch (IllegalArgumentException ex) {
throw new MacroExecutionException(WRONG_CONTENT_ERROR);
}
// If no image was generated, just return the original text
if (result == null) {
result = new WordBlock(content);
}
// Block level formulae should be wrapped in a paragraph element
if (!context.isInline()) {
result = new ParagraphBlock(Collections.<Block>singletonList(result));
}
return Collections.singletonList(result);
}
use of org.xwiki.rendering.block.WordBlock in project xwiki-platform by xwiki.
the class DefaultWikiMacroManagerTest method generateWikiMacro.
private DefaultWikiMacro generateWikiMacro(WikiMacroVisibility visibility) throws Exception {
DocumentReference wikiMacroDocReference = new DocumentReference("wiki", Arrays.asList("space"), "space");
WikiMacroDescriptor descriptor = new WikiMacroDescriptor(new MacroId("testwikimacro"), "Test Wiki Macro", "Description", "Test", visibility, new DefaultContentDescriptor(), Collections.<WikiMacroParameterDescriptor>emptyList());
XDOM xdom = new XDOM(Arrays.asList(new ParagraphBlock(Arrays.<Block>asList(new WordBlock("test")))));
DefaultWikiMacro wikiMacro = new DefaultWikiMacro(wikiMacroDocReference, authorReference, true, descriptor, xdom, Syntax.XWIKI_2_0, this.mocker);
return wikiMacro;
}
use of org.xwiki.rendering.block.WordBlock in project xwiki-platform by xwiki.
the class DefaultDocumentSplitterTest method updateAnchors.
@Test
public void updateAnchors() throws Exception {
SplittingCriterion splittingCriterion = mock(SplittingCriterion.class);
when(splittingCriterion.shouldSplit(any(Block.class), anyInt())).thenReturn(false, true, true);
when(splittingCriterion.shouldIterate(any(SectionBlock.class), anyInt())).thenReturn(false, false, false);
NamingCriterion namingCriterion = mock(NamingCriterion.class);
when(namingCriterion.getDocumentName(any(XDOM.class))).thenReturn("Child1", "Child2");
// [[link>>||anchor="chapter1"]]
// = {{id name="chapter1"}}Chapter 1 =
// = Chapter 2 ==
// [[link>>path:#chapter1]]
ResourceReference reference = new ResourceReference("", ResourceType.DOCUMENT);
reference.setParameter("anchor", "chapter1");
LinkBlock link = new LinkBlock(Arrays.<Block>asList(new WordBlock("link")), reference, false);
ParagraphBlock paragraph = new ParagraphBlock(Arrays.<Block>asList(link));
HeaderBlock header = new HeaderBlock(Arrays.<Block>asList(new IdBlock("chapter1"), new WordBlock("Chapter 1")), HeaderLevel.LEVEL1);
SectionBlock section1 = new SectionBlock(Arrays.<Block>asList(header));
header = new HeaderBlock(Arrays.<Block>asList(new WordBlock("Chapter 2")), HeaderLevel.LEVEL1);
reference = new ResourceReference("#chapter1", ResourceType.PATH);
link = new LinkBlock(Arrays.<Block>asList(new WordBlock("link")), reference, false);
SectionBlock section2 = new SectionBlock(Arrays.<Block>asList(header, new ParagraphBlock(Arrays.<Block>asList(link))));
XDOM xdom = new XDOM(Arrays.<Block>asList(paragraph, section1, section2));
WikiDocument document = new WikiDocument("Space.Page", xdom, null);
List<WikiDocument> result = mocker.getComponentUnderTest().split(document, splittingCriterion, namingCriterion);
ClassBlockMatcher linkMatcher = new ClassBlockMatcher(LinkBlock.class);
ResourceReference updatedReference = document.getXdom().<LinkBlock>getFirstBlock(linkMatcher, Axes.DESCENDANT).getReference();
assertEquals("chapter1", updatedReference.getParameter("anchor"));
assertEquals(result.get(1).getFullName(), updatedReference.getReference());
updatedReference = result.get(2).getXdom().<LinkBlock>getFirstBlock(linkMatcher, Axes.DESCENDANT).getReference();
assertEquals(ResourceType.DOCUMENT, updatedReference.getType());
assertEquals("chapter1", updatedReference.getParameter("anchor"));
assertEquals(result.get(1).getFullName(), updatedReference.getReference());
}
Aggregations