patch 8.2.1040: not enough testing for movement commands

Problem:    Not enough testing for movement commands.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #6313)
diff --git a/src/testdir/test_gf.vim b/src/testdir/test_gf.vim
index 736a315..3fa8511 100644
--- a/src/testdir/test_gf.vim
+++ b/src/testdir/test_gf.vim
@@ -1,3 +1,4 @@
+" Test for the gf and gF (goto file) commands
 
 " This is a test if a URL is recognized by "gf", with the cursor before and
 " after the "://".  Also test ":\\".
@@ -38,6 +39,13 @@
   call search("URL")
   call assert_equal("URL://machine.name:1234?q=vim", expand("<cfile>"))
 
+  %d
+  call setline(1, "demo://remote_file")
+  wincmd f
+  call assert_equal('demo://remote_file', @%)
+  call assert_equal(2, winnr('$'))
+  close!
+
   set isf&vim
   enew!
 endfunc
@@ -118,6 +126,11 @@
   norm! ttvtXgf
   call assert_equal('Xtest_gf_visual', bufname('%'))
 
+  " if multiple lines are selected, then gf should fail
+  call setline(1, ["one", "two"])
+  normal VGgf
+  call assert_equal('Xtest_gf_visual', @%)
+
   bwipe!
   call delete('Xtest_gf_visual')
   set hidden&
@@ -146,4 +159,21 @@
   bwipe!
 endfunc
 
+" If a file is not found by 'gf', then 'includeexpr' should be used to locate
+" the file.
+func Test_gf_includeexpr()
+  new
+  let g:Inc_fname = ''
+  func IncFunc()
+    let g:Inc_fname = v:fname
+    return v:fname
+  endfunc
+  setlocal includeexpr=IncFunc()
+  call setline(1, 'somefile.java')
+  call assert_fails('normal gf', 'E447:')
+  call assert_equal('somefile.java', g:Inc_fname)
+  close!
+  delfunc IncFunc
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab