import org.apache.commons.text.StringTokenizer; import org.apache.commons.text.matcher.StringMatcher; public class StringTokenizerTest { String taint() { return "tainted"; } void sink(Object o) {} void test() throws Exception { // Test constructors: sink((new StringTokenizer(taint().toCharArray())).toString()); // $ hasTaintFlow sink((new StringTokenizer(taint().toCharArray(), ',')).toString()); // $ hasTaintFlow sink((new StringTokenizer(taint().toCharArray(), ',', '"')).toString()); // $ hasTaintFlow sink((new StringTokenizer(taint().toCharArray(), ",")).toString()); // $ hasTaintFlow sink((new StringTokenizer(taint().toCharArray(), (StringMatcher)null)).toString()); // $ hasTaintFlow sink((new StringTokenizer(taint().toCharArray(), (StringMatcher)null, (StringMatcher)null)).toString()); // $ hasTaintFlow sink((new StringTokenizer(taint())).toString()); // $ hasTaintFlow sink((new StringTokenizer(taint(), ',')).toString()); // $ hasTaintFlow sink((new StringTokenizer(taint(), ',', '"')).toString()); // $ hasTaintFlow sink((new StringTokenizer(taint(), ",")).toString()); // $ hasTaintFlow sink((new StringTokenizer(taint(), (StringMatcher)null)).toString()); // $ hasTaintFlow sink((new StringTokenizer(taint(), (StringMatcher)null, (StringMatcher)null)).toString()); // $ hasTaintFlow // Test constructing static methods: sink(StringTokenizer.getCSVInstance(taint().toCharArray()).toString()); // $ hasTaintFlow sink(StringTokenizer.getCSVInstance(taint()).toString()); // $ hasTaintFlow sink(StringTokenizer.getTSVInstance(taint().toCharArray()).toString()); // $ hasTaintFlow sink(StringTokenizer.getTSVInstance(taint()).toString()); // $ hasTaintFlow // Test accessors: sink((new StringTokenizer(taint())).clone()); // $ hasTaintFlow sink((new StringTokenizer(taint())).getContent()); // $ hasTaintFlow sink((new StringTokenizer(taint())).getTokenArray()); // $ hasTaintFlow sink((new StringTokenizer(taint())).getTokenList()); // $ hasTaintFlow sink((new StringTokenizer(taint())).next()); // $ hasTaintFlow sink((new StringTokenizer(taint())).nextToken()); // $ hasTaintFlow sink((new StringTokenizer(taint())).previous()); // $ hasTaintFlow sink((new StringTokenizer(taint())).previousToken()); // $ hasTaintFlow // Test mutators: sink((new StringTokenizer()).reset(taint().toCharArray()).toString()); // $ hasTaintFlow sink((new StringTokenizer()).reset(taint()).toString()); // $ hasTaintFlow } }