/*
 * Created on 31-Mar-2005
 */
package org.bodington.servlet;

import java.io.ByteArrayOutputStream;

import junit.framework.TestCase;

/**
 * @author buckett
 */
public class TextareaWriterTest extends TestCase
{

    private ByteArrayOutputStream output;
    private TextareaWriter writer;
    
    /*
     * @see TestCase#setUp()
     */
    protected void setUp() throws Exception
    {
        super.setUp();
        output = new ByteArrayOutputStream();
        writer = new TextareaWriter(output);
    }
    
    public void testWrite()
    {
        writer.write("hello");
        writer.flush();
        assertEquals( "hello", output.toString());
    }
    
    public void testWriteMultiple()
    {
        writer.write("hello");
        writer.write(" ");
        writer.write("world");
        writer.flush();
        assertEquals("hello world", output.toString());
    }
    
    public void testWriteAmp()
    {
        writer.write("&");
        writer.flush();
        assertEquals("&amp;", output.toString());
    }
    
    public void testWriteLess()
    {
        writer.write("<");
        writer.flush();
        assertEquals("&lt;", output.toString());
    }
    
    public void testWriteMore()
    {
        writer.write(">");
        writer.flush();
        assertEquals("&gt;", output.toString());
    }
    
    public void testWriteQuote()
    {
        writer.write("\"");
        writer.flush();
        assertEquals("&quot;", output.toString());
    }
    
    public void testWriteHTML()
    {
        writer.write("<h1 class=\"test\">Me & Java</h1>");
        writer.flush();
        assertEquals("&lt;h1 class=&quot;test&quot;&gt;Me &amp; Java&lt;/h1&gt;", output.toString());
    }

}
