diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-08-09 22:14:05 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-08-09 22:14:05 +0200 |
commit | f71d7b9ee5ceba75f70c30845332ddd728fd16c6 (patch) | |
tree | ad1fa5db7e8866fd67eb0cb2759b3be6c89a7eac /src/testdir/test_startup_utf8.vim | |
parent | c9fb77c69244870a97384152f20845665c19fe39 (diff) | |
download | vim-f71d7b9ee5ceba75f70c30845332ddd728fd16c6.zip |
patch 7.4.2189
Problem: Cannot detect encoding in a fifo.
Solution: Extend the stdin way of detecting encoding to fifo. Add a test
for detecting encoding on stdin and fifo. (Ken Takata)
Diffstat (limited to 'src/testdir/test_startup_utf8.vim')
-rw-r--r-- | src/testdir/test_startup_utf8.vim | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/testdir/test_startup_utf8.vim b/src/testdir/test_startup_utf8.vim new file mode 100644 index 000000000..d179a4cc7 --- /dev/null +++ b/src/testdir/test_startup_utf8.vim @@ -0,0 +1,64 @@ +" Tests for startup using utf-8. +if !has('multi_byte') + finish +endif + +source shared.vim + +func Test_read_stdin_utf8() + let linesin = ['テスト', '€ÀÈÌÒÙ'] + call writefile(linesin, 'Xtestin') + let before = [ + \ 'set enc=utf-8', + \ 'set fencs=cp932,utf-8', + \ ] + let after = [ + \ 'write ++enc=utf-8 Xtestout', + \ 'quit!', + \ ] + if has('win32') + let pipecmd = 'type Xtestin | ' + else + let pipecmd = 'cat Xtestin | ' + endif + if RunVimPiped(before, after, '-', pipecmd) + let lines = readfile('Xtestout') + call assert_equal(linesin, lines) + else + call assert_equal('', 'RunVimPiped failed.') + endif + call delete('Xtestout') + call delete('Xtestin') +endfunc + +func Test_read_fifo_utf8() + if !has('unix') + return + endif + " Using bash/zsh's process substitution. + if executable('bash') + set shell=bash + elseif executable('zsh') + set shell=zsh + else + return + endif + let linesin = ['テスト', '€ÀÈÌÒÙ'] + call writefile(linesin, 'Xtestin') + let before = [ + \ 'set enc=utf-8', + \ 'set fencs=cp932,utf-8', + \ ] + let after = [ + \ 'write ++enc=utf-8 Xtestout', + \ 'quit!', + \ ] + if RunVim(before, after, '<(cat Xtestin)') + let lines = readfile('Xtestout') + call assert_equal(linesin, lines) + else + call assert_equal('', 'RunVim failed.') + endif + call delete('Xtestout') + call delete('Xtestin') +endfunc |