patch 8.0.0890: still many old style tests

Problem:    Still many old style tests.
Solution:   Convert several tests to new style. (Yegappan Lakshmanan)
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
index 97b884f..e4bd100 100644
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -60,3 +60,34 @@
   normal vki'
   bwipe!
 endfunc
+
+" Test for Visual mode not being reset causing E315 error.
+func TriggerTheProblem()
+  " At this point there is no visual selection because :call reset it.
+  " Let's restore the selection:
+  normal gv
+  '<,'>del _
+  try
+      exe "normal \<Esc>"
+  catch /^Vim\%((\a\+)\)\=:E315/
+      echom 'Snap! E315 error!'
+      let g:msg='Snap! E315 error!'
+  endtry
+endfunc
+
+func Test_visual_mode_reset()
+  set belloff=all
+  enew
+  let g:msg="Everything's fine."
+  enew
+  setl buftype=nofile
+  call append(line('$'), 'Delete this line.')
+
+  " NOTE: this has to be done by a call to a function because executing :del
+  " the ex-way will require the colon operator which resets the visual mode
+  " thus preventing the problem:
+  exe "normal! GV:call TriggerTheProblem()\<CR>"
+  call assert_equal("Everything's fine.", g:msg)
+
+  set belloff&
+endfunc