patch 8.2.0418: code in eval.c not sufficiently covered by tests

Problem:    Code in eval.c not sufficiently covered by tests.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5815)
diff --git a/src/testdir/test_marks.vim b/src/testdir/test_marks.vim
index 360d1f3..1d1f363 100644
--- a/src/testdir/test_marks.vim
+++ b/src/testdir/test_marks.vim
@@ -81,6 +81,15 @@
   call assert_equal([0, 1, 21341234, 0], getpos("'a"))
   call assert_equal(4, virtcol("'a"))
 
+  " Test with invalid buffer number, line number and column number
+  call cursor(2, 2)
+  call setpos('.', [-1, 1, 1, 0])
+  call assert_equal([2, 2], [line('.'), col('.')])
+  call setpos('.', [0, -1, 1, 0])
+  call assert_equal([2, 2], [line('.'), col('.')])
+  call setpos('.', [0, 1, -1, 0])
+  call assert_equal([2, 2], [line('.'), col('.')])
+
   bwipe!
   call win_gotoid(twowin)
   bwipe!