Mercurial > vim
annotate src/testdir/test_python3.vim @ 19523:a7a24d06d7ce
Update runtime files.
Commit: https://github.com/vim/vim/commit/bc93cebb692f47488d66f078d1728031e9be35e7
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Feb 26 13:36:21 2020 +0100
Update runtime files.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 26 Feb 2020 13:45:05 +0100 |
parents | f22626353eb3 |
children | f27473034f26 |
rev | line source |
---|---|
14395
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
1 " Test for python 3 commands. |
18870
1895dd434ecf
patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents:
17976
diff
changeset
|
2 " TODO: move tests from test87.in here. |
10751
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 |
17089
8e9e9124c7a2
patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
17049
diff
changeset
|
4 source check.vim |
8e9e9124c7a2
patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
17049
diff
changeset
|
5 CheckFeature python3 |
10751
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 func Test_py3do() |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 " Check deleting lines does not trigger an ml_get error. |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 py3 import vim |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 new |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 call setline(1, ['one', 'two', 'three']) |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 py3do vim.command("%d_") |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 bwipe! |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 " Check switching to another buffer does not trigger an ml_get error. |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 new |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 let wincount = winnr('$') |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 call setline(1, ['one', 'two', 'three']) |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 py3do vim.command("new") |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 call assert_equal(wincount + 1, winnr('$')) |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 bwipe! |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 bwipe! |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 endfunc |
14395
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
24 |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
25 func Test_set_cursor() |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
26 " Check that setting the cursor position works. |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
27 py3 import vim |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
28 new |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
29 call setline(1, ['first line', 'second line']) |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
30 normal gg |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
31 py3do vim.current.window.cursor = (1, 5) |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
32 call assert_equal([1, 6], [line('.'), col('.')]) |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
33 |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
34 " Check that movement after setting cursor position keeps current column. |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
35 normal j |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
36 call assert_equal([2, 6], [line('.'), col('.')]) |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
37 endfunc |
15234
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
38 |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
39 func Test_vim_function() |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
40 " Check creating vim.Function object |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
41 py3 import vim |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
42 |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
43 func s:foo() |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
44 return matchstr(expand('<sfile>'), '<SNR>\zs\d\+_foo$') |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
45 endfunc |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
46 let name = '<SNR>' . s:foo() |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
47 |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
48 try |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
49 py3 f = vim.bindeval('function("s:foo")') |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
50 call assert_equal(name, py3eval('f.name')) |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
51 catch |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
52 call assert_false(v:exception) |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
53 endtry |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
54 |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
55 try |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
56 py3 f = vim.Function(b'\x80\xfdR' + vim.eval('s:foo()').encode()) |
17976
6d11a0d5751d
patch 8.1.1984: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
57 call assert_equal(name, 'f.name'->py3eval()) |
15234
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
58 catch |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
59 call assert_false(v:exception) |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
60 endtry |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
61 |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
62 py3 del f |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
63 delfunc s:foo |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
64 endfunc |
15888
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
65 |
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
66 func Test_skipped_python3_command_does_not_affect_pyxversion() |
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
67 set pyxversion=0 |
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
68 if 0 |
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
69 python3 import vim |
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
70 endif |
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
71 call assert_equal(0, &pyxversion) " This assertion would have failed with Vim 8.0.0251. (pyxversion was introduced in 8.0.0251.) |
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
72 endfunc |
16080
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
73 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
74 func _SetUpHiddenBuffer() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
75 py3 import vim |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
76 new |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
77 edit hidden |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
78 setlocal bufhidden=hide |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
79 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
80 enew |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
81 let lnum = 0 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
82 while lnum < 10 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
83 call append( 1, string( lnum ) ) |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
84 let lnum = lnum + 1 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
85 endwhile |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
86 normal G |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
87 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
88 call assert_equal( line( '.' ), 11 ) |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
89 endfunc |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
90 |
16138
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
91 func _CleanUpHiddenBuffer() |
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
92 bwipe! hidden |
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
93 bwipe! |
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
94 endfunc |
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
95 |
16080
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
96 func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_Clear() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
97 call _SetUpHiddenBuffer() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
98 py3 vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][:] = None |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
99 call assert_equal( line( '.' ), 11 ) |
16138
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
100 call _CleanUpHiddenBuffer() |
16080
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
101 endfunc |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
102 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
103 func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_List() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
104 call _SetUpHiddenBuffer() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
105 py3 vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][:] = [ 'test' ] |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
106 call assert_equal( line( '.' ), 11 ) |
16138
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
107 call _CleanUpHiddenBuffer() |
16080
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
108 endfunc |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
109 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
110 func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_Str() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
111 call _SetUpHiddenBuffer() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
112 py3 vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][0] = 'test' |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
113 call assert_equal( line( '.' ), 11 ) |
16138
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
114 call _CleanUpHiddenBuffer() |
16080
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
115 endfunc |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
116 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
117 func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_ClearLine() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
118 call _SetUpHiddenBuffer() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
119 py3 vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][0] = None |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
120 call assert_equal( line( '.' ), 11 ) |
16138
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
121 call _CleanUpHiddenBuffer() |
16080
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
122 endfunc |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
123 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
124 func _SetUpVisibleBuffer() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
125 py3 import vim |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
126 new |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
127 let lnum = 0 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
128 while lnum < 10 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
129 call append( 1, string( lnum ) ) |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
130 let lnum = lnum + 1 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
131 endwhile |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
132 normal G |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
133 call assert_equal( line( '.' ), 11 ) |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
134 endfunc |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
135 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
136 func Test_Write_To_Current_Buffer_Fixes_Cursor_Clear() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
137 call _SetUpVisibleBuffer() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
138 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
139 py3 vim.current.buffer[:] = None |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
140 call assert_equal( line( '.' ), 1 ) |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
141 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
142 bwipe! |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
143 endfunc |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
144 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
145 func Test_Write_To_Current_Buffer_Fixes_Cursor_List() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
146 call _SetUpVisibleBuffer() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
147 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
148 py3 vim.current.buffer[:] = [ 'test' ] |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
149 call assert_equal( line( '.' ), 1 ) |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
150 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
151 bwipe! |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
152 endfunction |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
153 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
154 func Test_Write_To_Current_Buffer_Fixes_Cursor_Str() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
155 call _SetUpVisibleBuffer() |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
156 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
157 py3 vim.current.buffer[-1] = None |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
158 call assert_equal( line( '.' ), 10 ) |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
159 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
160 bwipe! |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
161 endfunction |
16688
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
162 |
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
163 func Test_Catch_Exception_Message() |
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
164 try |
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
165 py3 raise RuntimeError( 'TEST' ) |
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
166 catch /.*/ |
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
167 call assert_match( '^Vim(.*):RuntimeError: TEST$', v:exception ) |
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
168 endtry |
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
169 endfunc |
19015
a3d9a5e14c1f
patch 8.2.0068: crash when using Python 3 with "utf32" encoding
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
170 |
a3d9a5e14c1f
patch 8.2.0068: crash when using Python 3 with "utf32" encoding
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
171 func Test_unicode() |
a3d9a5e14c1f
patch 8.2.0068: crash when using Python 3 with "utf32" encoding
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
172 " this crashed Vim once |
19029
8aa4ba1f9345
patch 8.2.0075: Python 3 unicode test still sometimes fails
Bram Moolenaar <Bram@vim.org>
parents:
19027
diff
changeset
|
173 if &tenc != '' |
8aa4ba1f9345
patch 8.2.0075: Python 3 unicode test still sometimes fails
Bram Moolenaar <Bram@vim.org>
parents:
19027
diff
changeset
|
174 throw "Skipped: 'termencoding' is not empty" |
8aa4ba1f9345
patch 8.2.0075: Python 3 unicode test still sometimes fails
Bram Moolenaar <Bram@vim.org>
parents:
19027
diff
changeset
|
175 endif |
19027
d72b30bf3a80
patch 8.2.0074: Python 3 unicode test someitmes fails
Bram Moolenaar <Bram@vim.org>
parents:
19019
diff
changeset
|
176 |
19015
a3d9a5e14c1f
patch 8.2.0068: crash when using Python 3 with "utf32" encoding
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
177 set encoding=utf32 |
a3d9a5e14c1f
patch 8.2.0068: crash when using Python 3 with "utf32" encoding
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
178 py3 print('hello') |
19027
d72b30bf3a80
patch 8.2.0074: Python 3 unicode test someitmes fails
Bram Moolenaar <Bram@vim.org>
parents:
19019
diff
changeset
|
179 |
19031
9cad3d0c34b3
patch 8.2.0076: Python 3 unicode test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
19029
diff
changeset
|
180 if !has('win32') |
9cad3d0c34b3
patch 8.2.0076: Python 3 unicode test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
19029
diff
changeset
|
181 set encoding=debug |
9cad3d0c34b3
patch 8.2.0076: Python 3 unicode test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
19029
diff
changeset
|
182 py3 print('hello') |
19037
9bb2a4f6296a
patch 8.2.0079: Python 3 unicode test still fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
19031
diff
changeset
|
183 |
9bb2a4f6296a
patch 8.2.0079: Python 3 unicode test still fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
19031
diff
changeset
|
184 set encoding=euc-tw |
9bb2a4f6296a
patch 8.2.0079: Python 3 unicode test still fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
19031
diff
changeset
|
185 py3 print('hello') |
19031
9cad3d0c34b3
patch 8.2.0076: Python 3 unicode test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
19029
diff
changeset
|
186 endif |
19027
d72b30bf3a80
patch 8.2.0074: Python 3 unicode test someitmes fails
Bram Moolenaar <Bram@vim.org>
parents:
19019
diff
changeset
|
187 |
19015
a3d9a5e14c1f
patch 8.2.0068: crash when using Python 3 with "utf32" encoding
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
188 set encoding=utf8 |
a3d9a5e14c1f
patch 8.2.0068: crash when using Python 3 with "utf32" encoding
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
189 endfunc |
19141
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
190 |
19499
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
191 " Test vim.eval() with various types. |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
192 func Test_python3_vim_val() |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
193 call assert_equal("\n8", execute('py3 print(vim.eval("3+5"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
194 if has('float') |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
195 call assert_equal("\n3.140000", execute('py3 print(vim.eval("1.01+2.13"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
196 call assert_equal("\n0.000000", execute('py3 print(vim.eval("0.0/(1.0/0.0)"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
197 call assert_equal("\n0.000000", execute('py3 print(vim.eval("0.0/(1.0/0.0)"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
198 call assert_equal("\n-0.000000", execute('py3 print(vim.eval("0.0/(-1.0/0.0)"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
199 " Commented out: output of infinity and nan depend on platforms. |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
200 " call assert_equal("\ninf", execute('py3 print(vim.eval("1.0/0.0"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
201 " call assert_equal("\n-inf", execute('py3 print(vim.eval("-1.0/0.0"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
202 " call assert_equal("\n-nan", execute('py3 print(vim.eval("0.0/0.0"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
203 endif |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
204 call assert_equal("\nabc", execute('py3 print(vim.eval("\"abc\""))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
205 call assert_equal("\n['1', '2']", execute('py3 print(vim.eval("[1, 2]"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
206 call assert_equal("\n{'1': '2'}", execute('py3 print(vim.eval("{1:2}"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
207 call assert_equal("\nTrue", execute('py3 print(vim.eval("v:true"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
208 call assert_equal("\nFalse", execute('py3 print(vim.eval("v:false"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
209 call assert_equal("\nNone", execute('py3 print(vim.eval("v:null"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
210 call assert_equal("\nNone", execute('py3 print(vim.eval("v:none"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
211 call assert_equal("\nb'\\xab\\x12'", execute('py3 print(vim.eval("0zab12"))')) |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
212 |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
213 call assert_fails('py3 vim.eval("1+")', 'vim.error: invalid expression') |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
214 endfunc |
f22626353eb3
patch 8.2.0307: Python 3 vim.eval not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19201
diff
changeset
|
215 |
19141
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
216 " Test range objects, see :help python-range |
19201
e7b4fff348dd
patch 8.2.0159: non-materialized range() list causes problems
Bram Moolenaar <Bram@vim.org>
parents:
19141
diff
changeset
|
217 func Test_python3_range() |
19141
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
218 new |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
219 py3 b = vim.current.buffer |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
220 |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
221 call setline(1, range(1, 6)) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
222 py3 r = b.range(2, 4) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
223 call assert_equal(6, py3eval('len(b)')) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
224 call assert_equal(3, py3eval('len(r)')) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
225 call assert_equal('3', py3eval('b[2]')) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
226 call assert_equal('4', py3eval('r[2]')) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
227 |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
228 call assert_fails('py3 r[3] = "x"', 'IndexError: line number out of range') |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
229 call assert_fails('py3 x = r[3]', 'IndexError: line number out of range') |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
230 call assert_fails('py3 r["a"] = "x"', 'TypeError') |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
231 call assert_fails('py3 x = r["a"]', 'TypeError') |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
232 |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
233 py3 del r[:] |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
234 call assert_equal(['1', '5', '6'], getline(1, '$')) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
235 |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
236 %d | call setline(1, range(1, 6)) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
237 py3 r = b.range(2, 5) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
238 py3 del r[2] |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
239 call assert_equal(['1', '2', '3', '5', '6'], getline(1, '$')) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
240 |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
241 %d | call setline(1, range(1, 6)) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
242 py3 r = b.range(2, 4) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
243 py3 vim.command("%d,%dnorm Ax" % (r.start + 1, r.end + 1)) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
244 call assert_equal(['1', '2x', '3x', '4x', '5', '6'], getline(1, '$')) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
245 |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
246 %d | call setline(1, range(1, 4)) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
247 py3 r = b.range(2, 3) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
248 py3 r.append(['a', 'b']) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
249 call assert_equal(['1', '2', '3', 'a', 'b', '4'], getline(1, '$')) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
250 py3 r.append(['c', 'd'], 0) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
251 call assert_equal(['1', 'c', 'd', '2', '3', 'a', 'b', '4'], getline(1, '$')) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
252 |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
253 %d | call setline(1, range(1, 5)) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
254 py3 r = b.range(2, 4) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
255 py3 r.append('a') |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
256 call assert_equal(['1', '2', '3', '4', 'a', '5'], getline(1, '$')) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
257 py3 r.append('b', 1) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
258 call assert_equal(['1', '2', 'b', '3', '4', 'a', '5'], getline(1, '$')) |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
259 |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
260 bwipe! |
2c7d60b1bfa9
patch 8.2.0130: Python3 ranges are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19037
diff
changeset
|
261 endfunc |