diff --git a/lib/ruby_lsp/base_server.rb b/lib/ruby_lsp/base_server.rb index ace0addce8..918a18770e 100644 --- a/lib/ruby_lsp/base_server.rb +++ b/lib/ruby_lsp/base_server.rb @@ -197,7 +197,7 @@ def send_empty_response(id) #: (String message, ?type: Integer) -> void def send_log_message(message, type: Constant::MessageType::LOG) - send_message(Notification.window_log_message(message, type: Constant::MessageType::LOG)) + send_message(Notification.window_log_message(message, type: type)) end end end diff --git a/test/server_test.rb b/test/server_test.rb index b6e7c4ca6a..98e2a15e24 100644 --- a/test/server_test.rb +++ b/test/server_test.rb @@ -412,6 +412,21 @@ def test_backtrace_is_printed_to_stderr_on_exceptions end end + def test_send_log_message_passes_type_parameter + @server.expects(:workspace_dependencies).raises(StandardError, "boom") + + capture_io do + @server.process_message({ + id: 1, + method: "rubyLsp/workspace/dependencies", + params: {}, + }) + end + + log = find_message(RubyLsp::Notification, "window/logMessage") + assert_equal(RubyLsp::Constant::MessageType::ERROR, log.params.type) + end + def test_changed_file_only_indexes_ruby path = File.join(Dir.pwd, "lib", "foo.rb") File.write(path, "class Foo\nend")