package com.alibaba.json.bvt.parser;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import junit.framework.Assert;
import junit.framework.TestCase;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.parser.DefaultExtJSONParser;
import com.alibaba.fastjson.parser.Feature;
import com.alibaba.json.bvt.parser.DefaultExtJSONParserTest.User;
public class DefaultExtJSONParserTest_2 extends TestCase {
public void test_0() throws Exception {
DefaultExtJSONParser parser = new DefaultExtJSONParser("{'a':3}");
parser.config(Feature.AllowSingleQuotes, true);
A a = parser.parseObject(A.class);
Assert.assertEquals(3, a.getA());
}
public void test_1() throws Exception {
DefaultExtJSONParser parser = new DefaultExtJSONParser("{a:3}");
parser.config(Feature.AllowUnQuotedFieldNames, true);
A a = parser.parseObject(A.class);
Assert.assertEquals(3, a.getA());
}
public void test_2() throws Exception {
DefaultExtJSONParser parser = new DefaultExtJSONParser("{a:3}");
parser.config(Feature.AllowUnQuotedFieldNames, true);
Map a = parser.parseObject(Map.class);
Assert.assertEquals(3, a.get("a"));
}
public void test_3() throws Exception {
DefaultExtJSONParser parser = new DefaultExtJSONParser("{a:3}");
parser.config(Feature.AllowUnQuotedFieldNames, true);
HashMap a = parser.parseObject(HashMap.class);
Assert.assertEquals(3, a.get("a"));
}
public void test_4() throws Exception {
DefaultExtJSONParser parser = new DefaultExtJSONParser("{a:3}");
parser.config(Feature.AllowUnQuotedFieldNames, true);
LinkedHashMap a = parser.parseObject(LinkedHashMap.class);
Assert.assertEquals(3, a.get("a"));
}
public void test_error_0() throws Exception {
Exception error = null;
try {
String text = "[{\"old\":false,\"name\":\"校长\",\"age\":3,\"salary\":123456789.0123]";
DefaultExtJSONParser parser = new DefaultExtJSONParser(text);
parser.parseArray(User.class);
} catch (Exception ex) {
error = ex;
}
Assert.assertNotNull(error);
}
public void test_error_1() throws Exception {
JSONException error = null;
try {
DefaultExtJSONParser parser = new DefaultExtJSONParser("{'a'3}");
parser.config(Feature.AllowSingleQuotes, true);
parser.parseObject(A.class);
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
public void test_error_2() throws Exception {
JSONException error = null;
try {
DefaultExtJSONParser parser = new DefaultExtJSONParser("{a 3}");
parser.config(Feature.AllowUnQuotedFieldNames, true);
parser.parseObject(A.class);
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
public void test_error_3() throws Exception {
JSONException error = null;
try {
DefaultExtJSONParser parser = new DefaultExtJSONParser("{");
parser.config(Feature.AllowUnQuotedFieldNames, true);
parser.parseObject(A.class);
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
public void test_error_4() throws Exception {
JSONException error = null;
try {
DefaultExtJSONParser parser = new DefaultExtJSONParser("{\"a\"3}");
parser.parseObject(A.class);
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
public void test_error_5() throws Exception {
JSONException error = null;
try {
DefaultExtJSONParser parser = new DefaultExtJSONParser("{a:3}");
parser.config(Feature.AllowUnQuotedFieldNames, false);
parser.parseObject(A.class);
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
public void test_error_6() throws Exception {
JSONException error = null;
try {
DefaultExtJSONParser parser = new DefaultExtJSONParser("{'a':3}");
parser.config(Feature.AllowSingleQuotes, false);
parser.parseObject(A.class);
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
public static class A {
private int a;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}
}