tparseutils.nim 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import parseutils
  2. import sequtils
  3. let input = "$test{} $this is ${an{ example}} "
  4. let expected = @[(ikVar, "test"), (ikStr, "{} "), (ikVar, "this"),
  5. (ikStr, " is "), (ikExpr, "an{ example}"), (ikStr, " ")]
  6. doAssert toSeq(interpolatedFragments(input)) == expected
  7. var value = 0
  8. discard parseHex("0x38", value)
  9. doAssert value == 56
  10. value = -1
  11. doAssert(parseSaturatedNatural("848", value) == 3)
  12. doAssert value == 848
  13. value = -1
  14. discard parseSaturatedNatural("84899999999999999999324234243143142342135435342532453", value)
  15. doAssert value == high(int)
  16. value = -1
  17. discard parseSaturatedNatural("9223372036854775808", value)
  18. doAssert value == high(int)
  19. value = -1
  20. discard parseSaturatedNatural("9223372036854775807", value)
  21. doAssert value == high(int)
  22. value = -1
  23. discard parseSaturatedNatural("18446744073709551616", value)
  24. doAssert value == high(int)
  25. value = -1
  26. discard parseSaturatedNatural("18446744073709551615", value)
  27. doAssert value == high(int)
  28. value = -1
  29. doAssert(parseSaturatedNatural("1_000_000", value) == 9)
  30. doAssert value == 1_000_000
  31. var i64Value: int64
  32. discard parseBiggestInt("9223372036854775807", i64Value)
  33. doAssert i64Value == 9223372036854775807