Skip to content
Prev Previous commit
Next Next commit
action tests
  • Loading branch information
ZacLN committed Aug 30, 2020
commit 59496a046377f3463990e590d125f3ecdb6e61aa
28 changes: 28 additions & 0 deletions test/requests/actions.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
action_request_test(line0, char0, line1 = line0, char1 = char0; diags = []) = LanguageServer.textDocument_codeAction_request(LanguageServer.CodeActionParams(LanguageServer.TextDocumentIdentifier("testdoc"), LanguageServer.Range(LanguageServer.Position(line0, char0), LanguageServer.Position(line1, char1)), LanguageServer.CodeActionContext(diags, missing)), server, server.jr_endpoint)

@testset "reexport" begin
settestdoc("using Base.Meta\n")
@test any(c.command == "ReexportModule" for c in action_request_test(0, 15))
c = filter(c->c.command == "ReexportModule", action_request_test(0, 15))[1]

LanguageServer.workspace_executeCommand_request(LanguageServer.ExecuteCommandParams(missing, c.command, c.arguments), server, server.jr_endpoint)
end

@testset "inline expand" begin
settestdoc("f(x) = x")
@test any(c.command == "ExpandFunction" for c in action_request_test(0, 5))
c = filter(c->c.command == "ExpandFunction", action_request_test(0, 5))[1]

LanguageServer.workspace_executeCommand_request(LanguageServer.ExecuteCommandParams(missing, c.command, c.arguments), server, server.jr_endpoint)
end

@testset "fixmissingref" begin
doc = settestdoc("argtail\n")
e = LanguageServer.mark_errors(doc)[1]
@test any(c.command == "FixMissingRef" for c in action_request_test(0, 5, diags = [e]))
c = filter(c->c.command == "FixMissingRef", action_request_test(0, 5, diags = [e]))[1]

LanguageServer.workspace_executeCommand_request(LanguageServer.ExecuteCommandParams(missing, c.command, c.arguments), server, server.jr_endpoint)
end


14 changes: 0 additions & 14 deletions test/requests/completions.jl
Original file line number Diff line number Diff line change
@@ -1,19 +1,5 @@
server = LanguageServerInstance(IOBuffer(), IOBuffer(), dirname(Pkg.Types.Context().env.project_file), first(Base.DEPOT_PATH))
server.runlinter = true
server.jr_endpoint = nothing
LanguageServer.initialize_request(init_request, server, nothing)

function settestdoc(text)
empty!(server._documents)
LanguageServer.textDocument_didOpen_notification(LanguageServer.DidOpenTextDocumentParams(LanguageServer.TextDocumentItem("testdoc", "julia", 0, text)), server, nothing)

doc = LanguageServer.getdocument(server, LanguageServer.URI2("testdoc"))
LanguageServer.parse_all(doc, server)
end

completion_test(line, char) = LanguageServer.textDocument_completion_request(LanguageServer.CompletionParams(LanguageServer.TextDocumentIdentifier("testdoc"), LanguageServer.Position(line, char), missing), server, server.jr_endpoint)


@testset "latex completions" begin
settestdoc("""
\\therefor
Expand Down
18 changes: 18 additions & 0 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,27 @@ JSONRPC.send(::Nothing, ::Any, ::Any) = nothing
end
@testset "intellisense" begin
include("test_intellisense.jl")

server = LanguageServerInstance(IOBuffer(), IOBuffer(), dirname(Pkg.Types.Context().env.project_file), first(Base.DEPOT_PATH))
server.runlinter = true
server.jr_endpoint = nothing
LanguageServer.initialize_request(init_request, server, nothing)

function settestdoc(text)
empty!(server._documents)
LanguageServer.textDocument_didOpen_notification(LanguageServer.DidOpenTextDocumentParams(LanguageServer.TextDocumentItem("testdoc", "julia", 0, text)), server, nothing)

doc = LanguageServer.getdocument(server, LanguageServer.URI2("testdoc"))
LanguageServer.parse_all(doc, server)
doc
end

@testset "completions" begin
include("requests/completions.jl")
end
@testset "actions" begin
include("requests/actions.jl")
end
end
@testset "edit" begin
include("test_edit.jl")
Expand Down