Files
org-parser/tests/utils/test_str.nim
Florian Schroedl 49ebf7329a Add tests
2022-02-08 16:28:35 +01:00

23 lines
563 B
Nim

import std/unittest
import utils/str
suite "utils/str":
test "safeDelete":
let t = "abc"
check(t.safeDelete(0..0) == "abc")
check(t.safeDelete(0..1) == "c")
check(t.safeDelete(1..1) == "ac")
check(t.safeDelete(2..2) == "ab")
# Out of bounds slicing
check(t.safeDelete(0..10) == "")
check(t.safeDelete(10..1) == t)
check(t.safeDelete(3..3) == t)
check(t.safeDelete(3..(-1)) == t)
test "findAndDelete":
let t = "foo\nbar"
check(t.deleteAfterNewline() == "foo")
check(t.deleteAfterNewline(start = 4) == t)