Mercurial > vim
annotate src/testdir/test_mksession_utf8.vim @ 12250:ac8b2f9c1409 v8.0.1005
patch 8.0.1005: terminal without job updates slowly in GUI
commit https://github.com/vim/vim/commit/4ab7968aa9d8a624cd56f55b5cad2bedb240eb73
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Aug 27 14:50:47 2017 +0200
patch 8.0.1005: terminal without job updates slowly in GUI
Problem: Terminal without job updates slowly in GUI.
Solution: Poll for input when a channel has the keep_open flag.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 27 Aug 2017 15:00:04 +0200 |
parents | cb856404d060 |
children | 32c51eef574e |
rev | line source |
---|---|
10436
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Test for :mksession, :mkview and :loadview in utf-8 encoding |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 set encoding=utf-8 |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 scriptencoding utf-8 |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 if !has('multi_byte') || !has('mksession') |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 finish |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 endif |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 func Test_mksession_utf8() |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 tabnew |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 let wrap_save = &wrap |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 set sessionoptions=buffers splitbelow fileencoding=utf-8 |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 call setline(1, [ |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 \ 'start:', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 \ 'no multibyte chAracter', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 \ ' one leaDing tab', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 \ ' four leadinG spaces', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 \ 'two consecutive tabs', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 \ 'two tabs in one line', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 \ 'one … multibyteCharacter', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 \ 'a “b” two multiByte characters', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 \ '“c”1€ three mulTibyte characters' |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 \ ]) |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 let tmpfile = tempname() |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 exec 'w! ' . tmpfile |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 /^start: |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 set wrap |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 vsplit |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 norm! j16| |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 norm! j16| |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 norm! j16| |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 norm! j8| |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
37 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
38 norm! j8| |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
40 norm! j16| |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
41 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
42 norm! j16| |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
43 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
44 norm! j16| |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
45 wincmd l |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
46 |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
47 set nowrap |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
48 /^start: |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
49 norm! j16|3zl |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
50 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
51 norm! j016|3zl |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
52 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
53 norm! j016|3zl |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
54 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
55 norm! j08|3zl |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
56 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
57 norm! j08|3zl |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
58 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
59 norm! j016|3zl |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
60 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
61 norm! j016|3zl |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
62 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
63 norm! j016|3zl |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
64 split |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
65 call wincol() |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
66 mksession! test_mks.out |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
67 let li = filter(readfile('test_mks.out'), 'v:val =~# "\\(^ *normal! 0\\|^ *exe ''normal!\\)"') |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
68 let expected = [ |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
69 \ 'normal! 016|', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
70 \ 'normal! 016|', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
71 \ 'normal! 016|', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
72 \ 'normal! 08|', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
73 \ 'normal! 08|', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
74 \ 'normal! 016|', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
75 \ 'normal! 016|', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
76 \ 'normal! 016|', |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
77 \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
78 \ " normal! 016|", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
79 \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
80 \ " normal! 016|", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
81 \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
82 \ " normal! 016|", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
83 \ " exe 'normal! ' . s:c . '|zs' . 8 . '|'", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
84 \ " normal! 08|", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
85 \ " exe 'normal! ' . s:c . '|zs' . 8 . '|'", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
86 \ " normal! 08|", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
87 \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
88 \ " normal! 016|", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
89 \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
90 \ " normal! 016|", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
91 \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
92 \ " normal! 016|", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
93 \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
94 \ " normal! 016|" |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
95 \ ] |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
96 call assert_equal(expected, li) |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
97 tabclose! |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
98 |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
99 call delete('test_mks.out') |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
100 call delete(tmpfile) |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
101 let &wrap = wrap_save |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
102 endfunc |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
103 |
cb856404d060
commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
104 " vim: shiftwidth=2 sts=2 expandtab |