Package com.opensymphony.module.sitemesh.multipass

Source Code of com.opensymphony.module.sitemesh.multipass.DivExtractingPageParserTest

package com.opensymphony.module.sitemesh.multipass;

import com.opensymphony.module.sitemesh.DefaultSitemeshBuffer;
import com.opensymphony.module.sitemesh.Page;
import com.opensymphony.module.sitemesh.PageParser;
import com.opensymphony.module.sitemesh.multipass.DivExtractingPageParser;
import junit.framework.TestCase;

import java.io.IOException;

/**
* @author Joe Walnes
*/
public class DivExtractingPageParserTest extends TestCase {

    public void testReplacesTopLevelDivsWithPlaceHolders() throws IOException {
        String input = "" +
                "<html>\n" +
                "  <head><title>Title</title></head>\n" +
                "  <body>\n" +
                "    <div id='one'>Hello</div>\n" +
                "    Blah\n" +
                "    <div id='two'>World<br><div id=inner>Great</div></div>\n" +
                "    <div>Bye</div>\n" +
                "  </body>\n" +
                "</html>";

        PageParser parser = new DivExtractingPageParser();
        Page page = parser.parse(new DefaultSitemeshBuffer(input.toCharArray()));

        String expectedBody = "" +
                "    <sitemesh:multipass id=\"div.one\"/>\n" +
                "    Blah\n" +
                "    <sitemesh:multipass id=\"div.two\"/>\n" +
                "    <div>Bye</div>\n";
        assertEquals("Title", page.getTitle());
        assertEquals(expectedBody.trim(), page.getBody().trim());
        assertEquals("<div id='one'>Hello</div>", page.getProperty("div.one"));
        assertEquals("<div id='two'>World<br><div id=inner>Great</div></div>", page.getProperty("div.two"));
    }

}
TOP

Related Classes of com.opensymphony.module.sitemesh.multipass.DivExtractingPageParserTest

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.