summaryrefslogtreecommitdiff
path: root/test/crossfile/hover.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/crossfile/hover.lua')
-rw-r--r--test/crossfile/hover.lua35
1 files changed, 34 insertions, 1 deletions
diff --git a/test/crossfile/hover.lua b/test/crossfile/hover.lua
index b1c4c804..35528446 100644
--- a/test/crossfile/hover.lua
+++ b/test/crossfile/hover.lua
@@ -40,7 +40,7 @@ end
function TEST(expect)
files.removeAll()
- local targetScript = expect[1].content
+ local targetScript, targetList = catch(expect[1].content, '?')
local targetUri = furi.encode(expect[1].path)
local sourceScript, sourceList = catch(expect[2].content, '?')
@@ -49,6 +49,10 @@ function TEST(expect)
files.setText(targetUri, targetScript)
files.setText(sourceUri, sourceScript)
+ if targetList['?'] then
+ local targetPos = (targetList['?'][1][1] + targetList['?'][1][2]) // 2
+ core.byUri(targetUri, targetPos)
+ end
local sourcePos = (sourceList['?'][1][1] + sourceList['?'][1][2]) // 2
local hover = core.byUri(sourceUri, sourcePos)
assert(hover)
@@ -1018,3 +1022,32 @@ function fn()
line1
line2]]}
+
+TEST {
+ {
+ path = 'a.lua',
+ content = [[
+---@type string[]
+local ss
+
+for _, s in ipairs(ss) do
+ print(<?s?>)
+end
+]],
+ },
+ {
+ path = 'b.lua',
+ content = [[
+
+
+
+for _, x in ipairs({} and {}) do
+ print(<?x?>) -- `x` is infered as `string`
+end
+]],
+ },
+ hover = [[
+```lua
+local x: any
+```]]
+}