package com.alibaba.json.bvt.support; import java.nio.charset.Charset; import java.util.HashMap; import java.util.Map; import junit.framework.TestCase; import org.junit.Assert; import com.alibaba.fastjson.parser.Feature; import com.alibaba.fastjson.parser.ParserConfig; import com.alibaba.fastjson.serializer.SerializeConfig; import com.alibaba.fastjson.serializer.SerializeFilter; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.serializer.ValueFilter; import com.alibaba.fastjson.support.config.FastJsonConfig; public class FastJsonConfigTest extends TestCase { public void test_0() throws Exception { FastJsonConfig config = new FastJsonConfig(); Assert.assertEquals(Charset.forName("UTF-8"), config.getCharset()); config.setCharset(Charset.forName("GBK")); Assert.assertEquals(Charset.forName("GBK"), config.getCharset()); Assert.assertNull(config.getDateFormat()); config.setDateFormat("yyyyMMdd"); Assert.assertNotNull(config.getDateFormat()); config.setParserConfig(ParserConfig.getGlobalInstance()); Assert.assertNotNull(config.getParserConfig()); config.setSerializeConfig(SerializeConfig.globalInstance); Assert.assertNotNull(config.getSerializeConfig()); config.setFeatures(Feature.AllowComment, Feature.AutoCloseSource); Assert.assertEquals(2, config.getFeatures().length); Assert.assertEquals(Feature.AllowComment, config.getFeatures()[0]); Assert.assertEquals(Feature.AutoCloseSource, config.getFeatures()[1]); config.setSerializerFeatures(SerializerFeature.IgnoreErrorGetter); Assert.assertEquals(1, config.getSerializerFeatures().length); Assert.assertEquals(SerializerFeature.IgnoreErrorGetter, config.getSerializerFeatures()[0]); config.setSerializeFilters(serializeFilter); Assert.assertEquals(1, config.getSerializeFilters().length); Assert.assertEquals(serializeFilter, config.getSerializeFilters()[0]); classSerializeFilter.put(TestVO.class, serializeFilter); config.setClassSerializeFilters(classSerializeFilter); Assert.assertEquals(1, config.getClassSerializeFilters().size()); Assert.assertEquals(classSerializeFilter, config.getClassSerializeFilters()); config.setClassSerializeFilters(null); } private Map<Class<?>, SerializeFilter> classSerializeFilter = new HashMap<Class<?>, SerializeFilter>(); private SerializeFilter serializeFilter = new ValueFilter() { @Override public Object process(Object object, String name, Object value) { if (value == null) { return ""; } if (value instanceof Number) { return String.valueOf(value); } return value; } }; class TestVO { private Number num; private String name; public Number getNum() { return num; } public void setNum(Number num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } } }