/**
* Copyright 2007 The JA-SIG Collaborative. All rights reserved.
* See license distributed with this file and
* available online at http://www.uportal.org/license.html
*/
package org.jasig.portal.io;
import static org.jasig.portal.io.ChannelTitleIncorporationWiterFilter.TITLE_TOKEN_PREFIX;
import static org.jasig.portal.io.ChannelTitleIncorporationWiterFilter.TITLE_TOKEN_SUFFIX;
import java.io.StringWriter;
import junit.framework.TestCase;
/**
* @author Eric Dalquist
* @version $Revision$
*/
public class ChannelTitleIncorporationWiterFilterTest extends TestCase {
public void testRewriting() throws Exception {
//normal test
this.testRewriting(
"
",
"
");
//start of string
this.testRewriting(
"Channel '12' Title\"/>",
TITLE_TOKEN_PREFIX + "12" + TITLE_TOKEN_SUFFIX + "\"/>");
//end of string
this.testRewriting(
"
",
"
");
/* Not applicable with a single char suffix
//partial suffix
this.testRewriting(
"
",
"
");
*/
//no channel id
this.testRewriting(
"
",
"
");
//max length channel id
this.testRewriting(
"
",
"
");
//too-long channel id
this.testRewriting(
"
",
"
");
//nested too-long channel id
this.testRewriting(
"
Channel \'8901234567890123\' Title",
"
" + TITLE_TOKEN_PREFIX + "8901234567890123" + TITLE_TOKEN_SUFFIX + "");
}
private void testRewriting(String expected, String toFilter) throws Exception {
final StringWriter writer = new StringWriter();
final ChannelTitleIncorporationWiterFilter filter = new ChannelTitleIncorporationWiterFilter(writer);
filter.write(toFilter);
filter.flush();
filter.close();
final StringBuffer filteredString = writer.getBuffer();
System.out.println("I|" + toFilter + "|");
System.out.println("O|" + filteredString + "|");
System.out.println("E|" + expected + "|");
System.out.println();
assertEquals(expected, filteredString.toString());
}
}