parse.ncd 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. process main {
  2. parse_number("awfa") x;
  3. not(x.succeeded) a;
  4. assert(a);
  5. parse_number("023182") x;
  6. assert(x.succeeded);
  7. val_equal(x, "23182") a;
  8. assert(a);
  9. parse_ipv4_addr("192.168.61.007") x;
  10. assert(x.succeeded);
  11. val_equal(x, "192.168.61.7") a;
  12. assert(a);
  13. parse_ipv6_addr("1234:0000::abcd") x;
  14. assert(x.succeeded);
  15. val_equal(x, "1234::abcd") a;
  16. assert(a);
  17. parse_value("{\"Hello World\", {}}") x;
  18. assert(x.succeeded);
  19. val_equal(x, {"Hello World", {}}) a;
  20. assert(a);
  21. var({"Hello", "fw", {}, {}, ["key":{{}}, [[]:[]]:["k":"v"]], {"st", {"ri", {"ng", [[{}:{}]:[]]}}}}) v;
  22. to_string(v) str;
  23. from_string(str) v2;
  24. to_string(v2) str2;
  25. val_equal(v, v2) a;
  26. assert(a);
  27. val_equal(str, str2) a;
  28. assert(a);
  29. parse_value("{\"Hello\", \"fw\", {}, {}, [\"key\":{{}}, [[]:[]]:[\"k\":\"v\"]], {\"st\", {\"ri\", {\"ng\", [[{}:{}]:[]]}}}}") x;
  30. assert(x.succeeded);
  31. parse_value("{\"Hello\", \"fw\", {}, {}, \"key\":{{}}, [[]:[]]:[\"k\":\"v\"]], {\"st, {\"ri\", {\"ng\", [[{}:{}]:[]]}}}}") x;
  32. not(x.succeeded) a;
  33. assert(a);
  34. parse_value("{\"Hello\", \"fw\", {}, {}, [\"key\":{{}}, [[]:[]]:[\"k\":\"v\"]], {\"st\", \"ri\", \"ng\", [[{}:{}]:[]]}}}}") x;
  35. not(x.succeeded) a;
  36. assert(a);
  37. parse_value("{\"Hello\", \"fw\", {}, {}, [\"key\":{{}}, [[]:[]]:[\"k\":\"v\"]], {\"st\", {\"ri\", {\"ng\", [[{}:{}]:[]]}}}}}") x;
  38. not(x.succeeded) a;
  39. assert(a);
  40. parse_value("{\"Hello\", \"fw\", {}, {}, [\"key\":{{}}, [[]:[]]:[\"k\":\"v\"]], {\"st\", {\"ri\", {\"ng\", [[{}:{}]:[]]}}}") x;
  41. not(x.succeeded) a;
  42. assert(a);
  43. parse_value("{syntax error") x;
  44. not(x.succeeded) a;
  45. assert(a);
  46. parse_ipv4_cidr_addr("192.168.61.007/24") x;
  47. assert(x.succeeded);
  48. val_equal(x, "192.168.61.7/24") a;
  49. assert(a);
  50. val_equal(x.addr, "192.168.61.7") a;
  51. assert(a);
  52. val_equal(x.prefix, "24") a;
  53. assert(a);
  54. parse_ipv4_cidr_addr("192.168.61.007/33") x;
  55. not(x.succeeded) a;
  56. assert(a);
  57. parse_ipv6_cidr_addr("1234:0000::abcd/41") x;
  58. assert(x.succeeded);
  59. val_equal(x, "1234::abcd/41") a;
  60. assert(a);
  61. val_equal(x.addr, "1234::abcd") a;
  62. assert(a);
  63. val_equal(x.prefix, "41") a;
  64. assert(a);
  65. parse_ipv6_cidr_addr("1234:0000::abcd/129") x;
  66. not(x.succeeded) a;
  67. assert(a);
  68. exit("0");
  69. }