소스 검색

ncd/tests/parse.ncd: add some more value parsing

ambrop7 13 년 전
부모
커밋
c0a159c590
1개의 변경된 파일28개의 추가작업 그리고 0개의 파일을 삭제
  1. 28 0
      ncd/tests/parse.ncd

+ 28 - 0
ncd/tests/parse.ncd

@@ -18,6 +18,34 @@ process main {
     val_equal(x, {"Hello World", {}}) a;
     val_equal(x, {"Hello World", {}}) a;
     assert(a);
     assert(a);
 
 
+    var({"Hello", "fw", {}, {}, ["key":{{}}, [[]:[]]:["k":"v"]], {"st", {"ri", {"ng", [[{}:{}]:[]]}}}}) v;
+    to_string(v) str;
+    from_string(str) v2;
+    to_string(v2) str2;
+    val_equal(v, v2) a;
+    assert(a);
+    val_equal(str, str2) a;
+    assert(a);
+    
+    parse_value("{\"Hello\", \"fw\", {}, {}, [\"key\":{{}}, [[]:[]]:[\"k\":\"v\"]], {\"st\", {\"ri\", {\"ng\", [[{}:{}]:[]]}}}}") x;
+    assert(x.succeeded);
+    
+    parse_value("{\"Hello\", \"fw\", {}, {}, \"key\":{{}}, [[]:[]]:[\"k\":\"v\"]], {\"st, {\"ri\", {\"ng\", [[{}:{}]:[]]}}}}") x;
+    not(x.succeeded) a;
+    assert(a);
+    
+    parse_value("{\"Hello\", \"fw\", {}, {}, [\"key\":{{}}, [[]:[]]:[\"k\":\"v\"]], {\"st\", \"ri\", \"ng\", [[{}:{}]:[]]}}}}") x;
+    not(x.succeeded) a;
+    assert(a);
+    
+    parse_value("{\"Hello\", \"fw\", {}, {}, [\"key\":{{}}, [[]:[]]:[\"k\":\"v\"]], {\"st\", {\"ri\", {\"ng\", [[{}:{}]:[]]}}}}}") x;
+    not(x.succeeded) a;
+    assert(a);
+    
+    parse_value("{\"Hello\", \"fw\", {}, {}, [\"key\":{{}}, [[]:[]]:[\"k\":\"v\"]], {\"st\", {\"ri\", {\"ng\", [[{}:{}]:[]]}}}") x;
+    not(x.succeeded) a;
+    assert(a);
+    
     parse_value("{syntax error") x;
     parse_value("{syntax error") x;
     not(x.succeeded) a;
     not(x.succeeded) a;
     assert(a);
     assert(a);