Mercurial > vim
changeset 12126:bb43ab26381e v8.0.0943
patch 8.0.0943: MS-Windows: Test_terminal_scrape_multibyte may fail
commit https://github.com/vim/vim/commit/3678393baa2fbfcd5020fcf0ac12947fc485e912
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Aug 14 23:07:30 2017 +0200
patch 8.0.0943: MS-Windows: Test_terminal_scrape_multibyte may fail
Problem: Test_terminal_scrape_multibyte fails if the codepage is not utf-8.
Solution: Start "cmd" with the utf-8 codepage. (micbou, closes https://github.com/vim/vim/issues/1975)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 14 Aug 2017 23:15:04 +0200 |
parents | 9dc391a1f787 |
children | faa60110e361 |
files | src/testdir/test_terminal.vim src/version.c |
diffstat | 2 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -185,14 +185,19 @@ func Test_terminal_scrape_multibyte() endif call writefile(["léttまrs"], 'Xtext') if has('win32') - let cmd = 'cmd /c "type Xtext"' + " Run cmd with UTF-8 codepage to make the type command print the expected + " multibyte characters. + let g:buf = term_start("cmd /K chcp 65001") + call term_sendkeys(g:buf, "type Xtext\<CR>") + call term_sendkeys(g:buf, "exit\<CR>") + let g:line = 4 else - let cmd = "cat Xtext" + let g:buf = term_start("cat Xtext") + let g:line = 1 endif - let g:buf = term_start(cmd) - call WaitFor('term_scrape(g:buf, 1)[0].chars == "l"') - let l = term_scrape(g:buf, 1) + call WaitFor('term_scrape(g:buf, g:line)[0].chars == "l"') + let l = term_scrape(g:buf, g:line) call assert_true(len(l) >= 7) call assert_equal('l', l[0].chars) call assert_equal('é', l[1].chars) @@ -210,6 +215,7 @@ func Test_terminal_scrape_multibyte() exe g:buf . 'bwipe' unlet g:buf + unlet g:line call delete('Xtext') endfunc