package com.alibaba.json.bvt.serializer;
import java.io.IOException;
import java.lang.reflect.Type;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.ObjectSerializer;
import com.alibaba.fastjson.serializer.SerializeConfig;
public class ErrorTest extends TestCase {
public void test_error() throws Exception {
SerializeConfig config = new SerializeConfig();
config.put(A.class, new ObjectSerializer() {
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features)
throws IOException {
throw new IOException();
}
});
JSONSerializer ser = new JSONSerializer(config);
{
Exception error = null;
try {
ser.write(new A());
} catch (JSONException ex) {
error = ex;
}
Assert.assertNotNull(error);
}
{
Exception error = null;
try {
B b = new B();
b.setId(new A());
ser.write(b);
} catch (JSONException ex) {
error = ex;
}
Assert.assertNotNull(error);
}
}
public class A {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
public class B {
private A id;
public A getId() {
return id;
}
public void setId(A id) {
this.id = id;
}
}
}