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
 
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    943,
+/**/
     942,
 /**/
     941,