parent
349bdafc1b
commit
f1bf672ffc
1 changed files with 68 additions and 104 deletions
|
|
@ -5,71 +5,35 @@ discard """
|
|||
|
||||
import std/[strbasics, sugar]
|
||||
|
||||
template strip2(input: string, args: varargs[untyped]): untyped =
|
||||
var a = input
|
||||
when varargsLen(args) > 0:
|
||||
strip(a, args)
|
||||
else:
|
||||
strip(a)
|
||||
a
|
||||
|
||||
proc main() =
|
||||
when not defined(gcArc): # pending bug #17173
|
||||
block: # strip
|
||||
block: # bug #17173
|
||||
var a = " vhellov "
|
||||
strip(a)
|
||||
doAssert a == "vhellov"
|
||||
|
||||
a = " vhellov "
|
||||
a.strip(leading = false)
|
||||
doAssert a == " vhellov"
|
||||
|
||||
a = " vhellov "
|
||||
a.strip(trailing = false)
|
||||
doAssert a == "vhellov "
|
||||
|
||||
a.strip()
|
||||
a.strip(chars = {'v'})
|
||||
doAssert a == "hello"
|
||||
|
||||
a = " vhellov "
|
||||
a.strip()
|
||||
a.strip(leading = false, chars = {'v'})
|
||||
doAssert a == "vhello"
|
||||
|
||||
var c = "blaXbla"
|
||||
c.strip(chars = {'b', 'a'})
|
||||
doAssert c == "laXbl"
|
||||
c = "blaXbla"
|
||||
c.strip(chars = {'b', 'a', 'l'})
|
||||
doAssert c == "X"
|
||||
|
||||
block:
|
||||
var a = "xxxxxx"
|
||||
a.strip(chars={'x'})
|
||||
doAssert a.len == 0
|
||||
|
||||
block:
|
||||
var a = "x"
|
||||
a.strip(chars={'x'})
|
||||
doAssert a.len == 0
|
||||
|
||||
block:
|
||||
var a = "x"
|
||||
a.strip(chars={'1'})
|
||||
doAssert a.len == 1
|
||||
|
||||
block:
|
||||
var a = ""
|
||||
a.strip(chars={'x'})
|
||||
doAssert a.len == 0
|
||||
|
||||
block:
|
||||
var a = "xxx xxx"
|
||||
a.strip(chars={'x'})
|
||||
doAssert a == " "
|
||||
|
||||
block:
|
||||
var a = "xxx wind"
|
||||
a.strip(chars={'x'})
|
||||
doAssert a == " wind"
|
||||
|
||||
block:
|
||||
var a = "xxx iii"
|
||||
a.strip(chars={'i'})
|
||||
doAssert a == "xxx "
|
||||
doAssert strip2(" vhellov ") == "vhellov"
|
||||
doAssert strip2(" vhellov ", leading = false) == " vhellov"
|
||||
doAssert strip2(" vhellov ", trailing = false) == "vhellov "
|
||||
doAssert strip2("vhellov", chars = {'v'}) == "hello"
|
||||
doAssert strip2("vhellov", leading = false, chars = {'v'}) == "vhello"
|
||||
doAssert strip2("blaXbla", chars = {'b', 'a'}) == "laXbl"
|
||||
doAssert strip2("blaXbla", chars = {'b', 'a', 'l'}) == "X"
|
||||
doAssert strip2("xxxxxx", chars={'x'}) == ""
|
||||
doAssert strip2("x", chars={'x'}) == ""
|
||||
doAssert strip2("x", chars={'1'}) == "x"
|
||||
doAssert strip2("", chars={'x'}) == ""
|
||||
doAssert strip2("xxx xxx", chars={'x'}) == " "
|
||||
doAssert strip2("xxx wind", chars={'x'}) == " wind"
|
||||
doAssert strip2("xxx iii", chars={'i'}) == "xxx "
|
||||
|
||||
block:
|
||||
var a = "xxx iii"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue