some test cleanups & category reorganization (#22010)

* clean up some test categories

* mention exact slice issue

* magics into system

* move trangechecks into overflow

* move tmemory to system

* try fix CI

* try fix CI

* final CI fix
This commit is contained in:
metagn
2023-06-06 07:54:07 +03:00
committed by GitHub
parent 2ab948ce53
commit b97d603cd0
134 changed files with 189 additions and 374 deletions

View File

@@ -0,0 +1,30 @@
discard """
matrix: "-d:nimPreviewDotLikeOps"
"""
# test for https://github.com/nim-lang/RFCs/issues/341
import std/json
import std/jsonutils
import std/macros
macro fn1(a: untyped): string = newLit a.lispRepr
doAssert fn1(a.?b.c) == """(DotExpr (Infix (Ident ".?") (Ident "a") (Ident "b")) (Ident "c"))"""
template `.?`(a: JsonNode, b: untyped{ident}): JsonNode =
a[astToStr(b)]
proc identity[T](a: T): T = a
proc timesTwo[T](a: T): T = a * 2
template main =
let a = (a1: 1, a2: "abc", a3: (a4: 2.5))
let j = a.toJson
doAssert j.?a1.getInt == 1
doAssert j.?a3.?a4.getFloat == 2.5
doAssert j.?a3.?a4.getFloat.timesTwo == 5.0
doAssert j.?a3.identity.?a4.getFloat.timesTwo == 5.0
doAssert j.identity.?a3.identity.?a4.identity.getFloat.timesTwo == 5.0
doAssert j.identity.?a3.?a4.identity.getFloat.timesTwo == 5.0
static: main()
main()