Merge branch 'devel' into araq
This commit is contained in:
commit
ecf1424456
18 changed files with 229 additions and 73 deletions
|
|
@ -37,16 +37,26 @@ block setTest2:
|
|||
t.incl("111")
|
||||
t.incl("123")
|
||||
t.excl("111")
|
||||
|
||||
t.incl("012")
|
||||
t.incl("123") # test duplicates
|
||||
|
||||
assert "123" in t
|
||||
assert "111" notin t # deleted
|
||||
|
||||
assert t.missingOrExcl("000") == true
|
||||
assert "000" notin t
|
||||
assert t.missingOrExcl("012") == false
|
||||
assert "012" notin t
|
||||
|
||||
assert t.containsOrIncl("012") == false
|
||||
assert t.containsOrIncl("012") == true
|
||||
assert "012" in t # added back
|
||||
|
||||
for key in items(data): t.incl(key)
|
||||
for key in items(data): assert key in t
|
||||
|
||||
for key in items(data): t.excl(key)
|
||||
for key in items(data): assert key notin t
|
||||
|
||||
block orderedSetTest1:
|
||||
var t = data.toOrderedSet
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
discard """
|
||||
output: '''{"age": 12, "bio": "\u042F Cletus", "blob": [65, 66, 67, 128], "name": "Cletus"}
|
||||
output: '''{"age": 12, "bio": "Я Cletus", "blob": [65, 66, 67, 128], "name": "Cletus"}
|
||||
true
|
||||
true
|
||||
alpha 100
|
||||
|
|
|
|||
|
|
@ -89,9 +89,21 @@ proc testRFind =
|
|||
assert "0123456789ABCDEFGAH".rfind({'A'..'C'}, 13) == 12
|
||||
assert "0123456789ABCDEFGAH".rfind({'G'..'H'}, 13) == -1
|
||||
|
||||
proc testCountLines =
|
||||
proc assertCountLines(s: string) = assert s.countLines == s.splitLines.len
|
||||
assertCountLines("")
|
||||
assertCountLines("\n")
|
||||
assertCountLines("\n\n")
|
||||
assertCountLines("abc")
|
||||
assertCountLines("abc\n123")
|
||||
assertCountLines("abc\n123\n")
|
||||
assertCountLines("\nabc\n123")
|
||||
assertCountLines("\nabc\n123\n")
|
||||
|
||||
testDelete()
|
||||
testFind()
|
||||
testRFind()
|
||||
testCountLines()
|
||||
|
||||
assert(insertSep($1000_000) == "1_000_000")
|
||||
assert(insertSep($232) == "232")
|
||||
|
|
|
|||
34
tests/vm/tstring_openarray.nim
Normal file
34
tests/vm/tstring_openarray.nim
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
|
||||
# tests various bug when passing string to openArray argument in VM.
|
||||
# bug #6086
|
||||
proc map*[T, S](data: openArray[T], op: proc (x: T): S {.closure.}):
|
||||
seq[S]{.inline.} =
|
||||
# map inlined from sequtils
|
||||
newSeq(result, data.len)
|
||||
for i in 0..data.len-1: result[i] = op(data[i])
|
||||
|
||||
|
||||
proc set_all[T](s: var openArray[T]; val: T) =
|
||||
for i in 0..<s.len:
|
||||
s[i] = val
|
||||
|
||||
proc test() =
|
||||
var a0 = "hello_world"
|
||||
var a1 = [1,2,3,4,5,6,7,8,9]
|
||||
var a2 = @[1,2,3,4,5,6,7,8,9]
|
||||
a0.set_all('i')
|
||||
a1.set_all(4)
|
||||
a2.set_all(4)
|
||||
doAssert a0 == "iiiiiiiiiii"
|
||||
doAssert a1 == [4,4,4,4,4,4,4,4,4]
|
||||
doAssert a2 == @[4,4,4,4,4,4,4,4,4]
|
||||
|
||||
const constval0 = "hello".map(proc(x: char): char = x)
|
||||
const constval1 = [1,2,3,4].map(proc(x: int): int = x)
|
||||
|
||||
doAssert("hello".map(proc(x: char): char = x) == constval0)
|
||||
doAssert([1,2,3,4].map(proc(x: int): int = x) == constval1)
|
||||
|
||||
test()
|
||||
static:
|
||||
test()
|
||||
Loading…
Add table
Add a link
Reference in a new issue