re-enable disabled tests after #17173 (#17228)

This commit is contained in:
Timothee Cour 2021-03-02 03:53:05 -08:00 • committed by GitHub
commit f1bf672ffc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,122 +5,86 @@ discard """
import std/[strbasics, sugar] 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() = proc main() =
when not defined(gcArc): # pending bug #17173 block: # strip
block: # strip block: # bug #17173
var a = " vhellov " var a = " vhellov "
strip(a) strip(a)
doAssert a == "vhellov" doAssert a == "vhellov"
a = " vhellov " doAssert strip2(" vhellov ") == "vhellov"
a.strip(leading = false) doAssert strip2(" vhellov ", leading = false) == " vhellov"
doAssert a == " 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 "
a = " vhellov " block:
a.strip(trailing = false) var a = "xxx iii"
doAssert a == "vhellov " doAssert a.dup(strip(chars = {'i'})) == "xxx "
doAssert a.dup(strip(chars = {' '})) == "xxx iii"
doAssert a.dup(strip(chars = {'x'})) == " iii"
doAssert a.dup(strip(chars = {'x', ' '})) == "iii"
doAssert a.dup(strip(chars = {'x', 'i'})) == " "
doAssert a.dup(strip(chars = {'x', 'i', ' '})).len == 0
a.strip() block:
a.strip(chars = {'v'}) var a = "x i"
doAssert a == "hello" doAssert a.dup(strip(chars = {'i'})) == "x "
doAssert a.dup(strip(chars = {' '})) == "x i"
doAssert a.dup(strip(chars = {'x'})) == " i"
doAssert a.dup(strip(chars = {'x', ' '})) == "i"
doAssert a.dup(strip(chars = {'x', 'i'})) == " "
doAssert a.dup(strip(chars = {'x', 'i', ' '})).len == 0
a = " vhellov " block:
a.strip() var a = ""
a.strip(leading = false, chars = {'v'}) doAssert a.dup(strip(chars = {'i'})).len == 0
doAssert a == "vhello" doAssert a.dup(strip(chars = {' '})).len == 0
doAssert a.dup(strip(chars = {'x'})).len == 0
doAssert a.dup(strip(chars = {'x', ' '})).len == 0
doAssert a.dup(strip(chars = {'x', 'i'})).len == 0
doAssert a.dup(strip(chars = {'x', 'i', ' '})).len == 0
var c = "blaXbla" block:
c.strip(chars = {'b', 'a'}) var a = " "
doAssert c == "laXbl" doAssert a.dup(strip(chars = {'i'})) == " "
c = "blaXbla" doAssert a.dup(strip(chars = {' '})).len == 0
c.strip(chars = {'b', 'a', 'l'}) doAssert a.dup(strip(chars = {'x'})) == " "
doAssert c == "X" doAssert a.dup(strip(chars = {'x', ' '})).len == 0
doAssert a.dup(strip(chars = {'x', 'i'})) == " "
doAssert a.dup(strip(chars = {'x', 'i', ' '})).len == 0
block: block: # setSlice
var a = "xxxxxx" var a = "Hello, Nim!"
a.strip(chars={'x'}) doassert a.dup(setSlice(7 .. 9)) == "Nim"
doAssert a.len == 0 doAssert a.dup(setSlice(0 .. 0)) == "H"
doAssert a.dup(setSlice(0 .. 1)) == "He"
doAssert a.dup(setSlice(0 .. 10)) == a
doAssert a.dup(setSlice(1 .. 0)).len == 0
doAssert a.dup(setSlice(20 .. -1)).len == 0
block: doAssertRaises(AssertionDefect):
var a = "x" discard a.dup(setSlice(-1 .. 1))
a.strip(chars={'x'})
doAssert a.len == 0
block: doAssertRaises(AssertionDefect):
var a = "x" discard a.dup(setSlice(1 .. 11))
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 "
block:
var a = "xxx iii"
doAssert a.dup(strip(chars = {'i'})) == "xxx "
doAssert a.dup(strip(chars = {' '})) == "xxx iii"
doAssert a.dup(strip(chars = {'x'})) == " iii"
doAssert a.dup(strip(chars = {'x', ' '})) == "iii"
doAssert a.dup(strip(chars = {'x', 'i'})) == " "
doAssert a.dup(strip(chars = {'x', 'i', ' '})).len == 0
block:
var a = "x i"
doAssert a.dup(strip(chars = {'i'})) == "x "
doAssert a.dup(strip(chars = {' '})) == "x i"
doAssert a.dup(strip(chars = {'x'})) == " i"
doAssert a.dup(strip(chars = {'x', ' '})) == "i"
doAssert a.dup(strip(chars = {'x', 'i'})) == " "
doAssert a.dup(strip(chars = {'x', 'i', ' '})).len == 0
block:
var a = ""
doAssert a.dup(strip(chars = {'i'})).len == 0
doAssert a.dup(strip(chars = {' '})).len == 0
doAssert a.dup(strip(chars = {'x'})).len == 0
doAssert a.dup(strip(chars = {'x', ' '})).len == 0
doAssert a.dup(strip(chars = {'x', 'i'})).len == 0
doAssert a.dup(strip(chars = {'x', 'i', ' '})).len == 0
block:
var a = " "
doAssert a.dup(strip(chars = {'i'})) == " "
doAssert a.dup(strip(chars = {' '})).len == 0
doAssert a.dup(strip(chars = {'x'})) == " "
doAssert a.dup(strip(chars = {'x', ' '})).len == 0
doAssert a.dup(strip(chars = {'x', 'i'})) == " "
doAssert a.dup(strip(chars = {'x', 'i', ' '})).len == 0
block: # setSlice
var a = "Hello, Nim!"
doassert a.dup(setSlice(7 .. 9)) == "Nim"
doAssert a.dup(setSlice(0 .. 0)) == "H"
doAssert a.dup(setSlice(0 .. 1)) == "He"
doAssert a.dup(setSlice(0 .. 10)) == a
doAssert a.dup(setSlice(1 .. 0)).len == 0
doAssert a.dup(setSlice(20 .. -1)).len == 0
doAssertRaises(AssertionDefect):
discard a.dup(setSlice(-1 .. 1))
doAssertRaises(AssertionDefect):
discard a.dup(setSlice(1 .. 11))
block: # add block: # add
var a0 = "hi" var a0 = "hi"