package japicmp; import com.google.common.base.Splitter; import com.google.common.collect.ImmutableList; import org.junit.contrib.java.lang.system.LogMode; import org.junit.contrib.java.lang.system.StandardErrorStreamLog; public class ErrLogRule extends StandardErrorStreamLog { public ErrLogRule(LogMode logOnly) { super(logOnly); } static String onlyLineOf(String in) { ImmutableList<String> lines = linesOf(in); if (lines.size() == 1) { return in.replace("\r", ""); } throw new IllegalStateException("more then one line was found, but was \"" + // in.replace("\r", "") + "\""); } public static ImmutableList<String> linesOf(String in) { return ImmutableList.copyOf(Splitter.on("\n").omitEmptyStrings().trimResults().split(in)); } public String getOnlyLine() { return ErrLogRule.onlyLineOf(getLog()); } public ImmutableList<String> getLines() { return linesOf(getLog()); } }