summaryrefslogtreecommitdiff
path: root/server-beta/test/definition/method.lua
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2019-09-24 20:45:45 +0800
committer最萌小汐 <sumneko@hotmail.com>2019-09-24 20:45:45 +0800
commitff4f52962550da919b737f0f78bbaa4a507d6ba9 (patch)
treeb6d6e3f6224ac81cec6195f43a2fe238a60a3eee /server-beta/test/definition/method.lua
parent5c8022df4adaaf813812845f97d9cb9d7c6d4fcc (diff)
downloadlua-language-server-ff4f52962550da919b737f0f78bbaa4a507d6ba9.zip
导入测试
Diffstat (limited to 'server-beta/test/definition/method.lua')
-rw-r--r--server-beta/test/definition/method.lua140
1 files changed, 140 insertions, 0 deletions
diff --git a/server-beta/test/definition/method.lua b/server-beta/test/definition/method.lua
new file mode 100644
index 00000000..08b56f61
--- /dev/null
+++ b/server-beta/test/definition/method.lua
@@ -0,0 +1,140 @@
+TEST [[
+function mt:<!a!>()
+end
+function mt:b()
+ mt:<?a?>()
+end
+]]
+
+TEST [[
+function mt:<!m1!>()
+end
+function mt:m2()
+ self:<?m1?>()
+end
+]]
+
+TEST [[
+function mt:m3()
+ mt:<?m4?>()
+end
+function mt:<!m4!>()
+end
+]]
+
+TEST [[
+function mt:m3()
+ self:<?m4?>()
+end
+function mt:<!m4!>()
+end
+]]
+
+TEST [[
+local mt
+mt.__index = mt
+function mt:<!method1!>()
+end
+
+local obj = setmetatable({}, mt)
+obj:<?method1?>()
+]]
+
+TEST [[
+local mt
+mt.__index = mt
+function mt:<!method1!>()
+end
+
+local obj = setmetatable({}, mt)
+obj:<?method1?>()
+]]
+
+TEST [[
+local mt
+function mt:<!method1!>()
+end
+
+local obj = setmetatable({}, { __index = mt })
+obj:<?method1?>()
+]]
+
+TEST [[
+local mt
+local api
+function mt:<!method1!>()
+end
+
+setmetatable(api, { __index = mt })
+api:<?method1?>()
+]]
+
+TEST [[
+local mt
+function mt:x()
+ self.<?init?>()
+end
+
+local obj = setmetatable({}, { __index = mt })
+obj.<!init!> = 1
+obj:x()
+]]
+
+TEST [[
+local mt
+function mt:x()
+ self.<?init?>()
+end
+
+local obj = setmetatable({ <!init!> = 1 }, { __index = mt })
+obj:x()
+]]
+
+TEST [[
+local mt
+function mt:x()
+ self.a.<?out?>()
+end
+
+local obj = setmetatable({
+ a = {
+ <!out!> = 1,
+ }
+}, { __index = mt })
+obj:x()
+]]
+
+TEST [[
+local sm = setmetatable
+local mt
+mt.__index = mt
+function mt:<!method1!>()
+end
+
+local obj = sm({}, mt)
+obj:<?method1?>()
+]]
+
+TEST [[
+local mt = {}
+function mt:<!x!>()
+end
+
+local obj = setmetatable({}, {__index = mt})
+function obj:x()
+end
+
+mt:<?x?>()
+]]
+
+TEST [[
+local mt = {}
+function mt:x()
+end
+
+local obj = setmetatable({}, {__index = mt})
+function obj:<!x!>()
+end
+
+obj:<?x?>()
+]]