package apache.lucene; import folioxml.lucene.analysis.folio.FolioEnuTokenizer; import folioxml.lucene.analysis.folio.TokenCombiner; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.junit.Test; import java.io.IOException; import java.io.StringReader; public class CharTokenizer { @Test public void TestBufferingCodeOnFolio() throws IOException { StringBuilder sb = new StringBuilder(); for (int i = 0; i < 2046; i++) { sb.append(" "); } String token = "thisisasingletokenandshouldnotbebroken"; sb.append(token); Tokenizer lt = new FolioEnuTokenizer(); lt.reset(); lt.setReader(new StringReader(sb.toString())); lt.incrementToken(); assert (lt.getAttribute(CharTermAttribute.class).toString().equals(token)); } @Test public void TestBufferingCodeOnFolioPhrase() throws IOException { StringBuilder sb = new StringBuilder(); for (int i = 0; i < 2046; i++) { sb.append(" "); } String token = "thisisasingletokenandshouldnotbebroken"; sb.append(token); Tokenizer t = new FolioEnuTokenizer(); t.setReader(new StringReader(sb.toString())); TokenStream lt = new TokenCombiner(t, ' '); lt.incrementToken(); assert (lt.getAttribute(CharTermAttribute.class).toString().equals(token)); } }