Skip to content

Commit 9326bed

Browse files
committed
Tweak some tests
1 parent 1aef98e commit 9326bed

File tree

1 file changed

+30
-7
lines changed

1 file changed

+30
-7
lines changed

spec/lib/ruby_language_server/server_spec.rb

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -226,29 +226,52 @@ def project_manager.possible_definitions(_uri, _position)
226226
end
227227

228228
describe '#on_textDocument_completion' do
229+
let(:completion_test_file) do
230+
<<~CODE_FILE
231+
class CompletionTest
232+
def method_one
233+
@instance_var = 1
234+
end
235+
236+
def method_two
237+
met
238+
end
239+
end
240+
CODE_FILE
241+
end
242+
229243
before do
230244
params = {
231245
'rootPath' => '/test/project',
232246
'rootUri' => 'file:///test/project'
233247
}
234248
server.on_initialize(params)
249+
250+
project_manager = server.instance_variable_get(:@project_manager)
251+
project_manager.update_document_content('file:///test.rb', completion_test_file)
235252
end
236253

237254
it 'returns completions at position' do
238255
params = {
239256
'textDocument' => { 'uri' => 'file:///test.rb' },
240-
'position' => { 'line' => 3, 'character' => 5 }
257+
'position' => { 'line' => 6, 'character' => 7 }
241258
}
242259

243-
project_manager = server.instance_variable_get(:@project_manager)
244-
def project_manager.completion_at(_uri, _position)
245-
[{ label: 'method_name', kind: 2 }]
246-
end
247-
248260
result = server.on_textDocument_completion(params)
249261

250262
refute_nil(result)
251-
assert_equal [{ label: 'method_name', kind: 2 }], result
263+
assert_instance_of Hash, result
264+
assert result.key?(:items)
265+
assert_instance_of Array, result[:items]
266+
267+
# Should find completions starting with "met"
268+
method_completions = result[:items].select { |item| item[:label].start_with?('met') }
269+
refute_empty method_completions
270+
271+
# Should include method_one and method_two
272+
labels = method_completions.map { |item| item[:label] }
273+
assert_includes labels, 'method_one'
274+
assert_includes labels, 'method_two'
252275
end
253276
end
254277

0 commit comments

Comments
 (0)