substr.ncd 718 B

12345678910111213141516171819202122232425262728293031323334353637
  1. process main {
  2. var("0123456789") str;
  3. concat(str) external_str;
  4. call("do_test", {"_caller.str"});
  5. call("do_test", {"_caller.external_str"});
  6. exit("0");
  7. }
  8. template do_test {
  9. alias(_arg0) str;
  10. substr(str, "0") sub;
  11. val_equal(sub, "0123456789") a;
  12. assert(a);
  13. substr(str, "2") sub;
  14. val_equal(sub, "23456789") a;
  15. assert(a);
  16. substr(str, "3", "0") sub;
  17. val_equal(sub, "") a;
  18. assert(a);
  19. substr(str, "3", "6") sub;
  20. val_equal(sub, "345678") a;
  21. assert(a);
  22. substr(str, "3", "7") sub;
  23. val_equal(sub, "3456789") a;
  24. assert(a);
  25. substr(str, "3", "8") sub;
  26. val_equal(sub, "3456789") a;
  27. assert(a);
  28. }