/* * (C) Copyright 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Contributors: * bstefanescu * * $Id$ */ package org.nuxeo.ecm.platform.rendering.test; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.io.StringWriter; import org.junit.Test; import static org.junit.Assert.*; import org.nuxeo.ecm.platform.rendering.wiki.WikiSerializer; import org.nuxeo.ecm.platform.rendering.wiki.extensions.PatternFilter; import org.wikimodel.wem.WikiParserException; /** @author <a href="mailto:bs@nuxeo.com">Bogdan Stefanescu</a> */ public class TestWiki { @Test public void test() throws Exception { double s = System.currentTimeMillis(); InputStream in = TestWiki.class.getResourceAsStream("/testdata/test.wiki"); Reader reader = new InputStreamReader(in); WikiSerializer engine = new WikiSerializer(); engine.addFilter(new PatternFilter("_([-A-Za-z0-9]+)_", "<i>$1</i>")); engine.addFilter(new PatternFilter("[A-Z]+[a-z]+[A-Z][A-Za-z]*", "<link>$0</link>")); engine.addFilter(new PatternFilter("NXP-[0-9]+", "<a href=\"http://jira.nuxeo.org/browse/$0\">$0</a>")); StringWriter writer = new StringWriter(); engine.serialize(reader, writer); // System.out.println(writer.getBuffer()); // System.out.println(">>>>>>> " + ((System.currentTimeMillis() - s) / 1000)); } @Test public void test2() throws IOException, WikiParserException { InputStream in = TestWiki.class.getResourceAsStream("/testdata/test2.wiki"); Reader reader = new InputStreamReader(in); WikiSerializer engine = new WikiSerializer(); engine.addFilter(new PatternFilter("_([-A-Za-z0-9]+)_", "<i>$1</i>")); engine.addFilter(new PatternFilter("[A-Z]+[a-z]+[A-Z][A-Za-z]*", "<link>$0</link>")); engine.addFilter(new PatternFilter("NXP-[0-9]+", "<a href=\"http://jira.nuxeo.org/browse/$0\">$0</a>")); StringWriter writer = new StringWriter(); engine.serialize(reader, writer); // System.out.println(writer.getBuffer()); } @Test public void test3() throws Exception { InputStream in = TestWiki.class.getResourceAsStream("/testdata/test3.wiki"); Reader reader = new InputStreamReader(in); WikiSerializer engine = new WikiSerializer(); engine.addFilter(new PatternFilter("_([-A-Za-z0-9]+)_", "<i>$1</i>")); engine.addFilter(new PatternFilter("[A-Z]+[a-z]+[A-Z][A-Za-z]*", "<link>$0</link>")); engine.addFilter(new PatternFilter("NXP-[0-9]+", "<a href=\"http://jira.nuxeo.org/browse/$0\">$0</a>")); StringWriter writer = new StringWriter(); engine.serialize(reader, writer); String out = writer.toString(); assertTrue(out.contains("<img src=")); assertFalse(out.contains("<script")); System.out.println(out); } }