package org.opensolaris.opengrok.analysis.php; import static org.junit.Assert.assertArrayEquals; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.io.StringReader; import java.util.LinkedList; import java.util.List; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.junit.Test; import org.opensolaris.opengrok.analysis.FileAnalyzer; import org.opensolaris.opengrok.analysis.JFlexTokenizer; import org.opensolaris.opengrok.util.IOUtils; /** * Tests the {@link PhpSymbolTokenizer} class. * @author Gustavo Lopes */ public class PhpSymbolTokenizerTest { private FileAnalyzer analyzer; /** * Create new test. */ public PhpSymbolTokenizerTest() { PhpAnalyzerFactory analFact = new PhpAnalyzerFactory(); this.analyzer = analFact.getAnalyzer(); } private String[] getTermsFor(String s) { return getTermsFor(new StringReader(s)); } @SuppressWarnings("resource") private String[] getTermsFor(Reader r) { List l = new LinkedList(); JFlexTokenizer ts = (JFlexTokenizer) this.analyzer.overridableTokenStream("refs", null); ts.yyreset(r); CharTermAttribute term = ts.addAttribute(CharTermAttribute.class); try { while (ts.yylex()) { l.add(term.toString()); } } catch (IOException ex) { throw new RuntimeException(ex); } finally { IOUtils.close(ts); } return l.toArray(new String[l.size()]); } /** * Simple tokenizer test. */ @Test public void basicTest() { String s = "