Files
org-parser/tests/utils/test_str.nim
2022-02-09 15:17:37 +01:00

24 lines
611 B
Nim

import std/unittest
import utils/str
suite "utils/str":
test "safeDelete":
let t = "abc"
check(t.safeDelete(0..0) == "bc")
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)
check(t.deleteAfterNewline(start = -1) == t)