package com.google.jstestdriver.idea.util;
import com.google.jstestdriver.idea.execution.tree.JstdTestRunnerFailure;
import com.google.jstestdriver.idea.execution.tree.TestResultProtocolMessage;
import java.io.IOException;
import java.io.ObjectOutput;
public class ConsoleObjectOutput implements ObjectOutput {
public static String messageToString(TestResultProtocolMessage message) {
Object[][] args = {
{"phase", message.phase},
{"result", message.result},
{"message", message.message},
{"isDryRun()", message.isDryRun()},
{"stack", message.stack},
{"duration", message.duration},
{"log", message.log},
{"testCase", message.testCase},
{"testName", message.testName},
};
String s = "";
for (Object[] a : args) {
s += a[0] + ": " + (a[1] == null ? a[1] : a[1].toString()) + ",\t";
}
return s;
}
@Override
public void writeObject(Object obj) throws IOException {
if (obj instanceof TestResultProtocolMessage) {
TestResultProtocolMessage message = (TestResultProtocolMessage) obj;
System.out.println(messageToString(message));
} else if (obj instanceof JstdTestRunnerFailure) {
JstdTestRunnerFailure failure = (JstdTestRunnerFailure) obj;
System.out.println("JstdTestRunnerFailure: " + failure.getFailureType() + ", " + failure.getMessage());
}
}
@Override
public void write(int b) throws IOException {
}
@Override
public void write(byte[] b) throws IOException {
}
@Override
public void write(byte[] b, int off, int len) throws IOException {
}
@Override
public void writeBoolean(boolean v) throws IOException {
}
@Override
public void writeByte(int v) throws IOException {
}
@Override
public void writeShort(int v) throws IOException {
}
@Override
public void writeChar(int v) throws IOException {
}
@Override
public void writeInt(int v) throws IOException {
}
@Override
public void writeLong(long v) throws IOException {
}
@Override
public void writeFloat(float v) throws IOException {
}
@Override
public void writeDouble(double v) throws IOException {
}
@Override
public void writeBytes(String s) throws IOException {
}
@Override
public void writeChars(String s) throws IOException {
}
@Override
public void writeUTF(String s) throws IOException {
}
@Override
public void flush() throws IOException {
}
@Override
public void close() throws IOException {
}
}