content: 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;
          }
  
      }
  
  }
  