Package com.gentics.cr.lucene.indexer.transformer.html

Source Code of com.gentics.cr.lucene.indexer.transformer.html.HTMLContentTransformerTest

package com.gentics.cr.lucene.indexer.transformer.html;

import static org.junit.Assert.assertEquals;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.URISyntaxException;

import org.junit.Test;

import com.gentics.cr.CRConfigUtil;
import com.gentics.cr.CRResolvableBean;
import com.gentics.cr.exceptions.CRException;

public class HTMLContentTransformerTest {

  @Test
  public void testContentAttribute() throws URISyntaxException, IOException, CRException {
    CRConfigUtil config = new CRConfigUtil();
    config.set(HTMLContentTransformer.TRANSFORMER_ATTRIBUTE_KEY, "content");

    CRResolvableBean bean = new CRResolvableBean();
    bean.set("contentid", "10007.1");
    bean.set("content", readFile("test.html").toString());

    HTMLContentTransformer transformer = new HTMLContentTransformer(config);
    transformer.processBean(bean);

    assertEquals(readFile("testresult.html").toString(), bean.get("content"));
  }

  @Test
  public void testNameAttribute() throws CRException {
    CRConfigUtil config = new CRConfigUtil();
    config.set(HTMLContentTransformer.TRANSFORMER_ATTRIBUTE_KEY, "name");
    HTMLContentTransformer transformer = new HTMLContentTransformer(config);

    CRResolvableBean bean1 = new CRResolvableBean();
    bean1.set("contentid", "10007.1");
    bean1.set("name", "Fußball");
    transformer.processBean(bean1);
    assertEquals("Fußball", bean1.get("name"));

    CRResolvableBean bean2 = new CRResolvableBean();
    bean2.set("name", "Über das USP");
    transformer.processBean(bean2);
    assertEquals("Über das USP", bean2.get("name"));

    CRResolvableBean bean3 = new CRResolvableBean();
    bean3.set("name", "<strong>das ist eine test überschrift</strong>");
    transformer.processBean(bean3);
    assertEquals("das ist eine test überschrift", bean3.get("name"));
  }

  @Test
  public void testStrings() throws CRException {
    CRConfigUtil config = new CRConfigUtil();
    config.set(HTMLContentTransformer.TRANSFORMER_ATTRIBUTE_KEY, "name");
    HTMLContentTransformer transformer = new HTMLContentTransformer(config);

    CRResolvableBean bean = new CRResolvableBean();
    bean.set("name", "ASDF-lexikon\n\t\n\t\t\t<br class=\"aloha-end-br\"/>");
    transformer.processBean(bean);
    assertEquals("ASDF-lexikon", bean.get("name"));

    CRResolvableBean bean2 = new CRResolvableBean();
    bean2.set("name", "<abbr title=\"Informations- und Kommunikationstechnologie\">IKT</abbr>-Sicherheitslexikon  ");
    transformer.processBean(bean2);
    assertEquals("IKT-Sicherheitslexikon", bean2.get("name"));

    CRResolvableBean bean3 = new CRResolvableBean();
    bean3.set("name", "<abbr title=\"Informations- und Kommunikationstechnologie\">IKT</abbr>- Sicherheitslexikon  ");
    transformer.processBean(bean3);
    assertEquals("IKT- Sicherheitslexikon", bean3.get("name"));

    CRResolvableBean bean4 = new CRResolvableBean();
    bean4.set("name", "<br class=\"aloha-end-br\"/>");
    transformer.processBean(bean4);
    assertEquals("", bean4.get("name"));
  }

  private StringBuilder readFile(final String fileName) throws URISyntaxException, FileNotFoundException, IOException {
    File file = new File(this.getClass().getResource(fileName).toURI());
    BufferedReader br = new BufferedReader(new FileReader(file));

    StringBuilder fileContent = new StringBuilder();
    String sCurrentLine;
    while ((sCurrentLine = br.readLine()) != null) {
      fileContent.append(sCurrentLine);
    }
    br.close();
    return fileContent;
  }

}
TOP

Related Classes of com.gentics.cr.lucene.indexer.transformer.html.HTMLContentTransformerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.