diff --git a/src/testdir/test_alot.vim b/src/testdir/test_alot.vim
index 16a3f7f..7d300a4 100644
--- a/src/testdir/test_alot.vim
+++ b/src/testdir/test_alot.vim
@@ -14,6 +14,7 @@
 source test_execute_func.vim
 source test_expand.vim
 source test_expand_dllpath.vim
+source test_expand_func.vim
 source test_expr.vim
 source test_feedkeys.vim
 source test_file_perm.vim
diff --git a/src/testdir/test_expand_func.vim b/src/testdir/test_expand_func.vim
new file mode 100644
index 0000000..fb29c3e
--- /dev/null
+++ b/src/testdir/test_expand_func.vim
@@ -0,0 +1,66 @@
+" Tests for expand()
+
+let s:sfile = expand('<sfile>')
+let s:slnum = str2nr(expand('<slnum>'))
+let s:sflnum = str2nr(expand('<sflnum>'))
+
+func s:expand_sfile()
+  return expand('<sfile>')  
+endfunc
+
+func s:expand_slnum()
+  return str2nr(expand('<slnum>'))  
+endfunc
+
+func s:expand_sflnum()
+  return str2nr(expand('<sflnum>'))  
+endfunc
+
+func Test_expand_sfile()
+  call assert_match('test_expand_func\.vim$', s:sfile)
+  call assert_match('^function .*\.\.Test_expand_sfile$', expand('<sfile>'))
+
+  " Call in script-local function
+  call assert_match('^function .*\.\.Test_expand_sfile\[5\]\.\.<SNR>\d\+_expand_sfile$', s:expand_sfile())
+
+  " Call in command
+  command Sfile echo expand('<sfile>')
+  call assert_match('^function .*\.\.Test_expand_sfile$', trim(execute('Sfile')))
+  delcommand Sfile
+endfunc
+
+func Test_expand_slnum()
+  call assert_equal(4, s:slnum)
+  call assert_equal(2, str2nr(expand('<slnum>')))
+
+  " Line-continuation
+  call assert_equal(
+        \ 5,
+        \ str2nr(expand('<slnum>')))
+
+  " Call in script-local function
+  call assert_equal(1, s:expand_slnum())
+
+  " Call in command
+  command Slnum echo expand('<slnum>')
+  call assert_equal(14, str2nr(trim(execute('Slnum'))))
+  delcommand Slnum
+endfunc
+
+func Test_expand_sflnum()
+  call assert_equal(5, s:sflnum)
+  call assert_equal(52, str2nr(expand('<sflnum>')))
+
+  " Line-continuation
+  call assert_equal(
+        \ 55,
+        \ str2nr(expand('<sflnum>')))
+
+  " Call in script-local function
+  call assert_equal(16, s:expand_sflnum())
+
+  " Call in command
+  command Flnum echo expand('<sflnum>')
+  call assert_equal(64, str2nr(trim(execute('Flnum'))))
+  delcommand Flnum
+endfunc
diff --git a/src/testdir/test_maparg.vim b/src/testdir/test_maparg.vim
index 0fb878b..c9e440e 100644
--- a/src/testdir/test_maparg.vim
+++ b/src/testdir/test_maparg.vim
@@ -13,19 +13,24 @@
   set cpo-=<
   set encoding=utf8
   " Test maparg() with a string result
+  let sid = s:SID()
+  let lnum = expand('<sflnum>')
   map foo<C-V> is<F4>foo
   vnoremap <script> <buffer> <expr> <silent> bar isbar
-  let sid = s:SID()
   call assert_equal("is<F4>foo", maparg('foo<C-V>'))
   call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>',
-        \ 'mode': ' ', 'nowait': 0, 'expr': 0, 'sid': sid, 'rhs': 'is<F4>foo',
-        \ 'buffer': 0}, maparg('foo<C-V>', '', 0, 1))
+        \ 'mode': ' ', 'nowait': 0, 'expr': 0, 'sid': sid, 'lnum': lnum + 1, 
+	\ 'rhs': 'is<F4>foo', 'buffer': 0},
+	\ maparg('foo<C-V>', '', 0, 1))
   call assert_equal({'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v',
-        \ 'nowait': 0, 'expr': 1, 'sid': sid, 'rhs': 'isbar', 'buffer': 1},
+        \ 'nowait': 0, 'expr': 1, 'sid': sid, 'lnum': lnum + 2,
+	\ 'rhs': 'isbar', 'buffer': 1},
         \ maparg('bar', '', 0, 1))
+  let lnum = expand('<sflnum>')
   map <buffer> <nowait> foo bar
   call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ',
-        \ 'nowait': 1, 'expr': 0, 'sid': sid, 'rhs': 'bar', 'buffer': 1},
+        \ 'nowait': 1, 'expr': 0, 'sid': sid, 'lnum': lnum + 1, 'rhs': 'bar',
+	\ 'buffer': 1},
         \ maparg('foo', '', 0, 1))
 
   map abc x<char-114>x
