diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 3a4b5f6..b41f5f4 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -331,6 +331,7 @@
 	test_wnext \
 	test_wordcount \
 	test_writefile \
+	test_xdg \
 	test_xxd \
 	test_alot_latin \
 	test_alot_utf8 \
@@ -564,6 +565,7 @@
 	test_winfixbuf.res \
 	test_wordcount.res \
 	test_writefile.res \
+	test_xdg.res \
 	test_xxd.res \
 	test_alot_latin.res \
 	test_alot_utf8.res \
diff --git a/src/testdir/dumps/Test_xdg_1.dump b/src/testdir/dumps/Test_xdg_1.dump
new file mode 100644
index 0000000..4e1d7eb
--- /dev/null
+++ b/src/testdir/dumps/Test_xdg_1.dump
@@ -0,0 +1,20 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|r+0#0000000&|c|_|o|n|e| @16|o|n|e| @48
+|r|c| @20|.|v|i|m|r|c| @45
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35
diff --git a/src/testdir/dumps/Test_xdg_2.dump b/src/testdir/dumps/Test_xdg_2.dump
new file mode 100644
index 0000000..ebd3a63
--- /dev/null
+++ b/src/testdir/dumps/Test_xdg_2.dump
@@ -0,0 +1,20 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|r+0#0000000&|c|_|t|w|o| @16|t|w|o| @48
+|r|c| @20|.|v|i|m|/|v|i|m|r|c| @41
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35
diff --git a/src/testdir/dumps/Test_xdg_3.dump b/src/testdir/dumps/Test_xdg_3.dump
new file mode 100644
index 0000000..72d0fbd
--- /dev/null
+++ b/src/testdir/dumps/Test_xdg_3.dump
@@ -0,0 +1,20 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|r+0#0000000&|c|_|t|h|r|e@1| @14|t|h|r|e@1| @46
+|r|c| @20|.|c|o|n|f|i|g|/|v|i|m|/|v|i|m|r|c| @34
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35
diff --git a/src/testdir/dumps/Test_xdg_4.dump b/src/testdir/dumps/Test_xdg_4.dump
new file mode 100644
index 0000000..2a574a3
--- /dev/null
+++ b/src/testdir/dumps/Test_xdg_4.dump
@@ -0,0 +1,20 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|r+0#0000000&|c|_|f|o|u|r| @15|f|o|u|r| @47
+|r|c| @20|x|d|g|/|v|i|m|/|v|i|m|r|c| @38
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35
diff --git a/src/testdir/test_xdg.vim b/src/testdir/test_xdg.vim
new file mode 100644
index 0000000..4a43863
--- /dev/null
+++ b/src/testdir/test_xdg.vim
@@ -0,0 +1,140 @@
+" Tests for the XDG feature
+
+source check.vim
+CheckFeature terminal
+
+source shared.vim
+source screendump.vim
+source mouse.vim
+source term_util.vim
+
+func s:get_rcs()
+  let rcs = {
+        \ 'file1': { 'path': '~/.vimrc' },
+        \ 'file2': { 'path': '~/.vim/vimrc' },
+        \ 'xdg': { 'path': exists('$XDG_CONFIG_HOME') ? '$XDG_CONFIG_HOME' : "~/.config" },
+        \}
+  for v in values(rcs)
+    let v.exists = filereadable(expand(v.path))
+  endfor
+  return rcs
+endfunc
+
+func Test_xdg_rc_detection()
+  CheckUnix
+  let rc = s:get_rcs()
+  let before =<< trim CODE
+    call writefile([expand('$MYVIMRC')], "XMY_VIMRC")
+    quit!
+  CODE
+  call RunVim(before, [], "")
+  let my_rc = readfile("XMY_VIMRC")
+  if rc.file1.exists
+    call assert_equal(rc.file1.path, my_rc)
+  elseif !rc.file1.exists && rc.file2.exists
+    call assert_equal(rc.file2.path, my_rc)
+  elseif !rc.file1.exists && !rc.file2.exists && rc.xdg.exists
+    call assert_equal(rc.xdg.path, my_rc)
+  endif
+  call delete("XMY_VIMRC")
+endfunc
+
+func Test_xdg_runtime_files()
+  " This tests, that the initialization file from
+  " ~/.vimrc, ~/.vim/vimrc and ~/.config/vim/vimrc (or
+  " $XDG_HOMECONFIG/vim/vimrc) are sourced in that order
+  CheckUnix
+  call mkdir(expand('~/.vim/'), 'pD')
+  call mkdir(expand('~/.config/vim/'), 'pD')
+  call mkdir(expand('~/xdg/vim/'), 'pD')
+ 
+  let rc1=expand('~/.vimrc')
+  let rc2=expand('~/.vim/vimrc')
+  let rc3=expand('~/.config/vim/vimrc')
+  let rc4=expand('~/xdg/vim/vimrc')
+
+  " g:rc_one|two|three|four is to verify, that the other
+  " init files are not source
+  " g:rc is to verify which rc file has been loaded.
+  let file1 =<< trim CODE
+    let g:rc_one = 'one'
+    let g:rc = '.vimrc'
+  CODE
+  let file2 =<< trim CODE
+    let g:rc_two = 'two'
+    let g:rc = '.vim/vimrc'
+  CODE
+  let file3 =<< trim CODE
+    let g:rc_three = 'three'
+    let g:rc = '.config/vim/vimrc'
+  CODE
+  let file4 =<< trim CODE
+    let g:rc_four = 'four'
+    let g:rc = 'xdg/vim/vimrc'
+  CODE
+  call writefile(file1, rc1)
+  call writefile(file2, rc2)
+  call writefile(file3, rc3)
+  call writefile(file4, rc4)
+
+  let rows = 20
+  let buf = RunVimInTerminal('', #{rows: rows, no_clean: 1})
+  call TermWait(buf)
+  call term_sendkeys(buf, ":echo \$MYVIMRC\<cr>")
+  call WaitForAssert({-> assert_match('XfakeHOME/\.vimrc', term_getline(buf, rows))})
+  call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\<cr>")
+  call TermWait(buf)
+  call term_sendkeys(buf, ":redraw!\<cr>")
+  call TermWait(buf)
+  call term_sendkeys(buf, ":let g:\<cr>")
+  call VerifyScreenDump(buf, 'Test_xdg_1', {})
+  call StopVimInTerminal(buf)
+  call delete(rc1)
+  bw
+
+  let buf = RunVimInTerminal('', #{rows: rows, no_clean: 1})
+  call TermWait(buf)
+  call term_sendkeys(buf, ":echo \$MYVIMRC\<cr>")
+  call WaitForAssert({-> assert_match('XfakeHOME/\.vim/vimrc', term_getline(buf, rows))})
+  call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\<cr>")
+  call TermWait(buf)
+  call term_sendkeys(buf, ":redraw!\<cr>")
+  call TermWait(buf)
+  call term_sendkeys(buf, ":let g:\<cr>")
+  call VerifyScreenDump(buf, 'Test_xdg_2', {})
+  call StopVimInTerminal(buf)
+  call delete(rc2)
+  bw
+
+  let buf = RunVimInTerminal('', #{rows: rows, no_clean: 1})
+  call TermWait(buf)
+  call term_sendkeys(buf, ":echo \$MYVIMRC\<cr>")
+  call WaitForAssert({-> assert_match('XfakeHOME/\.config/vim/vimrc', term_getline(buf, rows))})
+  call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\<cr>")
+  call TermWait(buf)
+  call term_sendkeys(buf, ":redraw!\<cr>")
+  call TermWait(buf)
+  call term_sendkeys(buf, ":let g:\<cr>")
+  call VerifyScreenDump(buf, 'Test_xdg_3', {})
+  call StopVimInTerminal(buf)
+  call delete(rc3)
+  bw
+
+  let $XDG_CONFIG_HOME=expand('~/xdg/')
+  let buf = RunVimInTerminal('', #{rows: rows, no_clean: 1})
+  call TermWait(buf)
+  call term_sendkeys(buf, ":redraw!\<cr>")
+  call TermWait(buf)
+  call term_sendkeys(buf, ":echo \$MYVIMRC\<cr>")
+  call WaitForAssert({-> assert_match('xdg/vim/vimrc', term_getline(buf, rows))})
+  call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\<cr>")
+  call TermWait(buf)
+  call term_sendkeys(buf, ":let g:\<cr>")
+  call VerifyScreenDump(buf, 'Test_xdg_4', {})
+  call StopVimInTerminal(buf)
+  call delete(rc4)
+  bw
+  unlet $XDG_CONFIG_HOME
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
