You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by yo...@apache.org on 2006/12/04 06:22:09 UTC

svn commit: r482083 - /labs/noggit/src/test/java/org/apache/noggit/TestJSONParser.java

Author: yonik
Date: Sun Dec  3 21:22:09 2006
New Revision: 482083

URL: http://svn.apache.org/viewvc?view=rev&rev=482083
Log:
more tests: string, bool, more array, object

Modified:
    labs/noggit/src/test/java/org/apache/noggit/TestJSONParser.java

Modified: labs/noggit/src/test/java/org/apache/noggit/TestJSONParser.java
URL: http://svn.apache.org/viewvc/labs/noggit/src/test/java/org/apache/noggit/TestJSONParser.java?view=diff&rev=482083&r1=482082&r2=482083
==============================================================================
--- labs/noggit/src/test/java/org/apache/noggit/TestJSONParser.java (original)
+++ labs/noggit/src/test/java/org/apache/noggit/TestJSONParser.java Sun Dec  3 21:22:09 2006
@@ -148,6 +148,7 @@
         case JSONParser.NULL: got=N; p.getNull(); break; // optional
         case JSONParser.BOOLEAN: got=o(p.getBoolean()); break;
         case JSONParser.EOF: got=e; break;
+        case JSONParser.STRING: got=p.getString(); break;
         default: got="Unexpected Event Number " + ev;
       }
 
@@ -186,7 +187,56 @@
   public void testNull() throws IOException {
     err("[nullz]");
     parse("[null]","[0]");
-    parse("{'hi':null}","{s0}");
+    parse("{'hi':null}",new Object[]{m,"hi",N,M,e});
+  }
+
+  public void testBool() throws IOException {
+    err("[True]");
+    err("[False]");
+    err("[TRUE]");
+    err("[FALSE]");
+    err("[truex]");
+    err("[falsex]"); 
+
+    parse("[false,true, false , true ]",new Object[]{a,f,t,f,t,A,e});
+  }
+
+  public void testString() throws IOException {
+    // NOTE: single quotes are converted to double quotes by this
+    // testsuite!
+    err("[']");
+    err("[',]");
+    err("{'}");
+    err("{',}");
+
+    err("['\\u111']");
+    err("['\\u11']");
+    err("['\\u1']");
+    err("['\\']");
+    err("['\\ ']");
+    err("['\\U1111']");
+
+
+    parse("['']",new Object[]{a,"",A,e});
+    parse("['\\\\']",new Object[]{a,"\\",A,e});
+    parse("['X\\\\']",new Object[]{a,"X\\",A,e});
+    parse("['\\\\X']",new Object[]{a,"\\X",A,e});
+    parse("['\\'']",new Object[]{a,"\"",A,e});
+
+
+    String esc="\\n\\r\\tX\\b\\f\\/\\\\X\\\"";
+    String exp="\n\r\tX\b\f/\\X\"";
+    parse("['" + esc + "']",new Object[]{a,exp,A,e});
+    parse("['" + esc+esc+esc+esc+esc + "']",new Object[]{a,exp+exp+exp+exp+exp,A,e});
+
+    esc="\\u004A";
+    exp="\u004A";
+    parse("['" + esc + "']",new Object[]{a,exp,A,e});
+
+    esc="\\u0000\\u1111\\u2222\\u12AF\\u12BC\\u19DE";
+    exp="\u0000\u1111\u2222\u12AF\u12BC\u19DE";
+    parse("['" + esc + "']",new Object[]{a,exp,A,e});
+
   }
 
   public void testNumbers() throws IOException {
@@ -313,13 +363,33 @@
     parse("{'':null}","{s0}");
 
     err("}");
+    err("[}]");
     err("{");
+    err("[{]");
     err("{{}");
+    err("[{{}]");
     err("{}}");;
+    err("[{}}]");;
     err("{1}");
+    err("[{1}]");
     err("{'a'}");
     err("{'a','b'}");
     err("{null:'b'}");
+    err("{[]:'b'}");
+    err("{true:'b'}");
+    err("{false:'b'}");
+    err("{{'a':'b'}:'c'}");
+
+    parse("{"+"}", new Object[]{m,M,e});
+    parse("{'a':'b'}", new Object[]{m,"a","b",M,e});
+    parse("{'a':5}", new Object[]{m,"a",o(5),M,e});
+    parse("{'a':null}", new Object[]{m,"a",N,M,e});
+    parse("{'a':[]}", new Object[]{m,"a",a,A,M,e});
+    parse("{'a':{'b':'c'}}", new Object[]{m,"a",m,"b","c",M,M,e});
+
+    String big = "Now is the time for all good men to come to the aid of their country!";
+    String t = big+big+big+big+big;
+    parse("{'"+t+"':'"+t+"','a':'b'}", new Object[]{m,t,t,"a","b",M,e});
   }
 
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org