From b575108e64a18153f8119cb0f3e6e5c027770278 Mon Sep 17 00:00:00 2001 From: Andy Waite Date: Thu, 10 Aug 2023 13:45:20 -0400 Subject: [PATCH 1/2] Raise in executor in tests --- test/requests/path_completion_test.rb | 42 ++++++++++++++++++--------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/test/requests/path_completion_test.rb b/test/requests/path_completion_test.rb index 98b9344483..efc6fb3abc 100644 --- a/test/requests/path_completion_test.rb +++ b/test/requests/path_completion_test.rb @@ -33,10 +33,11 @@ def test_completion_command result = with_file_structure do @store = RubyLsp::Store.new @store.set(uri: @uri, source: document.source, version: 1) - RubyLsp::Executor.new(@store, @message_queue).execute({ + @executor = RubyLsp::Executor.new(@store, @message_queue) + run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, - }).response + ) end expected = [ @@ -69,10 +70,11 @@ def test_completion_call result = with_file_structure do @store.set(uri: @uri, source: document.source, version: 1) - RubyLsp::Executor.new(@store, @message_queue).execute({ + @executor = RubyLsp::Executor.new(@store, @message_queue) + run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, - }).response + ) end expected = [ @@ -105,10 +107,11 @@ def test_completion_command_call result = with_file_structure do @store.set(uri: @uri, source: document.source, version: 1) - RubyLsp::Executor.new(@store, @message_queue).execute({ + @executor = RubyLsp::Executor.new(@store, @message_queue) + run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, - }).response + ) end expected = [ @@ -141,10 +144,11 @@ def test_completion_with_partial_path result = with_file_structure do @store.set(uri: @uri, source: document.source, version: 1) - RubyLsp::Executor.new(@store, @message_queue).execute({ + @executor = RubyLsp::Executor.new(@store, @message_queue) + run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, - }).response + ) end expected = [ @@ -169,10 +173,11 @@ def foo } @store.set(uri: @uri, source: document.source, version: 1) - RubyLsp::Executor.new(@store, @message_queue).execute({ + @executor = RubyLsp::Executor.new(@store, @message_queue) + run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, - }).response + ) end def test_completion_is_not_triggered_if_argument_is_not_a_string @@ -182,19 +187,28 @@ def test_completion_is_not_triggered_if_argument_is_not_a_string end_position = { line: 0, - character: document.source.rindex('"'), + character: document.source.rindex("o"), } @store.set(uri: @uri, source: document.source, version: 1) - response = RubyLsp::Executor.new(@store, @message_queue).execute({ + @executor = RubyLsp::Executor.new(@store, @message_queue) + result = run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, - }).response - assert_nil(response) + ) + assert_nil(result) end private + def run_request(method:, params: {}) + result = @executor.execute({ method: method, params: params }) + error = result.error + raise error if error + + result.response + end + def with_file_structure(&block) Dir.mktmpdir("path_completion_test") do |tmpdir| $LOAD_PATH << tmpdir From c26a3a2707b238ee1f84d747b51cf0f699364373 Mon Sep 17 00:00:00 2001 From: Andy Waite Date: Tue, 15 Aug 2023 09:48:06 -0400 Subject: [PATCH 2/2] PR feedback --- test/requests/path_completion_test.rb | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/test/requests/path_completion_test.rb b/test/requests/path_completion_test.rb index efc6fb3abc..2ee5807d81 100644 --- a/test/requests/path_completion_test.rb +++ b/test/requests/path_completion_test.rb @@ -33,7 +33,6 @@ def test_completion_command result = with_file_structure do @store = RubyLsp::Store.new @store.set(uri: @uri, source: document.source, version: 1) - @executor = RubyLsp::Executor.new(@store, @message_queue) run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, @@ -70,7 +69,6 @@ def test_completion_call result = with_file_structure do @store.set(uri: @uri, source: document.source, version: 1) - @executor = RubyLsp::Executor.new(@store, @message_queue) run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, @@ -107,7 +105,6 @@ def test_completion_command_call result = with_file_structure do @store.set(uri: @uri, source: document.source, version: 1) - @executor = RubyLsp::Executor.new(@store, @message_queue) run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, @@ -144,7 +141,6 @@ def test_completion_with_partial_path result = with_file_structure do @store.set(uri: @uri, source: document.source, version: 1) - @executor = RubyLsp::Executor.new(@store, @message_queue) run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, @@ -173,7 +169,6 @@ def foo } @store.set(uri: @uri, source: document.source, version: 1) - @executor = RubyLsp::Executor.new(@store, @message_queue) run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, @@ -191,7 +186,6 @@ def test_completion_is_not_triggered_if_argument_is_not_a_string } @store.set(uri: @uri, source: document.source, version: 1) - @executor = RubyLsp::Executor.new(@store, @message_queue) result = run_request( method: "textDocument/completion", params: { textDocument: { uri: @uri.to_s }, position: end_position }, @@ -202,6 +196,7 @@ def test_completion_is_not_triggered_if_argument_is_not_a_string private def run_request(method:, params: {}) + @executor = RubyLsp::Executor.new(@store, @message_queue) result = @executor.execute({ method: method, params: params }) error = result.error raise error if error