1f71d7b9eSBram Moolenaar" Tests for startup using utf-8. 2f71d7b9eSBram Moolenaar 3a45551a5SBram Moolenaarsource check.vim 4f71d7b9eSBram Moolenaarsource shared.vim 524839edcSBram Moolenaarsource screendump.vim 6f71d7b9eSBram Moolenaar 7f71d7b9eSBram Moolenaarfunc Test_read_stdin_utf8() 8f71d7b9eSBram Moolenaar let linesin = ['テスト', '€ÀÈÌÒÙ'] 9f71d7b9eSBram Moolenaar call writefile(linesin, 'Xtestin') 10f71d7b9eSBram Moolenaar let before = [ 11f71d7b9eSBram Moolenaar \ 'set enc=utf-8', 12f71d7b9eSBram Moolenaar \ 'set fencs=cp932,utf-8', 13f71d7b9eSBram Moolenaar \ ] 14f71d7b9eSBram Moolenaar let after = [ 15f71d7b9eSBram Moolenaar \ 'write ++enc=utf-8 Xtestout', 16f71d7b9eSBram Moolenaar \ 'quit!', 17f71d7b9eSBram Moolenaar \ ] 18f71d7b9eSBram Moolenaar if has('win32') 19f71d7b9eSBram Moolenaar let pipecmd = 'type Xtestin | ' 20f71d7b9eSBram Moolenaar else 21f71d7b9eSBram Moolenaar let pipecmd = 'cat Xtestin | ' 22f71d7b9eSBram Moolenaar endif 23f71d7b9eSBram Moolenaar if RunVimPiped(before, after, '-', pipecmd) 24f71d7b9eSBram Moolenaar let lines = readfile('Xtestout') 25f71d7b9eSBram Moolenaar call assert_equal(linesin, lines) 26f71d7b9eSBram Moolenaar else 27f71d7b9eSBram Moolenaar call assert_equal('', 'RunVimPiped failed.') 28f71d7b9eSBram Moolenaar endif 29f71d7b9eSBram Moolenaar call delete('Xtestout') 30f71d7b9eSBram Moolenaar call delete('Xtestin') 31f71d7b9eSBram Moolenaarendfunc 32f71d7b9eSBram Moolenaar 33f71d7b9eSBram Moolenaarfunc Test_read_fifo_utf8() 34*6d91bcb4SBram Moolenaar CheckUnix 35f71d7b9eSBram Moolenaar " Using bash/zsh's process substitution. 36f71d7b9eSBram Moolenaar if executable('bash') 37f71d7b9eSBram Moolenaar set shell=bash 38f71d7b9eSBram Moolenaar elseif executable('zsh') 39f71d7b9eSBram Moolenaar set shell=zsh 40f71d7b9eSBram Moolenaar else 41*6d91bcb4SBram Moolenaar throw 'Skipped: bash or zsh is required' 42f71d7b9eSBram Moolenaar endif 43f71d7b9eSBram Moolenaar let linesin = ['テスト', '€ÀÈÌÒÙ'] 44f71d7b9eSBram Moolenaar call writefile(linesin, 'Xtestin') 45f71d7b9eSBram Moolenaar let before = [ 46f71d7b9eSBram Moolenaar \ 'set enc=utf-8', 47f71d7b9eSBram Moolenaar \ 'set fencs=cp932,utf-8', 48f71d7b9eSBram Moolenaar \ ] 49f71d7b9eSBram Moolenaar let after = [ 50f71d7b9eSBram Moolenaar \ 'write ++enc=utf-8 Xtestout', 51f71d7b9eSBram Moolenaar \ 'quit!', 52f71d7b9eSBram Moolenaar \ ] 53f71d7b9eSBram Moolenaar if RunVim(before, after, '<(cat Xtestin)') 54f71d7b9eSBram Moolenaar let lines = readfile('Xtestout') 55f71d7b9eSBram Moolenaar call assert_equal(linesin, lines) 56f71d7b9eSBram Moolenaar else 57f71d7b9eSBram Moolenaar call assert_equal('', 'RunVim failed.') 58f71d7b9eSBram Moolenaar endif 59f71d7b9eSBram Moolenaar call delete('Xtestout') 60f71d7b9eSBram Moolenaar call delete('Xtestin') 61f71d7b9eSBram Moolenaarendfunc 6224839edcSBram Moolenaar 6324839edcSBram Moolenaarfunc Test_detect_ambiwidth() 64494e9069SBram Moolenaar CheckRunVimInTerminal 6524839edcSBram Moolenaar 6624839edcSBram Moolenaar " Use the title termcap entries to output the escape sequence. 6724839edcSBram Moolenaar call writefile([ 6824839edcSBram Moolenaar \ 'set enc=utf-8', 6924839edcSBram Moolenaar \ 'set ambiwidth=double', 7024839edcSBram Moolenaar \ 'call test_option_not_set("ambiwidth")', 7124839edcSBram Moolenaar \ 'redraw', 7224839edcSBram Moolenaar \ ], 'Xscript') 73a45551a5SBram Moolenaar let buf = RunVimInTerminal('-S Xscript', #{keep_t_u7: 1}) 746a2c5a7dSBram Moolenaar call TermWait(buf) 7524839edcSBram Moolenaar call term_sendkeys(buf, "S\<C-R>=&ambiwidth\<CR>\<Esc>") 7624839edcSBram Moolenaar call WaitForAssert({-> assert_match('single', term_getline(buf, 1))}) 7724839edcSBram Moolenaar 7824839edcSBram Moolenaar call StopVimInTerminal(buf) 7924839edcSBram Moolenaar call delete('Xscript') 8024839edcSBram Moolenaarendfunc 81*6d91bcb4SBram Moolenaar 82*6d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 83