summary refs log tree commit diff stats
path: root/tests/caas
diff options
context:
space:
mode:
Diffstat (limited to 'tests/caas')
-rw-r--r--tests/caas/absurd_nesting.nim29
-rw-r--r--tests/caas/absurd_nesting.txt29
2 files changed, 58 insertions, 0 deletions
diff --git a/tests/caas/absurd_nesting.nim b/tests/caas/absurd_nesting.nim
new file mode 100644
index 000000000..136d65cc7
--- /dev/null
+++ b/tests/caas/absurd_nesting.nim
@@ -0,0 +1,29 @@
+# Tries to test the full ownership path generated by idetools.
+
+proc lev1(t1: string) =
+  var temp = t1
+  for i in 0..len(temp)-1:
+    temp[i] = chr(int(temp[i]) + 1)
+
+  proc lev2(t2: string) =
+    var temp = t2
+    for i in 0..len(temp)-1:
+      temp[i] = chr(int(temp[i]) + 1)
+
+    proc lev3(t3: string) =
+      var temp = t3
+      for i in 0..len(temp)-1:
+        temp[i] = chr(int(temp[i]) + 1)
+
+      proc lev4(t4: string) =
+        var temp = t4
+        for i in 0..len(temp)-1:
+          temp[i] = chr(int(temp[i]) + 1)
+
+        echo temp & "(lev4)"
+      lev4(temp & "(lev3)")
+    lev3(temp & "(lev2)")
+  lev2(temp & "(lev1)")
+
+when isMainModule:
+  lev1("abcd")
diff --git a/tests/caas/absurd_nesting.txt b/tests/caas/absurd_nesting.txt
new file mode 100644
index 000000000..986e34836
--- /dev/null
+++ b/tests/caas/absurd_nesting.txt
@@ -0,0 +1,29 @@
+absurd_nesting.nim
+
+> c --verbosity:0 --hints:on
+SuccessX
+
+> idetools --track:$TESTNIM,6,6 --def $SILENT
+skVar\tabsurd_nesting.lev1.temp\tstring
+
+> idetools --track:$TESTNIM,21,13 --def $SILENT
+skVar\tabsurd_nesting.lev1.lev2.lev3.lev4.temp\tstring
+
+> idetools --track:$TESTNIM,6,27 --def $SILENT
+skForVar\tabsurd_nesting.lev1.i\tint
+
+> idetools --track:$TESTNIM,21,33 --def $SILENT
+skForVar\tabsurd_nesting.lev1.lev1.lev3.lev4.i\tint
+
+> idetools --track:$TESTNIM,24,8 --def $SILENT
+skProc\tabsurd_nesting.lev1.lev1.lev3.lev4\tproc \(string\)
+
+> idetools --track:$TESTNIM,4,13 --def $SILENT
+skParam\tabsurd_nesting.lev1.t1\tstring
+
+> idetools --track:$TESTNIM,4,13 --def $SILENT
+skParam\tabsurd_nesting.lev1.t1\tstring
+
+> idetools --track:$TESTNIM,19,19 --def $SILENT
+skParam\tabsurd_nesting.lev1.lev2.lev3.lev4.t4\tstring
+