summary refs log tree commit diff stats
path: root/tools/nimsuggest/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tools/nimsuggest/tests')
-rw-r--r--tools/nimsuggest/tests/dep_v1.nim8
-rw-r--r--tools/nimsuggest/tests/dep_v2.nim9
-rw-r--r--tools/nimsuggest/tests/tdef1.nim16
-rw-r--r--tools/nimsuggest/tests/tdot1.nim14
-rw-r--r--tools/nimsuggest/tests/tdot2.nim29
-rw-r--r--tools/nimsuggest/tests/tdot3.nim27
-rw-r--r--tools/nimsuggest/tests/tinclude.nim7
-rw-r--r--tools/nimsuggest/tests/tstrutils.nim9
8 files changed, 119 insertions, 0 deletions
diff --git a/tools/nimsuggest/tests/dep_v1.nim b/tools/nimsuggest/tests/dep_v1.nim
new file mode 100644
index 000000000..eae230e85
--- /dev/null
+++ b/tools/nimsuggest/tests/dep_v1.nim
@@ -0,0 +1,8 @@
+
+
+
+
+
+type
+  Foo* = object
+    x*, y*: int
diff --git a/tools/nimsuggest/tests/dep_v2.nim b/tools/nimsuggest/tests/dep_v2.nim
new file mode 100644
index 000000000..ab39721c4
--- /dev/null
+++ b/tools/nimsuggest/tests/dep_v2.nim
@@ -0,0 +1,9 @@
+
+
+
+
+
+type
+  Foo* = object
+    x*, y*: int
+    z*: string
diff --git a/tools/nimsuggest/tests/tdef1.nim b/tools/nimsuggest/tests/tdef1.nim
new file mode 100644
index 000000000..960ffad1c
--- /dev/null
+++ b/tools/nimsuggest/tests/tdef1.nim
@@ -0,0 +1,16 @@
+discard """
+$nimsuggest --tester $file
+>def $1
+def;;skProc;;tdef1.hello;;proc ();;$file;;9;;5;;"";;100
+>def $1
+def;;skProc;;tdef1.hello;;proc ();;$file;;9;;5;;"";;100
+"""
+
+proc hello() string =
+  ## Return hello
+  "Hello"
+
+hel#[!]#lo()
+
+# v uncompleted id for sug (13,2)
+he
diff --git a/tools/nimsuggest/tests/tdot1.nim b/tools/nimsuggest/tests/tdot1.nim
new file mode 100644
index 000000000..bcd44cd84
--- /dev/null
+++ b/tools/nimsuggest/tests/tdot1.nim
@@ -0,0 +1,14 @@
+discard """
+$nimsuggest --tester $file
+>sug $1
+sug;;skField;;x;;int;;$file;;11;;4;;"";;100
+sug;;skField;;y;;int;;$file;;11;;7;;"";;100
+sug;;skProc;;tdot1.main;;proc (f: Foo);;$file;;13;;5;;"";;100
+"""
+
+type
+  Foo = object
+    x, y: int
+
+proc main(f: Foo) =
+  f.#[!]#
diff --git a/tools/nimsuggest/tests/tdot2.nim b/tools/nimsuggest/tests/tdot2.nim
new file mode 100644
index 000000000..a58ac818b
--- /dev/null
+++ b/tools/nimsuggest/tests/tdot2.nim
@@ -0,0 +1,29 @@
+# Test basic editing. We replace the 'false' by 'true' to
+# see whether then the z field is suggested.
+
+const zField = 0i32
+
+type
+  Foo = object
+    x, y: int
+    when zField == 1i32:
+      z: string
+
+proc main(f: Foo) =
+  f.#[!]#
+
+# the tester supports the spec section at the bottom of the file and
+# this way, the line numbers more often stay the same
+discard """
+$nimsuggest --tester $file
+>sug $1
+sug;;skField;;x;;int;;$file;;8;;4;;"";;100
+sug;;skField;;y;;int;;$file;;8;;7;;"";;100
+sug;;skProc;;tdot2.main;;proc (f: Foo);;$file;;12;;5;;"";;100
+!edit 0i32 1i32
+>sug $1
+sug;;skField;;x;;int;;$file;;8;;4;;"";;100
+sug;;skField;;y;;int;;$file;;8;;7;;"";;100
+sug;;skField;;z;;string;;$file;;10;;6;;"";;100
+sug;;skProc;;tdot2.main;;proc (f: Foo);;$file;;12;;5;;"";;100
+"""
diff --git a/tools/nimsuggest/tests/tdot3.nim b/tools/nimsuggest/tests/tdot3.nim
new file mode 100644
index 000000000..5badde867
--- /dev/null
+++ b/tools/nimsuggest/tests/tdot3.nim
@@ -0,0 +1,27 @@
+# Test basic module dependency recompilations.
+
+import dep
+
+proc main(f: Foo) =
+  f.#[!]#
+
+# the tester supports the spec section at the bottom of the file and
+# this way, the line numbers more often stay the same
+
+discard """
+!copy dep_v1.nim dep.nim
+$nimsuggest --tester $file
+>sug $1
+sug;;skField;;x;;int;;*dep.nim;;8;;4;;"";;100
+sug;;skField;;y;;int;;*dep.nim;;8;;8;;"";;100
+sug;;skProc;;tdot3.main;;proc (f: Foo);;$file;;5;;5;;"";;100
+
+!copy dep_v2.nim dep.nim
+>mod $path/dep.nim
+>sug $1
+sug;;skField;;x;;int;;*dep.nim;;8;;4;;"";;100
+sug;;skField;;y;;int;;*dep.nim;;8;;8;;"";;100
+sug;;skField;;z;;string;;*dep.nim;;9;;4;;"";;100
+sug;;skProc;;tdot3.main;;proc (f: Foo);;$file;;5;;5;;"";;100
+!del dep.nim
+"""
diff --git a/tools/nimsuggest/tests/tinclude.nim b/tools/nimsuggest/tests/tinclude.nim
new file mode 100644
index 000000000..77492d745
--- /dev/null
+++ b/tools/nimsuggest/tests/tinclude.nim
@@ -0,0 +1,7 @@
+discard """
+$nimsuggest --tester compiler/nim.nim
+>def compiler/semexprs.nim:13:50
+def;;skType;;ast.PSym;;PSym;;*ast.nim;;668;;2;;"";;100
+>def compiler/semexprs.nim:13:50
+def;;skType;;ast.PSym;;PSym;;*ast.nim;;668;;2;;"";;100
+"""
diff --git a/tools/nimsuggest/tests/tstrutils.nim b/tools/nimsuggest/tests/tstrutils.nim
new file mode 100644
index 000000000..f5cda9505
--- /dev/null
+++ b/tools/nimsuggest/tests/tstrutils.nim
@@ -0,0 +1,9 @@
+discard """
+$nimsuggest --tester lib/pure/strutils.nim
+>def lib/pure/strutils.nim:2300:6
+def;;skTemplate;;system.doAssert;;proc (cond: bool, msg: string): typed;;*/lib/system.nim;;*;;9;;"";;100
+"""
+
+# Line 2300 in strutils.nim is doAssert and this is unlikely to change
+# soon since there are a whole lot of doAsserts there.
+