diff options
author | Christian Brabandt <cb@256bit.org> | 2024-04-19 15:22:33 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-04-19 15:26:21 +0200 |
commit | 349f5cd8188c85ab0c4083c30de72d5a66604ec7 (patch) | |
tree | 95509433a9da4310047208f2f8dfc6d662e34980 /src/testdir/test_remote.vim | |
parent | cee034112d41372d4c31abc327c6536b24fc25bd (diff) |
patch 9.1.0356: MS-Windows: --remote may change working directoryv9.1.0356
Problem: MS-Windows: --remote may change working directory when
'shellslash' is set
Solution: normalize directory separators on MS-Windows
fixes: #14549
closes: #14587
Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/testdir/test_remote.vim')
-rw-r--r-- | src/testdir/test_remote.vim | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/testdir/test_remote.vim b/src/testdir/test_remote.vim index ae931fd291..1475052fe3 100644 --- a/src/testdir/test_remote.vim +++ b/src/testdir/test_remote.vim @@ -76,4 +76,49 @@ func Test_remote_servername() close endfunc +func Test_remote_servername_shellslash() + " Note this test does not currently run on Windows + " because: + " 1) we cannot run the gui version of Vim inside a terminal + " 2) Running Windows vim.exe inside a terminal would work, but is + " disabled because of the limited colors inside the default Windows + " console (see CanRunVimInTerminal in term_util.vim) + CheckRunVimInTerminal + CheckMSWindows + + " That is the file we want the server to open, + " despite the wildignore setting + call mkdir(expand('~/remote/'), 'pD') + call writefile(range(1, 20), expand('~/remote/XTEST.txt'), 'D') + " just a dummy file, so that the ':wq' further down is successful + call writefile(range(1, 20), 'Xdummy.log', 'D') + + " Run Vim in a terminal and open a terminal window to run Vim in. + let lines =<< trim END + set shellslash + cd ~/remote + END + call writefile(lines, 'XRemoteEditing1.vim', 'D') + let buf = RunVimInTerminal('--servername XVIMTEST -S XRemoteEditing1.vim Xdummy.log', {'rows': 10}) + call TermWait(buf) + + " wildignore setting should be ignored and the XVIMTEST server should now + " open XTEST.txt, if wildignore setting is not ignored, the server + " will continue with the Xdummy.log file + let buf2 = RunVimInTerminal('--servername XVIMTEST --remote-silent ~/remote/XTEST.txt', {'rows': 5, 'wait_for_ruler': 0}) + " job should be no-longer running, so we can just close it + exe buf2 .. 'bw!' + + call term_sendkeys(buf, ":pwd\<CR>") + call WaitForAssert({-> assert_match('remote/$', term_getline(buf, 10))}, 1000) + call TermWait(buf) + call term_sendkeys(buf, ":q!\<CR>") + call TermWait(buf) + if term_getstatus(buf) == 'running' + call StopVimInTerminal(buf) + endif + bw! + close +endfunc + " vim: shiftwidth=2 sts=2 expandtab |