package terse.talk;

import terse.talk.Talk.Terp;
import terse.talk.Talk.Terp.Frame;
import junit.framework.TestCase;

public class TalkTest extends TestCase {
	Terp t;
	Frame f;

	public TalkTest(String arg0) {
		super(arg0);
	}

    public void testTerpCtor() {
        new Terp();
    }
    public void testTerpInitFile() {
        new Terp("", Talk.STANDARD_INIT_FILENAME);
    }
    public void testStrs() {
        String[] a = Talk.strs("one", "two");
        String[] b = Talk.append(a, "three");
        assertEquals(3, b.length);
        assertEquals("one", b[0]);
        assertEquals("two", b[1]);
        assertEquals("three", b[2]);
    }
    
    public void testhtmlEscape() {
        assertEquals("it&quot;s &lt;pb&gt; &amp; J.\n", Talk.htmlEscape("it\"s <pb> & J.\n"));
    }
    
    public void testSplitNonEmpty() {
        assertEquals("foo", Talk.splitNonEmpty("foo", '/')[0]);
        assertEquals("foo", Talk.splitNonEmpty("/foo", '/')[0]);
        assertEquals("foo", Talk.splitNonEmpty("foo/", '/')[0]);
        assertEquals("foo", Talk.splitNonEmpty("//foo", '/')[0]);
        assertEquals("foo", Talk.splitNonEmpty("foo//", '/')[0]);
        assertEquals("foo", Talk.splitNonEmpty("/foo//bar//", '/')[0]);
        assertEquals("foo", Talk.splitNonEmpty("foo/bar", '/')[0]);
        assertEquals("bar", Talk.splitNonEmpty("/foo//bar//", '/')[1]);
        assertEquals("bar", Talk.splitNonEmpty("foo/bar", '/')[1]);
    }
}