Search in sources :

Example 21 with Parser

use of org.xwiki.rendering.parser.Parser in project xwiki-platform by xwiki.

the class AnnotationXHTMLRendererTest method getAnnotatedHTMLWithoutAnnotations.

/**
 * Test rendering with the annotations renderer but without annotations doesn't alter the content.
 *
 * @throws Exception in case something goes wrong looking up components and rendering
 */
@Test
public void getAnnotatedHTMLWithoutAnnotations() throws Exception {
    Parser parser = getComponentManager().getInstance(Parser.class, docFactory.getDocument(docName).getSyntax());
    XDOM xdom = parser.parse(new StringReader(docFactory.getDocument(docName).getSource()));
    // run transformations
    TransformationManager transformationManager = getComponentManager().getInstance(TransformationManager.class);
    TransformationContext context = new TransformationContext(xdom, Syntax.valueOf(docFactory.getDocument(docName).getSyntax()));
    context.setTargetSyntax(Syntax.ANNOTATED_XHTML_1_0);
    transformationManager.performTransformations(xdom, context);
    AnnotationPrintRenderer renderer = getComponentManager().getInstance(AnnotationPrintRenderer.class, ANNOTATIONS_RENDERER_HINT);
    WikiPrinter printer = new DefaultWikiPrinter();
    renderer.setPrinter(printer);
    xdom.traverse(renderer);
    assertEquals("[" + docName + "] test failed", docFactory.getDocument(docName).getRenderedContent(), printer.toString());
}
Also used : XDOM(org.xwiki.rendering.block.XDOM) DefaultWikiPrinter(org.xwiki.rendering.renderer.printer.DefaultWikiPrinter) StringReader(java.io.StringReader) TransformationManager(org.xwiki.rendering.transformation.TransformationManager) TransformationContext(org.xwiki.rendering.transformation.TransformationContext) WikiPrinter(org.xwiki.rendering.renderer.printer.WikiPrinter) DefaultWikiPrinter(org.xwiki.rendering.renderer.printer.DefaultWikiPrinter) Parser(org.xwiki.rendering.parser.Parser) Test(org.junit.Test)

Example 22 with Parser

use of org.xwiki.rendering.parser.Parser in project xwiki-platform by xwiki.

the class XDOMOfficeDocumentTest method createOfficeDocument.

/**
 * Creates an {@link XDOMOfficeDocument} by parsing the given content.
 *
 * @param content the content to be parsed
 * @param syntax the syntax of the given content
 * @return the created {@link XDOMOfficeDocument}
 * @throws Exception if it fails to parse the given content
 */
private XDOMOfficeDocument createOfficeDocument(String content, String syntax) throws Exception {
    Parser parser = getComponentManager().getInstance(Parser.class, syntax);
    XDOM xdom = parser.parse(new StringReader(content));
    return new XDOMOfficeDocument(xdom, new HashMap<String, byte[]>(), getComponentManager());
}
Also used : XDOM(org.xwiki.rendering.block.XDOM) StringReader(java.io.StringReader) Parser(org.xwiki.rendering.parser.Parser)

Example 23 with Parser

use of org.xwiki.rendering.parser.Parser in project xwiki-platform by xwiki.

the class RenderingScriptServiceTest method parseAndRenderWhenErrorInParse.

@Test
public void parseAndRenderWhenErrorInParse() throws Exception {
    Parser parser = this.mocker.registerMockComponent(Parser.class, "plain/1.0");
    when(parser.parse(new StringReader("some [[TODO]] stuff"))).thenThrow(new ParseException(("error")));
    Assert.assertNull(this.mocker.getComponentUnderTest().parse("some [[TODO]] stuff", "plain/1.0"));
}
Also used : StringReader(java.io.StringReader) ParseException(org.xwiki.rendering.parser.ParseException) Parser(org.xwiki.rendering.parser.Parser) Test(org.junit.Test)

Example 24 with Parser

use of org.xwiki.rendering.parser.Parser in project xwiki-platform by xwiki.

the class DefaultContentParserTest method configure.

@Before
public void configure() throws Exception {
    Parser parser = mocker.registerMockComponent(Parser.class, Syntax.PLAIN_1_0.toIdString());
    when(parser.parse(argThat(any(Reader.class)))).thenReturn(new XDOM(Collections.<Block>emptyList()));
    EntityReferenceSerializer<String> serializer = mocker.getInstance(EntityReferenceSerializer.TYPE_STRING);
    when(serializer.serialize(DOCUMENT_REFERENCE)).thenReturn(SOURCE);
}
Also used : XDOM(org.xwiki.rendering.block.XDOM) Block(org.xwiki.rendering.block.Block) ContentParser(org.xwiki.rendering.parser.ContentParser) Parser(org.xwiki.rendering.parser.Parser) Before(org.junit.Before)

Aggregations

Parser (org.xwiki.rendering.parser.Parser)24 XDOM (org.xwiki.rendering.block.XDOM)19 StringReader (java.io.StringReader)17 Test (org.junit.Test)13 WikiPrinter (org.xwiki.rendering.renderer.printer.WikiPrinter)8 Block (org.xwiki.rendering.block.Block)5 DefaultWikiPrinter (org.xwiki.rendering.renderer.printer.DefaultWikiPrinter)5 TransformationContext (org.xwiki.rendering.transformation.TransformationContext)5 DocumentModelBridge (org.xwiki.bridge.DocumentModelBridge)4 DocumentReference (org.xwiki.model.reference.DocumentReference)4 Syntax (org.xwiki.rendering.syntax.Syntax)4 TransformationManager (org.xwiki.rendering.transformation.TransformationManager)4 DocumentAccessBridge (org.xwiki.bridge.DocumentAccessBridge)3 ConfigurationSource (org.xwiki.configuration.ConfigurationSource)3 BlockRenderer (org.xwiki.rendering.renderer.BlockRenderer)3 SyntaxType (org.xwiki.rendering.syntax.SyntaxType)3 Expectations (org.jmock.Expectations)2 ModelContext (org.xwiki.model.ModelContext)2 EntityReference (org.xwiki.model.reference.EntityReference)2 EntityReferenceProvider (org.xwiki.model.reference.EntityReferenceProvider)2