diff options
Diffstat (limited to 'server-beta/test/crossfile/document_symbol.lua')
-rw-r--r-- | server-beta/test/crossfile/document_symbol.lua | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/server-beta/test/crossfile/document_symbol.lua b/server-beta/test/crossfile/document_symbol.lua deleted file mode 100644 index 997d42c5..00000000 --- a/server-beta/test/crossfile/document_symbol.lua +++ /dev/null @@ -1,121 +0,0 @@ -local service = require 'service' -local workspace = require 'workspace' -local fs = require 'bee.filesystem' -local core = require 'core' -local uric = require 'uri' - -local SymbolKind = { - File = 1, - Module = 2, - Namespace = 3, - Package = 4, - Class = 5, - Method = 6, - Property = 7, - Field = 8, - Constructor = 9, - Enum = 10, - Interface = 11, - Function = 12, - Variable = 13, - Constant = 14, - String = 15, - Number = 16, - Boolean = 17, - Array = 18, - Object = 19, - Key = 20, - Null = 21, - EnumMember = 22, - Struct = 23, - Event = 24, - Operator = 25, - TypeParameter = 26, -} - -local EXISTS = {} - -local function eq(a, b) - if a == EXISTS and b ~= nil then - return true - end - local tp1, tp2 = type(a), type(b) - if tp1 ~= tp2 then - return false - end - if tp1 == 'table' then - local mark = {} - for k in pairs(a) do - if not eq(a[k], b[k]) then - return false - end - mark[k] = true - end - for k in pairs(b) do - if not mark[k] then - return false - end - end - return true - end - return a == b -end - -rawset(_G, 'TEST', true) - -function TEST(data) - local lsp = service() - local ws = workspace(lsp, 'test') - lsp.workspace = ws - - local targetUri = uric.encode(fs.path(data[1].path)) - local sourceUri = uric.encode(fs.path(data[2].path)) - - lsp:saveText(sourceUri, 1, data[2].content) - ws:addFile(uric.decode(sourceUri)) - lsp:saveText(targetUri, 1, data[1].content) - ws:addFile(uric.decode(targetUri)) - while lsp._needCompile[1] do - lsp:compileVM(lsp._needCompile[1]) - end - - local sourceVM = lsp:getVM(sourceUri) - assert(sourceVM) - local result = core.documentSymbol(sourceVM) - assert(eq(data.symbol, result)) -end - -TEST { - { - path = 'a.lua', - content = 'return function () end', - }, - { - path = 'b.lua', - content = [[ -local t = { - x = require 'a', -} - ]], - }, - symbol = { - [1] = { - name = 't', - detail = EXISTS, - kind = SymbolKind.Variable, - range = {7, 7}, - selectionRange = {7, 7}, - valueRange = {11, 34}, - children = { - [1] = { - name = 'x', - detail = EXISTS, - kind = SymbolKind.Class, - range = {17, 17}, - selectionRange = {17, 17}, - valueRange = {21, 31}, - }, - } - } - } -} |