diff options
Diffstat (limited to 'tests/magics')
-rw-r--r-- | tests/magics/tmagics.nim | 57 | ||||
-rw-r--r-- | tests/magics/trunnableexamples.nim | 60 |
2 files changed, 0 insertions, 117 deletions
diff --git a/tests/magics/tmagics.nim b/tests/magics/tmagics.nim deleted file mode 100644 index fa138320c..000000000 --- a/tests/magics/tmagics.nim +++ /dev/null @@ -1,57 +0,0 @@ -discard """ - output: ''' -true -true -false -true -true -false -true -''' -joinable: false -""" - -block tlowhigh: - type myEnum = enum e1, e2, e3, e4, e5 - var a: array[myEnum, int] - - for i in low(a) .. high(a): - a[i] = 0 - - proc sum(a: openarray[int]): int = - result = 0 - for i in low(a)..high(a): - inc(result, a[i]) - - doAssert sum([1, 2, 3, 4]) == 10 - - -block t8693: - type Foo = int | float - - proc bar(t1, t2: typedesc): bool = - echo (t1 is t2) - (t2 is t1) - - proc bar[T](x: T, t2: typedesc): bool = - echo (T is t2) - (t2 is T) - - doAssert bar(int, Foo) == false - doAssert bar(4, Foo) == false - doAssert bar(any, int) - doAssert bar(int, any) == false - doAssert bar(Foo, Foo) - doAssert bar(any, Foo) - doAssert bar(Foo, any) == false - -block t9442: - var v1: ref char - var v2: string - var v3: seq[char] - GC_ref(v1) - GC_unref(v1) - GC_ref(v2) - GC_unref(v2) - GC_ref(v3) - GC_unref(v3) diff --git a/tests/magics/trunnableexamples.nim b/tests/magics/trunnableexamples.nim deleted file mode 100644 index e6b2b70f8..000000000 --- a/tests/magics/trunnableexamples.nim +++ /dev/null @@ -1,60 +0,0 @@ -discard """ -cmd: "nim doc $file" -action: "compile" -nimout: ''' -foo1 -foo2 -foo3 -foo5 -foo6 -foo7 -foo8 -foo9 -''' -joinable: false -""" - -proc fun*() = - runnableExamples: - block: # `defer` only allowed inside a block - defer: echo "foo1" - - runnableExamples: - # `fun*` only allowed at top level - proc fun*()=echo "foo2" - fun() - block: - defer: echo "foo3" - - runnableExamples: - # ditto - proc fun*()=echo "foo5" - fun() - - runnableExamples: - # `codeReordering` only allowed at top level - {.experimental: "codeReordering".} - proc fun1() = fun2() - proc fun2() = echo "foo6" - fun1() - - runnableExamples: - # only works at top level - import std/macros - macro myImport(a: static string): untyped = - newTree(nnkImportStmt, [newLit a]) - myImport "str" & "utils" - doAssert declared(isAlphaAscii) - echo "foo7" - -# also check for runnableExamples at module scope -runnableExamples: - block: - defer: echo "foo8" - -runnableExamples: - proc fun*()=echo "foo9" - fun() - -# note: there are yet other examples where putting runnableExamples at module -# scope is needed, for example when using an `include` before an `import`, etc. |