@@ -273,7 +273,7 @@ class A
273
273
end
274
274
end
275
275
276
- def test_hovering_over_gemfile_dependency
276
+ def test_hovering_over_gemfile_dependency_using_gem_call
277
277
source = <<~RUBY
278
278
gem 'rake'
279
279
RUBY
@@ -295,6 +295,44 @@ def test_hovering_over_gemfile_dependency
295
295
end
296
296
end
297
297
298
+ def test_hovering_over_gemfile_dependency_using_gem_name
299
+ source = <<~RUBY
300
+ gem 'rake'
301
+ RUBY
302
+
303
+ # We need to pretend that Sorbet is not a dependency or else we can't properly test
304
+ with_server ( source , URI ( "file:///Gemfile" ) , stub_no_typechecker : true ) do |server , uri |
305
+ server . process_message (
306
+ id : 1 ,
307
+ method : "textDocument/hover" ,
308
+ params : { textDocument : { uri : uri } , position : { character : 5 , line : 0 } } ,
309
+ )
310
+
311
+ response = server . pop_response . response
312
+
313
+ assert_includes ( response . contents . value , "rake" )
314
+ end
315
+ end
316
+
317
+ def test_hovering_over_gemfile_dependency_triggers_only_for_first_arg
318
+ source = <<~RUBY
319
+ gem 'rake', "~> 1.0"
320
+ RUBY
321
+
322
+ # We need to pretend that Sorbet is not a dependency or else we can't properly test
323
+ with_server ( source , URI ( "file:///Gemfile" ) , stub_no_typechecker : true ) do |server , uri |
324
+ server . process_message (
325
+ id : 1 ,
326
+ method : "textDocument/hover" ,
327
+ params : { textDocument : { uri : uri } , position : { character : 13 , line : 0 } } ,
328
+ )
329
+
330
+ response = server . pop_response . response
331
+
332
+ assert_nil ( response )
333
+ end
334
+ end
335
+
298
336
def test_hovering_over_gemfile_dependency_with_missing_argument
299
337
source = <<~RUBY
300
338
gem()
0 commit comments