summaryrefslogtreecommitdiff
path: root/test/references/all.lua
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2021-06-18 16:46:14 +0800
committer最萌小汐 <sumneko@hotmail.com>2021-06-18 16:46:14 +0800
commitbdc34b18b2ff113734372b7932cfed62dfded0ee (patch)
tree4863023ff8dba5c435225774c4a3d420eb1b7edf /test/references/all.lua
parent58f38669e7968e9035bbf3bc63ace98c1ae02d7e (diff)
downloadlua-language-server-bdc34b18b2ff113734372b7932cfed62dfded0ee.zip
cleanup
Diffstat (limited to 'test/references/all.lua')
-rw-r--r--test/references/all.lua112
1 files changed, 38 insertions, 74 deletions
diff --git a/test/references/all.lua b/test/references/all.lua
index f8fe3d6e..323a3bd3 100644
--- a/test/references/all.lua
+++ b/test/references/all.lua
@@ -1,57 +1,3 @@
-local core = require 'core.reference'
-local files = require 'files'
-
-local function catch_target(script)
- local list = {}
- local cur = 1
- while true do
- local start, finish = script:find('<[!?].-[!?]>', cur)
- if not start then
- break
- end
- list[#list+1] = { start + 2, finish - 2 }
- cur = finish + 1
- end
- return list
-end
-
-local function founded(targets, results)
- if #targets ~= #results then
- return false
- end
- for _, target in ipairs(targets) do
- for _, result in ipairs(results) do
- if target[1] == result[1] and target[2] == result[2] then
- goto NEXT
- end
- end
- do return false end
- ::NEXT::
- end
- return true
-end
-
-function TEST(script)
- files.removeAll()
- local expect = catch_target(script)
- local start = script:find('<[?~]')
- local finish = script:find('[?~]>')
- local pos = (start + finish) // 2 + 1
- local new_script = script:gsub('<[!?~]', ' '):gsub('[!?~]>', ' ')
- files.setText('', new_script)
-
- local results = core('', pos)
- if results then
- local positions = {}
- for i, result in ipairs(results) do
- positions[i] = { result.target.start, result.target.finish }
- end
- assert(founded(expect, positions))
- else
- assert(#expect == 0)
- end
-end
-
TEST [[
---@class A
local a = {}
@@ -91,26 +37,26 @@ function mt:<?x?>()
end
]]
-TEST [[
----@class Dog
-local mt = {}
-function mt:<?eat?>()
-end
-
----@class Master
-local mt2 = {}
-function mt2:init()
- ---@type Dog
- local foo = self:doSomething()
- ---@type Dog
- self.dog = getDog()
-end
-function mt2:feed()
- self.dog:<!eat!>()
-end
-function mt2:doSomething()
-end
-]]
+--TEST [[
+-----@class Dog
+--local mt = {}
+--function mt:<?eat?>()
+--end
+--
+-----@class Master
+--local mt2 = {}
+--function mt2:init()
+-- ---@type Dog
+-- local foo = self:doSomething()
+-- ---@type Dog
+-- self.dog = getDog()
+--end
+--function mt2:feed()
+-- self.dog:<!eat!>()
+--end
+--function mt2:doSomething()
+--end
+--]]
-- 泛型的反向搜索
TEST [[
@@ -229,3 +175,21 @@ end
local _, <!f2!> = f()
]]
+
+TEST [[
+local <?x?>
+local function f()
+ return <!x!>
+end
+local <!y!> = f()
+]]
+
+TEST [[
+local <?x?>
+local function f()
+ return function ()
+ return <!x!>
+ end
+end
+local <!y!> = f()()
+]]