improve test coverage for isolation (#17297)
* improve test coverage for isolation * a bit better
This commit is contained in:
parent
dd8383b10a
commit
761ec2ccc8
2 changed files with 115 additions and 16 deletions
|
|
@ -1,16 +0,0 @@
|
||||||
discard """
|
|
||||||
targets: "c cpp js"
|
|
||||||
"""
|
|
||||||
|
|
||||||
import std/[json, isolation]
|
|
||||||
|
|
||||||
|
|
||||||
proc main() =
|
|
||||||
var x: seq[Isolated[JsonNode]]
|
|
||||||
x.add isolate(newJString("1234"))
|
|
||||||
|
|
||||||
doAssert $x == """@[(value: "1234")]"""
|
|
||||||
|
|
||||||
|
|
||||||
static: main()
|
|
||||||
main()
|
|
||||||
115
tests/stdlib/tisolation.nim
Normal file
115
tests/stdlib/tisolation.nim
Normal file
|
|
@ -0,0 +1,115 @@
|
||||||
|
discard """
|
||||||
|
targets: "c cpp"
|
||||||
|
matrix: "--gc:refc; --gc:orc"
|
||||||
|
"""
|
||||||
|
|
||||||
|
import std/[isolation, json]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
proc main() =
|
||||||
|
block: # string literals
|
||||||
|
var data = isolate("string")
|
||||||
|
doAssert data.extract == "string"
|
||||||
|
doAssert data.extract == ""
|
||||||
|
|
||||||
|
block: # string literals
|
||||||
|
var data = isolate("")
|
||||||
|
doAssert data.extract == ""
|
||||||
|
doAssert data.extract == ""
|
||||||
|
|
||||||
|
block:
|
||||||
|
var src = "string"
|
||||||
|
var data = isolate(move src)
|
||||||
|
doAssert data.extract == "string"
|
||||||
|
doAssert src.len == 0
|
||||||
|
|
||||||
|
block: # int literals
|
||||||
|
var data = isolate(1)
|
||||||
|
doAssert data.extract == 1
|
||||||
|
doAssert data.extract == 0
|
||||||
|
|
||||||
|
block: # float literals
|
||||||
|
var data = isolate(1.6)
|
||||||
|
doAssert data.extract == 1.6
|
||||||
|
doAssert data.extract == 0.0
|
||||||
|
|
||||||
|
block:
|
||||||
|
var data = isolate(@["1", "2"])
|
||||||
|
doAssert data.extract == @["1", "2"]
|
||||||
|
doAssert data.extract == @[]
|
||||||
|
|
||||||
|
block:
|
||||||
|
var data = isolate(@["1", "2", "3", "4", "5"])
|
||||||
|
doAssert data.extract == @["1", "2", "3", "4", "5"]
|
||||||
|
doAssert data.extract == @[]
|
||||||
|
|
||||||
|
block:
|
||||||
|
var data = isolate(@["", ""])
|
||||||
|
doAssert data.extract == @["", ""]
|
||||||
|
doAssert data.extract == @[]
|
||||||
|
|
||||||
|
block:
|
||||||
|
var src = @["1", "2"]
|
||||||
|
var data = isolate(move src)
|
||||||
|
doAssert data.extract == @["1", "2"]
|
||||||
|
doAssert src.len == 0
|
||||||
|
|
||||||
|
block:
|
||||||
|
var data = isolate(@[1, 2])
|
||||||
|
doAssert data.extract == @[1, 2]
|
||||||
|
doAssert data.extract == @[]
|
||||||
|
|
||||||
|
block:
|
||||||
|
var data = isolate(["1", "2"])
|
||||||
|
doAssert data.extract == ["1", "2"]
|
||||||
|
doAssert data.extract == ["", ""]
|
||||||
|
|
||||||
|
block:
|
||||||
|
var data = isolate([1, 2])
|
||||||
|
doAssert data.extract == [1, 2]
|
||||||
|
doAssert data.extract == [0, 0]
|
||||||
|
|
||||||
|
block:
|
||||||
|
type
|
||||||
|
Test = object
|
||||||
|
id: int
|
||||||
|
|
||||||
|
var data = isolate(Test(id: 12))
|
||||||
|
doAssert data.extract.id == 12
|
||||||
|
|
||||||
|
block:
|
||||||
|
type
|
||||||
|
Test = object
|
||||||
|
id: int
|
||||||
|
|
||||||
|
var src = Test(id: 12)
|
||||||
|
var data = isolate(src)
|
||||||
|
doAssert data.extract.id == 12
|
||||||
|
|
||||||
|
block:
|
||||||
|
type
|
||||||
|
Test = object
|
||||||
|
id: int
|
||||||
|
|
||||||
|
var src = Test(id: 12)
|
||||||
|
var data = isolate(move src)
|
||||||
|
doAssert data.extract.id == 12
|
||||||
|
|
||||||
|
block:
|
||||||
|
type
|
||||||
|
Test = ref object
|
||||||
|
id: int
|
||||||
|
|
||||||
|
var data = isolate(Test(id: 12))
|
||||||
|
doAssert data.extract.id == 12
|
||||||
|
|
||||||
|
block:
|
||||||
|
var x: seq[Isolated[JsonNode]]
|
||||||
|
x.add isolate(newJString("1234"))
|
||||||
|
|
||||||
|
doAssert $x == """@[(value: "1234")]"""
|
||||||
|
|
||||||
|
|
||||||
|
static: main()
|
||||||
|
main()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue