diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2021-06-18 16:46:14 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2021-06-18 16:46:14 +0800 |
commit | bdc34b18b2ff113734372b7932cfed62dfded0ee (patch) | |
tree | 4863023ff8dba5c435225774c4a3d420eb1b7edf /test/references/all.lua | |
parent | 58f38669e7968e9035bbf3bc63ace98c1ae02d7e (diff) | |
download | lua-language-server-bdc34b18b2ff113734372b7932cfed62dfded0ee.zip |
cleanup
Diffstat (limited to 'test/references/all.lua')
-rw-r--r-- | test/references/all.lua | 112 |
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()() +]] |