From f7f14081682a24cf110ed7acd907ab2e17834b97 Mon Sep 17 00:00:00 2001 From: Grzegorz Adam Hankiewicz Date: Fri, 14 Jun 2013 20:01:57 +0200 Subject: [PATCH] Adds idetools --suggest test case. Refs #484. 1) There are too many suggestions for the given prefix. 2) The suggestions don't take into account the preceeding type. 3) trackDirty only works on caas mode. --- .gitignore | 1 + tests/caas/completion_dot_syntax.txt | 8 +++++++ tests/caas/completion_dot_syntax_dirty.nim | 25 ++++++++++++++++++++++ tests/caas/completion_dot_syntax_main.nim | 24 +++++++++++++++++++++ 4 files changed, 58 insertions(+) create mode 100644 tests/caas/completion_dot_syntax.txt create mode 100644 tests/caas/completion_dot_syntax_dirty.nim create mode 100644 tests/caas/completion_dot_syntax_main.nim diff --git a/.gitignore b/.gitignore index 03e7c35cc4..536ec9d24e 100644 --- a/.gitignore +++ b/.gitignore @@ -169,6 +169,7 @@ examples/cross_calculator/android/tags /testresults.json /tests/caas/SymbolProcRun.*/ /tests/caas/absurd_nesting +/tests/caas/completion_dot_syntax_main /tests/caas/forward_declarations /tests/caas/idetools_api /tests/caas/imported diff --git a/tests/caas/completion_dot_syntax.txt b/tests/caas/completion_dot_syntax.txt new file mode 100644 index 0000000000..dbffe265cc --- /dev/null +++ b/tests/caas/completion_dot_syntax.txt @@ -0,0 +1,8 @@ +completion_dot_syntax_main.nim +> idetools --track:$TESTNIM,24,15 --def +def\tskProc\t$MODULE.echoRemainingDollars +> idetools --trackDirty:completion_dot_syntax_dirty.nim,$TESTNIM,25,12 --suggest +sug\tskProc\tcompletion_dot_syntax_dirty.echoRemainingDollars +# The suggestion should not mention the other echoRemaining* variants. +!sug\tskProc\tcompletion_dot_syntax_dirty.echoRemainingEuros +!sug\tskProc\tcompletion_dot_syntax_dirty.echoRemainingBugs diff --git a/tests/caas/completion_dot_syntax_dirty.nim b/tests/caas/completion_dot_syntax_dirty.nim new file mode 100644 index 0000000000..6237c4e79e --- /dev/null +++ b/tests/caas/completion_dot_syntax_dirty.nim @@ -0,0 +1,25 @@ +import strutils + +# Verifies if the --suggestion switch differentiates types for dot notation. + +type + TDollar = distinct int + TEuro = distinct int + +proc echoRemainingDollars(amount: TDollar) = + echo "You have $1 dollars" % [$int(amount)] + +proc echoRemainingEuros(amount: TEuro) = + echo "You have $1 euros" % [$int(amount)] + +proc echoRemainingBugs() = + echo "You still have bugs" + +proc main = + var + d: TDollar + e: TEuro + d = TDollar(23) + e = TEuro(32) + d.echoRemainingDollars() + e.echoRemai diff --git a/tests/caas/completion_dot_syntax_main.nim b/tests/caas/completion_dot_syntax_main.nim new file mode 100644 index 0000000000..0be8c7f4fb --- /dev/null +++ b/tests/caas/completion_dot_syntax_main.nim @@ -0,0 +1,24 @@ +import strutils + +# Verifies if the --suggestion switch differentiates types for dot notation. + +type + TDollar = distinct int + TEuro = distinct int + +proc echoRemainingDollars(amount: TDollar) = + echo "You have $1 dollars" % [$int(amount)] + +proc echoRemainingEuros(amount: TEuro) = + echo "You have $1 euros" % [$int(amount)] + +proc echoRemainingBugs() = + echo "You still have bugs" + +proc main = + var + d: TDollar + e: TEuro + d = TDollar(23) + e = TEuro(32) + d.echoRemainingDollars()