@@ -238,6 +238,36 @@ test_that("Hover on function argument works", {
238
238
))
239
239
})
240
240
241
+ test_that(" Hover on user function with function argument works" , {
242
+ skip_on_cran()
243
+ client <- language_client()
244
+
245
+ withr :: local_tempfile(c(" temp_file" ), fileext = " .R" )
246
+ writeLines(
247
+ c(
248
+ " test <- function(var1, var2 = function(x) x + 1) {" ,
249
+ " var1" ,
250
+ " var2" ,
251
+ " }"
252
+ ),
253
+ temp_file
254
+ )
255
+
256
+ client %> % did_save(temp_file )
257
+
258
+ result <- client %> % respond_hover(temp_file , c(1 , 3 ))
259
+ expect_length(result $ contents , 1 )
260
+ expect_equal(result $ contents [1 ], " ```r\n test <- function(var1, var2 = function(x) x + 1) {\n ```" )
261
+ expect_equal(result $ range $ start , list (line = 1 , character = 2 ))
262
+ expect_equal(result $ range $ end , list (line = 1 , character = 6 ))
263
+
264
+ result <- client %> % respond_hover(temp_file , c(2 , 3 ))
265
+ expect_length(result $ contents , 1 )
266
+ expect_equal(result $ contents [1 ], " ```r\n test <- function(var1, var2 = function(x) x + 1) {\n ```" )
267
+ expect_equal(result $ range $ start , list (line = 2 , character = 2 ))
268
+ expect_equal(result $ range $ end , list (line = 2 , character = 6 ))
269
+ })
270
+
241
271
test_that(" Hover works with local function" , {
242
272
skip_on_cran()
243
273
client <- language_client()
0 commit comments