Mercurial > vim
annotate src/testdir/test_python2.vim @ 33811:06219b3bdaf3 v9.0.2121
patch 9.0.2121: [security]: use-after-free in ex_substitute
Commit: https://github.com/vim/vim/commit/26c11c56888d01e298cd8044caf860f3c26f57bb
Author: Christian Brabandt <cb@256bit.org>
Date: Wed Nov 22 21:26:41 2023 +0100
patch 9.0.2121: [security]: use-after-free in ex_substitute
Problem: [security]: use-after-free in ex_substitute
Solution: always allocate memory
closes: #13552
A recursive :substitute command could cause a heap-use-after free in Vim
(CVE-2023-48706).
The whole reproducible test is a bit tricky, I can only reproduce this
reliably when no previous substitution command has been used yet
(which is the reason, the test needs to run as first one in the
test_substitute.vim file) and as a combination of the `:~` command
together with a :s command that contains the special substitution atom `~\=`
which will make use of a sub-replace special atom and calls a vim script
function.
There was a comment in the existing :s code, that already makes the
`sub` variable allocate memory so that a recursive :s call won't be able
to cause any issues here, so this was known as a potential problem
already. But for the current test-case that one does not work, because
the substitution does not start with `\=` but with `~\=` (and since
there does not yet exist a previous substitution atom, Vim will simply
increment the `sub` pointer (which then was not allocated dynamically)
and later one happily use a sub-replace special expression (which could
then free the `sub` var).
The following commit fixes this, by making the sub var always using
allocated memory, which also means we need to free the pointer whenever
we leave the function. Since sub is now always an allocated variable,
we also do no longer need the sub_copy variable anymore, since this one
was used to indicated when sub pointed to allocated memory (and had
therefore to be freed on exit) and when not.
Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-c8qm-x72m-q53q
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 22 Nov 2023 22:15:05 +0100 |
parents | 029c59bf78f1 |
children | daaff6843090 |
rev | line source |
---|---|
10751
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Test for python 2 commands. |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
17089
8e9e9124c7a2
patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
17049
diff
changeset
|
3 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
|
4 CheckFeature python |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
5 CheckFeature quickfix |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
6 source shared.vim |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
7 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
8 " NOTE: This will cause errors when run under valgrind. |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
9 " This would require recompiling Python with: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
10 " ./configure --without-pymalloc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
11 " See http://svn.python.org/view/python/trunk/Misc/README.valgrind?view=markup |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
12 " |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
13 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
14 " This function should be called first. This sets up python functions used by |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
15 " the other tests. |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
16 func Test_AAA_python_setup() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
17 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
18 import vim |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
19 import sys |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
20 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
21 def emsg(ei): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
22 return ei[0].__name__ + ':' + repr(ei[1].args) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
23 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
24 def ee(expr, g=globals(), l=locals()): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
25 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
26 exec(expr, g, l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
27 except: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
28 ei = sys.exc_info() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
29 msg = emsg(ei) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
30 msg = msg.replace('TypeError:(\'argument 1 ', 'TypeError:(\'') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
31 if expr.find('None') > -1: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
32 msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
33 'TypeError:("\'NoneType\' object is not iterable",)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
34 if expr.find('FailingNumber') > -1: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
35 msg = msg.replace(', not \'FailingNumber\'', '').replace('"', '\'') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
36 msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
37 'TypeError:("\'FailingNumber\' object is not iterable",)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
38 if msg.find('(\'\'') > -1 or msg.find('(\'can\'t') > -1: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
39 msg = msg.replace('(\'', '("').replace('\',)', '",)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
40 # Some Python versions say can't, others cannot. |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
41 if msg.find('can\'t') > -1: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
42 msg = msg.replace('can\'t', 'cannot') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
43 # Some Python versions use single quote, some double quote |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
44 if msg.find('"cannot ') > -1: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
45 msg = msg.replace('"cannot ', '\'cannot ') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
46 if msg.find(' attributes"') > -1: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
47 msg = msg.replace(' attributes"', ' attributes\'') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
48 if expr == 'fd(self=[])': |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
49 # HACK: PyMapping_Check changed meaning |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
50 msg = msg.replace('AttributeError:(\'keys\',)', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
51 'TypeError:(\'unable to convert list to vim dictionary\',)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
52 vim.current.buffer.append(expr + ':' + msg) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
53 else: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
54 vim.current.buffer.append(expr + ':NOT FAILED') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
55 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
56 endfunc |
10751
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
57 |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
58 func Test_pydo() |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
59 " Check deleting lines does not trigger an ml_get error. |
10751
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
60 new |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
61 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
|
62 pydo 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
|
63 bwipe! |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
64 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
65 " Check switching to another buffer does not trigger an ml_get error. |
10751
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
66 new |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
67 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
|
68 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
|
69 pydo 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
|
70 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
|
71 bwipe! |
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
72 bwipe! |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
73 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
74 " Try modifying a buffer with 'nomodifiable' set |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
75 set nomodifiable |
21265
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
21200
diff
changeset
|
76 call assert_fails('pydo toupper(line)', 'E21:') |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
77 set modifiable |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
78 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
79 " Invalid command |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
80 call AssertException(['pydo non_existing_cmd'], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
81 \ "Vim(pydo):NameError: global name 'non_existing_cmd' is not defined") |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
82 call AssertException(["pydo raise Exception('test')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
83 \ 'Vim(pydo):Exception: test') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
84 call AssertException(["pydo {lambda}"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
85 \ 'Vim(pydo):SyntaxError: invalid syntax') |
10751
27b42717662b
patch 8.0.0265: may get ml_get error when :pydo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
86 endfunc |
14395
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
87 |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
88 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
|
89 " 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
|
90 new |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
91 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
|
92 normal gg |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
93 pydo 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
|
94 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
|
95 |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
96 " 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
|
97 normal j |
c15bef307de6
patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents:
10751
diff
changeset
|
98 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
|
99 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
|
100 |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
101 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
|
102 " 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
|
103 |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
104 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
|
105 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
|
106 endfunc |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
107 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
|
108 |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
109 try |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
110 py 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
|
111 call assert_equal(name, pyeval('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
|
112 catch |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
113 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
|
114 endtry |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
115 |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
116 try |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
117 py f = vim.Function('\x80\xfdR' + vim.eval('s:foo()')) |
17976
6d11a0d5751d
patch 8.1.1984: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
118 call assert_equal(name, 'f.name'->pyeval()) |
15234
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
119 catch |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
120 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
|
121 endtry |
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
122 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
123 " Non-existing function attribute |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
124 call AssertException(["let x = pyeval('f.abc')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
125 \ 'Vim(let):AttributeError: abc') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
126 |
15234
ee63f4fe3d45
patch 8.1.0627: Python cannot handle function name of script-local function
Bram Moolenaar <Bram@vim.org>
parents:
14395
diff
changeset
|
127 py 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
|
128 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
|
129 endfunc |
15888
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
130 |
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
131 func Test_skipped_python_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
|
132 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
|
133 if 0 |
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
134 python import vim |
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
135 endif |
a83c4b1f8ea2
patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Bram Moolenaar <Bram@vim.org>
parents:
15234
diff
changeset
|
136 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
|
137 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
|
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 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
|
140 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
|
141 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
|
142 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
|
143 |
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 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
|
145 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
|
146 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
|
147 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
|
148 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
|
149 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
|
150 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
|
151 |
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 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
|
153 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
|
154 |
16138
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
155 func _CleanUpHiddenBuffer() |
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
156 bwipe! hidden |
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
157 bwipe! |
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
158 endfunc |
402b714cb919
patch 8.1.1074: Python test doesn't wipe out hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
16080
diff
changeset
|
159 |
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
|
160 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
|
161 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
|
162 py 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
|
163 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
|
164 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
|
165 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
|
166 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
167 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
|
168 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
|
169 py 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
|
170 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
|
171 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
|
172 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
|
173 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
174 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
|
175 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
|
176 py 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
|
177 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
|
178 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
|
179 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
|
180 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
181 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
|
182 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
|
183 py 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
|
184 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
|
185 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
|
186 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
|
187 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
188 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
|
189 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
|
190 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
|
191 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
|
192 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
|
193 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
|
194 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
|
195 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
|
196 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
|
197 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
|
198 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
199 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
|
200 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
|
201 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
202 py 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
|
203 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
|
204 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
205 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
|
206 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
|
207 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
208 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
|
209 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
|
210 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
211 py 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
|
212 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
|
213 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
214 bwipe! |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
215 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
|
216 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
217 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
|
218 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
|
219 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
220 py 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
|
221 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
|
222 |
bf8cf5c3b784
patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Bram Moolenaar <Bram@vim.org>
parents:
15888
diff
changeset
|
223 bwipe! |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
224 endfunc |
16688
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
225 |
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
226 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
|
227 try |
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
228 py 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
|
229 catch /.*/ |
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
230 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
|
231 endtry |
e791f29affae
patch 8.1.1346: error for Python exception does not show useful info
Bram Moolenaar <Bram@vim.org>
parents:
16138
diff
changeset
|
232 endfunc |
20045
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
233 |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
234 " Test for various heredoc syntax |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
235 func Test_python_heredoc() |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
236 python << END |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
237 s='A' |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
238 END |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
239 python << |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
240 s+='B' |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
241 . |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
242 python << trim END |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
243 s+='C' |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
244 END |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
245 python << trim |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
246 s+='D' |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
247 . |
20233
5f9c2c7d3d73
patch 8.2.0672: heredoc in scripts does not accept lower case marker
Bram Moolenaar <Bram@vim.org>
parents:
20045
diff
changeset
|
248 python << trim eof |
5f9c2c7d3d73
patch 8.2.0672: heredoc in scripts does not accept lower case marker
Bram Moolenaar <Bram@vim.org>
parents:
20045
diff
changeset
|
249 s+='E' |
5f9c2c7d3d73
patch 8.2.0672: heredoc in scripts does not accept lower case marker
Bram Moolenaar <Bram@vim.org>
parents:
20045
diff
changeset
|
250 eof |
5f9c2c7d3d73
patch 8.2.0672: heredoc in scripts does not accept lower case marker
Bram Moolenaar <Bram@vim.org>
parents:
20045
diff
changeset
|
251 call assert_equal('ABCDE', pyxeval('s')) |
20045
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
252 endfunc |
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
253 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
254 " Test for the buffer range object |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
255 func Test_python_range() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
256 new |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
257 call setline(1, ['one', 'two', 'three']) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
258 py b = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
259 py r = b.range(1, 3) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
260 call assert_equal(0, pyeval('r.start')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
261 call assert_equal(2, pyeval('r.end')) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
262 call assert_equal('one', pyeval('r[0]')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
263 call assert_equal('one', pyeval('r[-3]')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
264 call assert_equal('three', pyeval('r[-4]')) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
265 call assert_equal(['two', 'three'], pyeval('r[1:]')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
266 py r[0] = 'green' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
267 call assert_equal(['green', 'two', 'three'], getline(1, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
268 py r[0:2] = ['red', 'blue'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
269 call assert_equal(['red', 'blue', 'three'], getline(1, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
270 call assert_equal(['start', 'end', '__members__'], pyeval('r.__members__')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
271 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
272 " try different invalid start/end index for the range slice |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
273 %d |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
274 call setline(1, ['one', 'two', 'three']) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
275 py r[-10:1] = ["a"] |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
276 py r[10:12] = ["b"] |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
277 py r[-10:-9] = ["c"] |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
278 py r[1:0] = ["d"] |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
279 call assert_equal(['c', 'd', 'a', 'two', 'three', 'b'], getline(1, '$')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
280 |
21198
8531ddd7dd63
patch 8.2.1150: ml_get error when using Python
Bram Moolenaar <Bram@vim.org>
parents:
21190
diff
changeset
|
281 " The following code used to trigger an ml_get error |
8531ddd7dd63
patch 8.2.1150: ml_get error when using Python
Bram Moolenaar <Bram@vim.org>
parents:
21190
diff
changeset
|
282 %d |
8531ddd7dd63
patch 8.2.1150: ml_get error when using Python
Bram Moolenaar <Bram@vim.org>
parents:
21190
diff
changeset
|
283 let x = pyeval('r[:]') |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
284 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
285 " Non-existing range attribute |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
286 call AssertException(["let x = pyeval('r.abc')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
287 \ 'Vim(let):AttributeError: abc') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
288 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
289 close! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
290 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
291 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
292 " Test for the python tabpage object |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
293 func Test_python_tabpage() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
294 tabnew |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
295 py t = vim.tabpages[1] |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
296 py wl = t.windows |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
297 tabclose |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
298 " Accessing a closed tabpage |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
299 call AssertException(["let n = pyeval('t.number')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
300 \ 'Vim(let):vim.error: attempt to refer to deleted tab page') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
301 call AssertException(["let n = pyeval('len(wl)')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
302 \ 'Vim(let):vim.error: attempt to refer to deleted tab page') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
303 call AssertException(["py w = wl[0]"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
304 \ 'Vim(python):vim.error: attempt to refer to deleted tab page') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
305 call AssertException(["py vim.current.tabpage = t"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
306 \ 'Vim(python):vim.error: attempt to refer to deleted tab page') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
307 call assert_match('<tabpage object (deleted)', pyeval('repr(t)')) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
308 %bw! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
309 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
310 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
311 " Test for the python window object |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
312 func Test_python_window() |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
313 " Test for setting the window height |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
314 10new |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
315 py vim.current.window.height = 5 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
316 call assert_equal(5, winheight(0)) |
24685
04205b7d67d5
patch 8.2.2881: various pieces of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24667
diff
changeset
|
317 py vim.current.window.height = 3.2 |
04205b7d67d5
patch 8.2.2881: various pieces of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24667
diff
changeset
|
318 call assert_equal(3, winheight(0)) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
319 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
320 " Test for setting the window width |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
321 10vnew |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
322 py vim.current.window.width = 6 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
323 call assert_equal(6, winwidth(0)) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
324 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
325 " Try accessing a closed window |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
326 py w = vim.current.window |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
327 py wopts = w.options |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
328 close |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
329 " Access the attributes of a closed window |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
330 call AssertException(["let n = pyeval('w.number')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
331 \ 'Vim(let):vim.error: attempt to refer to deleted window') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
332 call AssertException(["py w.height = 5"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
333 \ 'Vim(python):vim.error: attempt to refer to deleted window') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
334 call AssertException(["py vim.current.window = w"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
335 \ 'Vim(python):vim.error: attempt to refer to deleted window') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
336 " Try to set one of the options of the closed window |
21198
8531ddd7dd63
patch 8.2.1150: ml_get error when using Python
Bram Moolenaar <Bram@vim.org>
parents:
21190
diff
changeset
|
337 " The following caused an ASAN failure |
8531ddd7dd63
patch 8.2.1150: ml_get error when using Python
Bram Moolenaar <Bram@vim.org>
parents:
21190
diff
changeset
|
338 call AssertException(["py wopts['list'] = False"], |
8531ddd7dd63
patch 8.2.1150: ml_get error when using Python
Bram Moolenaar <Bram@vim.org>
parents:
21190
diff
changeset
|
339 \ 'vim.error: attempt to refer to deleted window') |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
340 call assert_match('<window object (deleted)', pyeval("repr(w)")) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
341 %bw! |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
342 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
343 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
344 " Test for the python List object |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
345 func Test_python_list() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
346 let l = [1, 2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
347 py pl = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
348 call assert_equal(['locked', '__members__'], pyeval('pl.__members__')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
349 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
350 " Try to convert a null List |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
351 call AssertException(["py t = vim.eval('test_null_list()')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
352 \ 'Vim(python):SystemError: error return without exception set') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
353 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
354 " Try to convert a List with a null List item |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
355 call AssertException(["py t = vim.eval('[test_null_list()]')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
356 \ 'Vim(python):SystemError: error return without exception set') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
357 |
22806
690b84a6a7ce
patch 8.2.1951: test for list and dict fails
Bram Moolenaar <Bram@vim.org>
parents:
22011
diff
changeset
|
358 " Try to bind a null List variable (works because an empty list is used) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
359 let cmds =<< trim END |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
360 let l = test_null_list() |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
361 py ll = vim.bindeval('l') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
362 END |
22806
690b84a6a7ce
patch 8.2.1951: test for list and dict fails
Bram Moolenaar <Bram@vim.org>
parents:
22011
diff
changeset
|
363 call AssertException(cmds, '') |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
364 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
365 let l = [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
366 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
367 py f = vim.bindeval('function("strlen")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
368 " Extending List directly with different types |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
369 py l.extend([1, "as'd", [1, 2, f, {'a': 1}]]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
370 call assert_equal([1, "as'd", [1, 2, function("strlen"), {'a': 1}]], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
371 call assert_equal([1, 2, function("strlen"), {'a': 1}], l[-1]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
372 call assert_fails('echo l[-4]', 'E684:') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
373 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
374 " List assignment |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
375 py l[0] = 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
376 call assert_equal([0, "as'd", [1, 2, function("strlen"), {'a': 1}]], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
377 py l[-2] = f |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
378 call assert_equal([0, function("strlen"), [1, 2, function("strlen"), {'a': 1}]], l) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
379 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
380 " appending to a list |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
381 let l = [1, 2] |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
382 py ll = vim.bindeval('l') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
383 py ll[2] = 8 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
384 call assert_equal([1, 2, 8], l) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
385 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
386 " Using dict as an index |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
387 call AssertException(['py ll[{}] = 10'], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
388 \ 'Vim(python):TypeError: index must be int or slice, not dict') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
389 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
390 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
391 " Test for the python Dict object |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
392 func Test_python_dict() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
393 let d = {} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
394 py pd = vim.bindeval('d') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
395 call assert_equal(['locked', 'scope', '__members__'], |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
396 \ pyeval('pd.__members__')) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
397 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
398 " Try to convert a null Dict |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
399 call AssertException(["py t = vim.eval('test_null_dict()')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
400 \ 'Vim(python):SystemError: error return without exception set') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
401 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
402 " Try to convert a Dict with a null List value |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
403 call AssertException(["py t = vim.eval(\"{'a' : test_null_list()}\")"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
404 \ 'Vim(python):SystemError: error return without exception set') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
405 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
406 " Try to convert a Dict with a null string key |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
407 py t = vim.eval("{test_null_string() : 10}") |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
408 call assert_fails("let d = pyeval('t')", 'E859:') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
409 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
410 " Dict length |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
411 let d = {'a' : 10, 'b' : 20} |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
412 py d = vim.bindeval('d') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
413 call assert_equal(2, pyeval('len(d)')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
414 |
26211
485c7c4afeb7
patch 8.2.3637: typos in test files
Bram Moolenaar <Bram@vim.org>
parents:
24685
diff
changeset
|
415 " Deleting a non-existing key |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
416 call AssertException(["py del d['c']"], "Vim(python):KeyError: 'c'") |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
417 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
418 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
419 " Extending Dictionary directly with different types |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
420 func Test_python_dict_extend() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
421 let d = {} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
422 func d.f() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
423 return 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
424 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
425 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
426 py f = vim.bindeval('function("strlen")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
427 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
428 d = vim.bindeval('d') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
429 d['1'] = 'asd' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
430 d.update() # Must not do anything, including throwing errors |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
431 d.update(b = [1, 2, f]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
432 d.update((('-1', {'a': 1}),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
433 d.update({'0': -1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
434 dk = d.keys() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
435 dv = d.values() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
436 di = d.items() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
437 cmpfun = lambda a, b: cmp(repr(a), repr(b)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
438 dk.sort(cmpfun) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
439 dv.sort(cmpfun) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
440 di.sort(cmpfun) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
441 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
442 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
443 " Try extending a locked dictionary |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
444 lockvar d |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
445 call AssertException(["py d.update({'b' : 20})"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
446 \ 'Vim(python):vim.error: dictionary is locked') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
447 unlockvar d |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
448 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
449 call assert_equal(1, pyeval("d['f'](self={})")) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
450 call assert_equal("['-1', '0', '1', 'b', 'f']", pyeval('repr(dk)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
451 call assert_equal("['asd', -1L, <vim.Function '1'>, <vim.dictionary object at >, <vim.list object at >]", substitute(pyeval('repr(dv)'),'0x\x\+','','g')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
452 call assert_equal("[('-1', <vim.dictionary object at >), ('0', -1L), ('1', 'asd'), ('b', <vim.list object at >), ('f', <vim.Function '1'>)]", substitute(pyeval('repr(di)'),'0x\x\+','','g')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
453 call assert_equal(['0', '1', 'b', 'f', '-1'], keys(d)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
454 call assert_equal("[-1, 'asd', [1, 2, function('strlen')], function('1'), {'a': 1}]", string(values(d))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
455 py del dk |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
456 py del di |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
457 py del dv |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
458 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
459 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
460 func Test_python_list_del_items() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
461 " removing items with del |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
462 let l = [0, function("strlen"), [1, 2, function("strlen"), {'a': 1}]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
463 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
464 py del l[2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
465 call assert_equal("[0, function('strlen')]", string(l)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
466 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
467 let l = range(8) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
468 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
469 py del l[:3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
470 py del l[1:] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
471 call assert_equal([3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
472 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
473 " removing items out of range: silently skip items that don't exist |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
474 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
475 " The following two ranges delete nothing as they match empty list: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
476 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
477 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
478 py del l[2:1] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
479 call assert_equal([0, 1, 2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
480 py del l[2:2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
481 call assert_equal([0, 1, 2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
482 py del l[2:3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
483 call assert_equal([0, 1, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
484 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
485 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
486 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
487 py del l[2:4] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
488 call assert_equal([0, 1], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
489 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
490 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
491 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
492 py del l[2:5] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
493 call assert_equal([0, 1], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
494 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
495 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
496 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
497 py del l[2:6] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
498 call assert_equal([0, 1], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
499 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
500 " The following two ranges delete nothing as they match empty list: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
501 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
502 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
503 py del l[-1:2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
504 call assert_equal([0, 1, 2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
505 py del l[-2:2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
506 call assert_equal([0, 1, 2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
507 py del l[-3:2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
508 call assert_equal([0, 2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
509 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
510 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
511 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
512 py del l[-4:2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
513 call assert_equal([2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
514 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
515 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
516 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
517 py del l[-5:2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
518 call assert_equal([2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
519 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
520 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
521 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
522 py del l[-6:2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
523 call assert_equal([2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
524 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
525 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
526 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
527 py del l[::2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
528 call assert_equal([1, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
529 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
530 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
531 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
532 py del l[3:0:-2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
533 call assert_equal([0, 2], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
534 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
535 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
536 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
537 py del l[2:4:-2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
538 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
539 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
540 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
541 func Test_python_dict_del_items() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
542 let d = eval("{'0' : -1, '1' : 'asd', 'b' : [1, 2, function('strlen')], 'f' : function('min'), '-1' : {'a': 1}}") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
543 py d = vim.bindeval('d') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
544 py del d['-1'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
545 py del d['f'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
546 call assert_equal([1, 2, function('strlen')], pyeval('d.get(''b'', 1)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
547 call assert_equal([1, 2, function('strlen')], pyeval('d.pop(''b'')')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
548 call assert_equal(1, pyeval('d.get(''b'', 1)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
549 call assert_equal('asd', pyeval('d.pop(''1'', 2)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
550 call assert_equal(2, pyeval('d.pop(''1'', 2)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
551 call assert_equal('True', pyeval('repr(d.has_key(''0''))')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
552 call assert_equal('False', pyeval('repr(d.has_key(''1''))')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
553 call assert_equal('True', pyeval('repr(''0'' in d)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
554 call assert_equal('False', pyeval('repr(''1'' in d)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
555 call assert_equal("['0']", pyeval('repr(list(iter(d)))')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
556 call assert_equal({'0' : -1}, d) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
557 call assert_equal("('0', -1L)", pyeval('repr(d.popitem())')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
558 call assert_equal('None', pyeval('repr(d.get(''0''))')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
559 call assert_equal('[]', pyeval('repr(list(iter(d)))')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
560 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
561 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
562 " Slice assignment to a list |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
563 func Test_python_slice_assignment() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
564 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
565 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
566 py l[0:0] = ['a'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
567 call assert_equal(['a', 0, 1, 2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
568 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
569 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
570 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
571 py l[1:2] = ['b'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
572 call assert_equal([0, 'b', 2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
573 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
574 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
575 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
576 py l[2:4] = ['c'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
577 call assert_equal([0, 1, 'c'], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
578 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
579 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
580 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
581 py l[4:4] = ['d'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
582 call assert_equal([0, 1, 2, 3, 'd'], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
583 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
584 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
585 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
586 py l[-1:2] = ['e'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
587 call assert_equal([0, 1, 2, 'e', 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
588 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
589 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
590 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
591 py l[-10:2] = ['f'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
592 call assert_equal(['f', 2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
593 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
594 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
595 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
596 py l[2:-10] = ['g'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
597 call assert_equal([0, 1, 'g', 2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
598 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
599 let l = [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
600 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
601 py l[0:0] = ['h'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
602 call assert_equal(['h'], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
603 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
604 let l = range(8) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
605 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
606 py l[2:6:2] = [10, 20] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
607 call assert_equal([0, 1, 10, 3, 20, 5, 6, 7], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
608 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
609 let l = range(8) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
610 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
611 py l[6:2:-2] = [10, 20] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
612 call assert_equal([0, 1, 2, 3, 20, 5, 10, 7], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
613 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
614 let l = range(8) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
615 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
616 py l[6:2] = () |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
617 call assert_equal([0, 1, 2, 3, 4, 5, 6, 7], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
618 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
619 let l = range(8) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
620 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
621 py l[6:2:1] = () |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
622 call assert_equal([0, 1, 2, 3, 4, 5, 6, 7], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
623 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
624 let l = range(8) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
625 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
626 py l[2:2:1] = () |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
627 call assert_equal([0, 1, 2, 3, 4, 5, 6, 7], l) |
21200
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
628 |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
629 call AssertException(["py x = l[10:11:0]"], |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
630 \ "Vim(python):ValueError: slice step cannot be zero") |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
631 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
632 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
633 " Locked variables |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
634 func Test_python_lockedvar() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
635 new |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
636 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
637 let l = [0, 1, 2, 3] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
638 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
639 lockvar! l |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
640 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
641 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
642 l[2]='i' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
643 except vim.error: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
644 cb.append('l[2] threw vim.error: ' + emsg(sys.exc_info())) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
645 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
646 call assert_equal(['', "l[2] threw vim.error: error:('list is locked',)"], |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
647 \ getline(1, '$')) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
648 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
649 " Try to concatenate a locked list |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
650 call AssertException(['py l += [4, 5]'], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
651 \ 'Vim(python):vim.error: list is locked') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
652 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
653 call assert_equal([0, 1, 2, 3], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
654 unlockvar! l |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
655 close! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
656 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
657 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
658 " Test for calling a function |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
659 func Test_python_function_call() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
660 func New(...) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
661 return ['NewStart'] + a:000 + ['NewEnd'] |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
662 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
663 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
664 func DictNew(...) dict |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
665 return ['DictNewStart'] + a:000 + ['DictNewEnd', self] |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
666 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
667 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
668 new |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
669 let l = [function('New'), function('DictNew')] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
670 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
671 py l.extend(list(l[0](1, 2, 3))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
672 call assert_equal([function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
673 py l.extend(list(l[1](1, 2, 3, self={'a': 'b'}))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
674 call assert_equal([function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
675 py l.extend([l[0].name]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
676 call assert_equal([function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New'], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
677 py ee('l[1](1, 2, 3)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
678 call assert_equal("l[1](1, 2, 3):error:('Vim:E725: Calling dict function without Dictionary: DictNew',)", getline(2)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
679 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
680 py f = l[0] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
681 delfunction New |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
682 py ee('f(1, 2, 3)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
683 call assert_equal("f(1, 2, 3):error:('Vim:E117: Unknown function: New',)", getline(2)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
684 close! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
685 delfunction DictNew |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
686 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
687 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
688 func Test_python_float() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
689 let l = [0.0] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
690 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
691 py l.extend([0.0]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
692 call assert_equal([0.0, 0.0], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
693 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
694 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
695 " Test for Dict key errors |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
696 func Test_python_dict_key_error() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
697 let messages = [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
698 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
699 d = vim.bindeval('{}') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
700 m = vim.bindeval('messages') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
701 def em(expr, g=globals(), l=locals()): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
702 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
703 exec(expr, g, l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
704 except: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
705 m.extend([sys.exc_type.__name__]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
706 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
707 em('d["abc1"]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
708 em('d["abc1"]="\\0"') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
709 em('d["abc1"]=vim') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
710 em('d[""]=1') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
711 em('d["a\\0b"]=1') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
712 em('d[u"a\\0b"]=1') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
713 em('d.pop("abc1")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
714 em('d.popitem()') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
715 del em |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
716 del m |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
717 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
718 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
719 call assert_equal(['KeyError', 'TypeError', 'TypeError', 'ValueError', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
720 \ 'TypeError', 'TypeError', 'KeyError', 'KeyError'], messages) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
721 unlet messages |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
722 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
723 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
724 " Test for locked and scope attributes |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
725 func Test_python_lock_scope_attr() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
726 let d = {} | let dl = {} | lockvar dl |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
727 let res = [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
728 for s in split("d dl v: g:") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
729 let name = tr(s, ':', 's') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
730 execute 'py ' .. name .. ' = vim.bindeval("' .. s .. '")' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
731 call add(res, s .. ' : ' .. join(map(['locked', 'scope'], |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
732 \ 'v:val .. ":" .. pyeval(name .. "." .. v:val)'), ';')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
733 endfor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
734 call assert_equal(['d : locked:0;scope:0', 'dl : locked:1;scope:0', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
735 \ 'v: : locked:2;scope:1', 'g: : locked:0;scope:2'], res) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
736 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
737 silent! let d.abc2 = 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
738 silent! let dl.abc3 = 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
739 py d.locked = True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
740 py dl.locked = False |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
741 silent! let d.def = 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
742 silent! let dl.def = 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
743 call assert_equal({'abc2': 1}, d) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
744 call assert_equal({'def': 1}, dl) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
745 unlet d dl |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
746 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
747 let l = [] | let ll = [] | lockvar ll |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
748 let res = [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
749 for s in split("l ll") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
750 let name = tr(s, ':', 's') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
751 execute 'py ' .. name .. '=vim.bindeval("' .. s .. '")' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
752 call add(res, s .. ' : locked:' .. pyeval(name .. '.locked')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
753 endfor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
754 call assert_equal(['l : locked:0', 'll : locked:1'], res) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
755 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
756 silent! call extend(l, [0]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
757 silent! call extend(ll, [0]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
758 py l.locked = True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
759 py ll.locked = False |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
760 silent! call extend(l, [1]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
761 silent! call extend(ll, [1]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
762 call assert_equal([0], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
763 call assert_equal([1], ll) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
764 unlet l ll |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
765 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
766 " Try changing an attribute of a fixed list |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
767 py a = vim.bindeval('v:argv') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
768 call AssertException(['py a.locked = 0'], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
769 \ 'Vim(python):TypeError: cannot modify fixed list') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
770 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
771 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
772 " Test for pyeval() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
773 func Test_python_pyeval() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
774 let l = pyeval('range(3)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
775 call assert_equal([0, 1, 2], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
776 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
777 let d = pyeval('{"a": "b", "c": 1, "d": ["e"]}') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
778 call assert_equal([['a', 'b'], ['c', 1], ['d', ['e']]], sort(items(d))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
779 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
780 let v:errmsg = '' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
781 call assert_equal(v:none, pyeval('None')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
782 call assert_equal('', v:errmsg) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
783 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
784 py v = vim.eval('test_null_function()') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
785 call assert_equal(v:none, pyeval('v')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
786 |
30310
029c59bf78f1
patch 9.0.0491: no good reason to build without the float feature
Bram Moolenaar <Bram@vim.org>
parents:
30051
diff
changeset
|
787 call assert_equal(0.0, pyeval('0.0')) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
788 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
789 " Evaluate an invalid values |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
790 call AssertException(['let v = pyeval(''"\0"'')'], 'E859:') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
791 call AssertException(['let v = pyeval(''{"\0" : 1}'')'], 'E859:') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
792 call AssertException(['let v = pyeval("undefined_name")'], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
793 \ "Vim(let):NameError: name 'undefined_name' is not defined") |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
794 call AssertException(['let v = pyeval("vim")'], 'E859:') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
795 endfunc |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
796 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
797 " Test for vim.bindeval() |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
798 func Test_python_vim_bindeval() |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
799 " Float |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
800 let f = 3.14 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
801 py f = vim.bindeval('f') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
802 call assert_equal(3.14, pyeval('f')) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
803 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
804 " Blob |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
805 let b = 0z12 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
806 py b = vim.bindeval('b') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
807 call assert_equal("\x12", pyeval('b')) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
808 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
809 " Bool |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
810 call assert_equal(1, pyeval("vim.bindeval('v:true')")) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
811 call assert_equal(0, pyeval("vim.bindeval('v:false')")) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
812 call assert_equal(v:none, pyeval("vim.bindeval('v:null')")) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
813 call assert_equal(v:none, pyeval("vim.bindeval('v:none')")) |
21200
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
814 |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
815 " channel/job |
24667
8feb0450b690
patch 8.2.2872: Python tests fail without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
23264
diff
changeset
|
816 if has('channel') |
8feb0450b690
patch 8.2.2872: Python tests fail without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
23264
diff
changeset
|
817 call assert_equal(v:none, pyeval("vim.bindeval('test_null_channel()')")) |
8feb0450b690
patch 8.2.2872: Python tests fail without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
23264
diff
changeset
|
818 endif |
8feb0450b690
patch 8.2.2872: Python tests fail without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
23264
diff
changeset
|
819 if has('job') |
8feb0450b690
patch 8.2.2872: Python tests fail without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
23264
diff
changeset
|
820 call assert_equal(v:none, pyeval("vim.bindeval('test_null_job()')")) |
8feb0450b690
patch 8.2.2872: Python tests fail without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
23264
diff
changeset
|
821 endif |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
822 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
823 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
824 " threading |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
825 " Running pydo command (Test_pydo) before this test, stops the python thread |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
826 " from running. So this test should be run before the pydo test |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
827 func Test_aaa_python_threading() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
828 let l = [0] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
829 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
830 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
831 import threading |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
832 import time |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
833 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
834 class T(threading.Thread): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
835 def __init__(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
836 threading.Thread.__init__(self) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
837 self.t = 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
838 self.running = True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
839 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
840 def run(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
841 while self.running: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
842 self.t += 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
843 time.sleep(0.1) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
844 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
845 t = T() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
846 del T |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
847 t.start() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
848 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
849 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
850 sleep 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
851 py t.running = False |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
852 py t.join() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
853 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
854 " Check if the background thread is working. Count should be 10, but on a |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
855 " busy system (AppVeyor) it can be much lower. |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
856 py l[0] = t.t > 4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
857 py del time |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
858 py del threading |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
859 py del t |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
860 call assert_equal([1], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
861 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
862 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
863 " settrace |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
864 func Test_python_settrace() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
865 let l = [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
866 py l = vim.bindeval('l') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
867 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
868 import sys |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
869 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
870 def traceit(frame, event, arg): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
871 global l |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
872 if event == "line": |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
873 l.extend([frame.f_lineno]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
874 return traceit |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
875 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
876 def trace_main(): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
877 for i in range(5): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
878 pass |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
879 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
880 py sys.settrace(traceit) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
881 py trace_main() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
882 py sys.settrace(None) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
883 py del traceit |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
884 py del trace_main |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
885 call assert_equal([1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1], l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
886 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
887 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
888 " Slice |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
889 func Test_python_list_slice() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
890 py ll = vim.bindeval('[0, 1, 2, 3, 4, 5]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
891 py l = ll[:4] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
892 call assert_equal([0, 1, 2, 3], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
893 py l = ll[2:] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
894 call assert_equal([2, 3, 4, 5], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
895 py l = ll[:-4] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
896 call assert_equal([0, 1], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
897 py l = ll[-2:] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
898 call assert_equal([4, 5], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
899 py l = ll[2:4] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
900 call assert_equal([2, 3], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
901 py l = ll[4:2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
902 call assert_equal([], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
903 py l = ll[-4:-2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
904 call assert_equal([2, 3], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
905 py l = ll[-2:-4] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
906 call assert_equal([], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
907 py l = ll[:] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
908 call assert_equal([0, 1, 2, 3, 4, 5], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
909 py l = ll[0:6] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
910 call assert_equal([0, 1, 2, 3, 4, 5], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
911 py l = ll[-10:10] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
912 call assert_equal([0, 1, 2, 3, 4, 5], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
913 py l = ll[4:2:-1] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
914 call assert_equal([4, 3], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
915 py l = ll[::2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
916 call assert_equal([0, 2, 4], pyeval('l')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
917 py l = ll[4:2:1] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
918 call assert_equal([], pyeval('l')) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
919 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
920 " Error case: Use an invalid index |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
921 call AssertException(['py ll[-10] = 5'], 'Vim(python):vim.error: internal error:') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
922 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
923 " Use a step value of 0 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
924 call AssertException(['py ll[0:3:0] = [1, 2, 3]'], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
925 \ 'Vim(python):ValueError: slice step cannot be zero') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
926 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
927 " Error case: Invalid slice type |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
928 call AssertException(["py x = ll['abc']"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
929 \ 'Vim(python):TypeError: index must be int or slice, not str') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
930 py del l |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
931 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
932 " Error case: List with a null list item |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
933 let l = [test_null_list()] |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
934 py ll = vim.bindeval('l') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
935 call AssertException(["py x = ll[:]"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
936 \ 'Vim(python):SystemError: error return without exception set') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
937 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
938 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
939 " Vars |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
940 func Test_python_vars() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
941 let g:foo = 'bac' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
942 let w:abc3 = 'def' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
943 let b:baz = 'bar' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
944 let t:bar = 'jkl' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
945 try |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
946 throw "Abc" |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
947 catch /Abc/ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
948 call assert_equal('Abc', pyeval('vim.vvars[''exception'']')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
949 endtry |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
950 call assert_equal('bac', pyeval('vim.vars[''foo'']')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
951 call assert_equal('def', pyeval('vim.current.window.vars[''abc3'']')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
952 call assert_equal('bar', pyeval('vim.current.buffer.vars[''baz'']')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
953 call assert_equal('jkl', pyeval('vim.current.tabpage.vars[''bar'']')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
954 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
955 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
956 " Options |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
957 " paste: boolean, global |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
958 " previewheight number, global |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
959 " operatorfunc: string, global |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
960 " number: boolean, window-local |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
961 " numberwidth: number, window-local |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
962 " colorcolumn: string, window-local |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
963 " statusline: string, window-local/global |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
964 " autoindent: boolean, buffer-local |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
965 " shiftwidth: number, buffer-local |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
966 " omnifunc: string, buffer-local |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
967 " preserveindent: boolean, buffer-local/global |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
968 " path: string, buffer-local/global |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
969 func Test_python_opts() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
970 let g:res = [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
971 let g:bufs = [bufnr('%')] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
972 new |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
973 let g:bufs += [bufnr('%')] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
974 vnew |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
975 let g:bufs += [bufnr('%')] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
976 wincmd j |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
977 vnew |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
978 let g:bufs += [bufnr('%')] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
979 wincmd l |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
980 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
981 func RecVars(opt) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
982 let gval = string(eval('&g:' .. a:opt)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
983 let wvals = join(map(range(1, 4), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
984 \ 'v:val .. ":" .. string(getwinvar(v:val, "&" .. a:opt))')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
985 let bvals = join(map(copy(g:bufs), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
986 \ 'v:val .. ":" .. string(getbufvar(v:val, "&" .. a:opt))')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
987 call add(g:res, ' G: ' .. gval) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
988 call add(g:res, ' W: ' .. wvals) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
989 call add(g:res, ' B: ' .. wvals) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
990 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
991 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
992 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
993 def e(s, g=globals(), l=locals()): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
994 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
995 exec(s, g, l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
996 except: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
997 vim.command('return ' + repr(sys.exc_type.__name__)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
998 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
999 def ev(s, g=globals(), l=locals()): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1000 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1001 return eval(s, g, l) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1002 except: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1003 vim.command('let exc=' + repr(sys.exc_type.__name__)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1004 return 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1005 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1006 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1007 func E(s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1008 python e(vim.eval('a:s')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1009 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1010 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1011 func Ev(s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1012 let r = pyeval('ev(vim.eval("a:s"))') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1013 if exists('exc') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1014 throw exc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1015 endif |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1016 return r |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1017 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1018 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1019 py gopts1 = vim.options |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1020 py wopts1 = vim.windows[2].options |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1021 py wopts2 = vim.windows[0].options |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1022 py wopts3 = vim.windows[1].options |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1023 py bopts1 = vim.buffers[vim.bindeval("g:bufs")[2]].options |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1024 py bopts2 = vim.buffers[vim.bindeval("g:bufs")[1]].options |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1025 py bopts3 = vim.buffers[vim.bindeval("g:bufs")[0]].options |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1026 call add(g:res, 'wopts iters equal: ' .. |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1027 \ pyeval('list(wopts1) == list(wopts2)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1028 call add(g:res, 'bopts iters equal: ' .. |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1029 \ pyeval('list(bopts1) == list(bopts2)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1030 py gset = set(iter(gopts1)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1031 py wset = set(iter(wopts1)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1032 py bset = set(iter(bopts1)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1033 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1034 set path=.,..,, |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1035 let lst = [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1036 let lst += [['paste', 1, 0, 1, 2, 1, 1, 0]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1037 let lst += [['previewheight', 5, 1, 6, 'a', 0, 1, 0]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1038 let lst += [['operatorfunc', 'A', 'B', 'C', 2, 0, 1, 0]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1039 let lst += [['number', 0, 1, 1, 0, 1, 0, 1]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1040 let lst += [['numberwidth', 2, 3, 5, -100, 0, 0, 1]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1041 let lst += [['colorcolumn', '+1', '+2', '+3', 'abc4', 0, 0, 1]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1042 let lst += [['statusline', '1', '2', '4', 0, 0, 1, 1]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1043 let lst += [['autoindent', 0, 1, 1, 2, 1, 0, 2]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1044 let lst += [['shiftwidth', 0, 2, 1, 3, 0, 0, 2]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1045 let lst += [['omnifunc', 'A', 'B', 'C', 1, 0, 0, 2]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1046 let lst += [['preserveindent', 0, 1, 1, 2, 1, 1, 2]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1047 let lst += [['path', '.,,', ',,', '.', 0, 0, 1, 2]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1048 for [oname, oval1, oval2, oval3, invval, bool, global, local] in lst |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1049 py oname = vim.eval('oname') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1050 py oval1 = vim.bindeval('oval1') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1051 py oval2 = vim.bindeval('oval2') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1052 py oval3 = vim.bindeval('oval3') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1053 if invval is 0 || invval is 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1054 py invval = bool(vim.bindeval('invval')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1055 else |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1056 py invval = vim.bindeval('invval') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1057 endif |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1058 if bool |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1059 py oval1 = bool(oval1) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1060 py oval2 = bool(oval2) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1061 py oval3 = bool(oval3) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1062 endif |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1063 call add(g:res, '>>> ' .. oname) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1064 call add(g:res, ' g/w/b:' .. pyeval('oname in gset') .. '/' .. |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1065 \ pyeval('oname in wset') .. '/' .. pyeval('oname in bset')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1066 call add(g:res, ' g/w/b (in):' .. pyeval('oname in gopts1') .. '/' .. |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1067 \ pyeval('oname in wopts1') .. '/' .. pyeval('oname in bopts1')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1068 for v in ['gopts1', 'wopts1', 'bopts1'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1069 try |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1070 call add(g:res, ' p/' .. v .. ': ' .. Ev('repr(' .. v .. '[''' .. oname .. '''])')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1071 catch |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1072 call add(g:res, ' p/' .. v .. '! ' .. v:exception) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1073 endtry |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1074 let r = E(v .. '[''' .. oname .. ''']=invval') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1075 if r isnot 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1076 call add(g:res, ' inv: ' .. string(invval) .. '! ' .. r) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1077 endif |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1078 for vv in (v is# 'gopts1' ? [v] : [v, v[:-2] .. '2', v[:-2] .. '3']) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1079 let val = substitute(vv, '^.opts', 'oval', '') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1080 let r = E(vv .. '[''' .. oname .. ''']=' .. val) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1081 if r isnot 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1082 call add(g:res, ' ' .. vv .. '! ' .. r) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1083 endif |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1084 endfor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1085 endfor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1086 call RecVars(oname) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1087 for v in ['wopts3', 'bopts3'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1088 let r = E('del ' .. v .. '["' .. oname .. '"]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1089 if r isnot 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1090 call add(g:res, ' del ' .. v .. '! ' .. r) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1091 endif |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1092 endfor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1093 call RecVars(oname) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1094 endfor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1095 delfunction RecVars |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1096 delfunction E |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1097 delfunction Ev |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1098 py del ev |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1099 py del e |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1100 only |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1101 for buf in g:bufs[1:] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1102 execute 'bwipeout!' buf |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1103 endfor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1104 py del gopts1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1105 py del wopts1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1106 py del wopts2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1107 py del wopts3 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1108 py del bopts1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1109 py del bopts2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1110 py del bopts3 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1111 py del oval1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1112 py del oval2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1113 py del oval3 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1114 py del oname |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1115 py del invval |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1116 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1117 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1118 wopts iters equal: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1119 bopts iters equal: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1120 >>> paste |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1121 g/w/b:1/0/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1122 g/w/b (in):1/0/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1123 p/gopts1: False |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1124 p/wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1125 inv: 2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1126 wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1127 wopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1128 wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1129 p/bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1130 inv: 2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1131 bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1132 bopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1133 bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1134 G: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1135 W: 1:1 2:1 3:1 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1136 B: 1:1 2:1 3:1 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1137 del wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1138 del bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1139 G: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1140 W: 1:1 2:1 3:1 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1141 B: 1:1 2:1 3:1 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1142 >>> previewheight |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1143 g/w/b:1/0/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1144 g/w/b (in):1/0/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1145 p/gopts1: 12 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1146 inv: 'a'! TypeError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1147 p/wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1148 inv: 'a'! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1149 wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1150 wopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1151 wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1152 p/bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1153 inv: 'a'! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1154 bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1155 bopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1156 bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1157 G: 5 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1158 W: 1:5 2:5 3:5 4:5 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1159 B: 1:5 2:5 3:5 4:5 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1160 del wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1161 del bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1162 G: 5 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1163 W: 1:5 2:5 3:5 4:5 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1164 B: 1:5 2:5 3:5 4:5 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1165 >>> operatorfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1166 g/w/b:1/0/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1167 g/w/b (in):1/0/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1168 p/gopts1: '' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1169 inv: 2! TypeError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1170 p/wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1171 inv: 2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1172 wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1173 wopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1174 wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1175 p/bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1176 inv: 2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1177 bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1178 bopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1179 bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1180 G: 'A' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1181 W: 1:'A' 2:'A' 3:'A' 4:'A' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1182 B: 1:'A' 2:'A' 3:'A' 4:'A' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1183 del wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1184 del bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1185 G: 'A' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1186 W: 1:'A' 2:'A' 3:'A' 4:'A' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1187 B: 1:'A' 2:'A' 3:'A' 4:'A' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1188 >>> number |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1189 g/w/b:0/1/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1190 g/w/b (in):0/1/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1191 p/gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1192 inv: 0! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1193 gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1194 p/wopts1: False |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1195 p/bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1196 inv: 0! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1197 bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1198 bopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1199 bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1200 G: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1201 W: 1:1 2:1 3:0 4:0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1202 B: 1:1 2:1 3:0 4:0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1203 del wopts3! ValueError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1204 del bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1205 G: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1206 W: 1:1 2:1 3:0 4:0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1207 B: 1:1 2:1 3:0 4:0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1208 >>> numberwidth |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1209 g/w/b:0/1/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1210 g/w/b (in):0/1/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1211 p/gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1212 inv: -100! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1213 gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1214 p/wopts1: 4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1215 inv: -100! error |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1216 p/bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1217 inv: -100! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1218 bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1219 bopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1220 bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1221 G: 4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1222 W: 1:3 2:5 3:2 4:4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1223 B: 1:3 2:5 3:2 4:4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1224 del wopts3! ValueError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1225 del bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1226 G: 4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1227 W: 1:3 2:5 3:2 4:4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1228 B: 1:3 2:5 3:2 4:4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1229 >>> colorcolumn |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1230 g/w/b:0/1/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1231 g/w/b (in):0/1/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1232 p/gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1233 inv: 'abc4'! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1234 gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1235 p/wopts1: '' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1236 inv: 'abc4'! error |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1237 p/bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1238 inv: 'abc4'! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1239 bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1240 bopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1241 bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1242 G: '' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1243 W: 1:'+2' 2:'+3' 3:'+1' 4:'' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1244 B: 1:'+2' 2:'+3' 3:'+1' 4:'' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1245 del wopts3! ValueError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1246 del bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1247 G: '' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1248 W: 1:'+2' 2:'+3' 3:'+1' 4:'' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1249 B: 1:'+2' 2:'+3' 3:'+1' 4:'' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1250 >>> statusline |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1251 g/w/b:1/1/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1252 g/w/b (in):1/1/0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1253 p/gopts1: '' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1254 inv: 0! TypeError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1255 p/wopts1: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1256 inv: 0! TypeError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1257 p/bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1258 inv: 0! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1259 bopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1260 bopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1261 bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1262 G: '1' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1263 W: 1:'2' 2:'4' 3:'1' 4:'1' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1264 B: 1:'2' 2:'4' 3:'1' 4:'1' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1265 del bopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1266 G: '1' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1267 W: 1:'2' 2:'1' 3:'1' 4:'1' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1268 B: 1:'2' 2:'1' 3:'1' 4:'1' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1269 >>> autoindent |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1270 g/w/b:0/0/1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1271 g/w/b (in):0/0/1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1272 p/gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1273 inv: 2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1274 gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1275 p/wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1276 inv: 2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1277 wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1278 wopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1279 wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1280 p/bopts1: False |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1281 G: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1282 W: 1:0 2:1 3:0 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1283 B: 1:0 2:1 3:0 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1284 del wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1285 del bopts3! ValueError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1286 G: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1287 W: 1:0 2:1 3:0 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1288 B: 1:0 2:1 3:0 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1289 >>> shiftwidth |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1290 g/w/b:0/0/1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1291 g/w/b (in):0/0/1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1292 p/gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1293 inv: 3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1294 gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1295 p/wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1296 inv: 3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1297 wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1298 wopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1299 wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1300 p/bopts1: 8 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1301 G: 8 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1302 W: 1:0 2:2 3:8 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1303 B: 1:0 2:2 3:8 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1304 del wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1305 del bopts3! ValueError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1306 G: 8 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1307 W: 1:0 2:2 3:8 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1308 B: 1:0 2:2 3:8 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1309 >>> omnifunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1310 g/w/b:0/0/1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1311 g/w/b (in):0/0/1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1312 p/gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1313 inv: 1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1314 gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1315 p/wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1316 inv: 1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1317 wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1318 wopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1319 wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1320 p/bopts1: '' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1321 inv: 1! TypeError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1322 G: '' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1323 W: 1:'A' 2:'B' 3:'' 4:'C' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1324 B: 1:'A' 2:'B' 3:'' 4:'C' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1325 del wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1326 del bopts3! ValueError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1327 G: '' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1328 W: 1:'A' 2:'B' 3:'' 4:'C' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1329 B: 1:'A' 2:'B' 3:'' 4:'C' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1330 >>> preserveindent |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1331 g/w/b:0/0/1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1332 g/w/b (in):0/0/1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1333 p/gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1334 inv: 2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1335 gopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1336 p/wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1337 inv: 2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1338 wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1339 wopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1340 wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1341 p/bopts1: False |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1342 G: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1343 W: 1:0 2:1 3:0 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1344 B: 1:0 2:1 3:0 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1345 del wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1346 del bopts3! ValueError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1347 G: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1348 W: 1:0 2:1 3:0 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1349 B: 1:0 2:1 3:0 4:1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1350 >>> path |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1351 g/w/b:1/0/1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1352 g/w/b (in):1/0/1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1353 p/gopts1: '.,..,,' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1354 inv: 0! TypeError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1355 p/wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1356 inv: 0! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1357 wopts1! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1358 wopts2! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1359 wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1360 p/bopts1: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1361 inv: 0! TypeError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1362 G: '.,,' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1363 W: 1:'.,,' 2:',,' 3:'.,,' 4:'.' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1364 B: 1:'.,,' 2:',,' 3:'.,,' 4:'.' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1365 del wopts3! KeyError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1366 G: '.,,' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1367 W: 1:'.,,' 2:',,' 3:'.,,' 4:'.,,' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1368 B: 1:'.,,' 2:',,' 3:'.,,' 4:'.,,' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1369 END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1370 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1371 call assert_equal(expected, g:res) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1372 unlet g:res |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1373 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1374 call assert_equal(0, pyeval("'' in vim.options")) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1375 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1376 " use an empty key to index vim.options |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1377 call AssertException(["let v = pyeval(\"vim.options['']\")"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1378 \ 'Vim(let):ValueError: empty keys are not allowed') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1379 call AssertException(["py vim.current.window.options[''] = 0"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1380 \ 'Vim(python):ValueError: empty keys are not allowed') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1381 call AssertException(["py vim.current.window.options[{}] = 0"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1382 \ 'Vim(python):TypeError: expected str() or unicode() instance, but got dict') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1383 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1384 " set one of the number options to a very large number |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1385 let cmd = ["py vim.options['previewheight'] = 9999999999999999"] |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1386 call AssertException(cmd, 'OverflowError:') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1387 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1388 " unset a global-local string option |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1389 call AssertException(["py del vim.options['errorformat']"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1390 \ 'Vim(python):ValueError: unable to unset global option errorformat') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1391 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1392 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1393 " Test for vim.buffer object |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1394 func Test_python_buffer() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1395 new |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1396 call setline(1, "Hello\nWorld") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1397 call assert_fails("let x = pyeval('vim.current.buffer[0]')", 'E859:') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1398 %bw! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1399 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1400 edit Xfile1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1401 let bnr1 = bufnr() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1402 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1403 vnew Xfile2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1404 let bnr2 = bufnr() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1405 call setline(1, ['First line', 'Second line', 'Third line']) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1406 py b = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1407 wincmd w |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1408 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1409 " Test for getting lines from the buffer using a slice |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1410 call assert_equal(['First line'], pyeval('b[-10:1]')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1411 call assert_equal(['Third line'], pyeval('b[2:10]')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1412 call assert_equal([], pyeval('b[2:0]')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1413 call assert_equal([], pyeval('b[10:12]')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1414 call assert_equal([], pyeval('b[-10:-8]')) |
21200
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1415 call AssertException(["py x = b[0:3:0]"], |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1416 \ "Vim(python):TypeError: sequence index must be integer, not 'slice'") |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1417 call AssertException(["py b[0:3:0] = 'abc'"], |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1418 \ "Vim(python):TypeError: sequence index must be integer, not 'slice'") |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1419 call AssertException(["py x = b[{}]"], |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1420 \ "Vim(python):TypeError: sequence index must be integer, not 'dict'") |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1421 call AssertException(["py b[{}] = 'abc'"], |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1422 \ "Vim(python):TypeError: sequence index must be integer, not 'dict'") |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1423 |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1424 " Test for getting lines using a range |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1425 call AssertException(["py x = b.range(0,3)[0:2:0]"], |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1426 \ "Vim(python):TypeError: sequence index must be integer, not 'slice'") |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1427 call AssertException(["py b.range(0,3)[0:2:0] = 'abc'"], |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1428 \ "Vim(python):TypeError: sequence index must be integer, not 'slice'") |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1429 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1430 " Tests BufferAppend and BufferItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1431 py cb.append(b[0]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1432 call assert_equal(['First line'], getbufline(bnr1, 2)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1433 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1434 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1435 " Try to append using out-of-range line number |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1436 call AssertException(["py b.append('abc', 10)"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1437 \ 'Vim(python):IndexError: line number out of range') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1438 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1439 " Append a non-string item |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1440 call AssertException(["py b.append([22])"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1441 \ 'Vim(python):TypeError: expected str() or unicode() instance, but got int') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1442 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1443 " Tests BufferSlice and BufferAssSlice |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1444 py cb.append('abc5') # Will be overwritten |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1445 py cb[-1:] = b[:-2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1446 call assert_equal(['First line'], getbufline(bnr1, 2)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1447 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1448 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1449 " Test BufferLength and BufferAssSlice |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1450 py cb.append('def') # Will not be overwritten |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1451 py cb[len(cb):] = b[:] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1452 call assert_equal(['def', 'First line', 'Second line', 'Third line'], |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1453 \ getbufline(bnr1, 2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1454 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1455 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1456 " Test BufferAssItem and BufferMark |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1457 call setbufline(bnr1, 1, ['one', 'two', 'three']) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1458 call cursor(1, 3) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1459 normal ma |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1460 py cb.append('ghi') # Will be overwritten |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1461 py cb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1])) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1462 call assert_equal(['(3, 2)'], getbufline(bnr1, 4)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1463 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1464 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1465 " Test BufferRepr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1466 py cb.append(repr(cb) + repr(b)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1467 call assert_equal(['<buffer Xfile1><buffer Xfile2>'], getbufline(bnr1, 2)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1468 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1469 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1470 " Modify foreign buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1471 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1472 b.append('foo') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1473 b[0]='bar' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1474 b[0:0]=['baz'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1475 vim.command('call append("$", getbufline(%i, 1, "$"))' % b.number) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1476 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1477 call assert_equal(['baz', 'bar', 'Second line', 'Third line', 'foo'], |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1478 \ getbufline(bnr2, 1, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1479 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1480 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1481 " Test assigning to name property |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1482 augroup BUFS |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
1483 autocmd BufFilePost * python cb.append(vim.eval('expand("<abuf>")') + ':BufFilePost:' + vim.eval('bufnr("%")')) |
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
1484 autocmd BufFilePre * python cb.append(vim.eval('expand("<abuf>")') + ':BufFilePre:' + vim.eval('bufnr("%")')) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1485 augroup END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1486 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1487 import os |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1488 old_name = cb.name |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1489 cb.name = 'foo' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1490 cb.append(cb.name[-11:].replace(os.path.sep, '/')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1491 b.name = 'bar' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1492 cb.append(b.name[-11:].replace(os.path.sep, '/')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1493 cb.name = old_name |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1494 cb.append(cb.name[-14:].replace(os.path.sep, '/')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1495 del old_name |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1496 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1497 call assert_equal([bnr1 .. ':BufFilePre:' .. bnr1, |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1498 \ bnr1 .. ':BufFilePost:' .. bnr1, |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1499 \ 'testdir/foo', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1500 \ bnr2 .. ':BufFilePre:' .. bnr2, |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1501 \ bnr2 .. ':BufFilePost:' .. bnr2, |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1502 \ 'testdir/bar', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1503 \ bnr1 .. ':BufFilePre:' .. bnr1, |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1504 \ bnr1 .. ':BufFilePost:' .. bnr1, |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1505 \ 'testdir/Xfile1'], getbufline(bnr1, 2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1506 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1507 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1508 " Test CheckBuffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1509 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1510 for _b in vim.buffers: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1511 if _b is not cb: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1512 vim.command('bwipeout! ' + str(_b.number)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1513 del _b |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1514 cb.append('valid: b:%s, cb:%s' % (repr(b.valid), repr(cb.valid))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1515 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1516 call assert_equal('valid: b:False, cb:True', getline(2)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1517 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1518 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1519 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1520 for expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc6")', 'b.name = "!"'): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1521 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1522 exec(expr) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1523 except vim.error: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1524 pass |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1525 else: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1526 # Usually a SEGV here |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1527 # Should not happen in any case |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1528 cb.append('No exception for ' + expr) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1529 vim.command('cd .') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1530 del b |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1531 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1532 call assert_equal([''], getline(1, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1533 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1534 " Delete all the lines in a buffer |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1535 call setline(1, ['a', 'b', 'c']) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1536 py vim.current.buffer[:] = [] |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1537 call assert_equal([''], getline(1, '$')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1538 |
21200
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1539 " Test for buffer marks |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1540 call assert_equal(v:none, pyeval("vim.current.buffer.mark('r')")) |
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
1541 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1542 " Test for modifying a 'nomodifiable' buffer |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1543 setlocal nomodifiable |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1544 call AssertException(["py vim.current.buffer[0] = 'abc'"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1545 \ "Vim(python):vim.error: Vim:E21: Cannot make changes, 'modifiable' is off") |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1546 call AssertException(["py vim.current.buffer[0] = None"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1547 \ "Vim(python):vim.error: Vim:E21: Cannot make changes, 'modifiable' is off") |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1548 call AssertException(["py vim.current.buffer[:] = None"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1549 \ "Vim(python):vim.error: Vim:E21: Cannot make changes, 'modifiable' is off") |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1550 call AssertException(["py vim.current.buffer[:] = []"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1551 \ "Vim(python):vim.error: Vim:E21: Cannot make changes, 'modifiable' is off") |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1552 call AssertException(["py vim.current.buffer.append('abc')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1553 \ "Vim(python):vim.error: Vim:E21: Cannot make changes, 'modifiable' is off") |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1554 call AssertException(["py vim.current.buffer.append([])"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1555 \ "Vim(python):vim.error: Vim:E21: Cannot make changes, 'modifiable' is off") |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1556 setlocal modifiable |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1557 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1558 augroup BUFS |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
1559 autocmd! |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1560 augroup END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1561 augroup! BUFS |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1562 %bw! |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1563 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1564 " Range object for a deleted buffer |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1565 new Xpbuffile |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1566 call setline(1, ['one', 'two', 'three']) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1567 py b = vim.current.buffer |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1568 py r = vim.current.buffer.range(0, 2) |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1569 call assert_equal('<range Xpbuffile (0:2)>', pyeval('repr(r)')) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1570 %bw! |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1571 call AssertException(['py r[:] = []'], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1572 \ 'Vim(python):vim.error: attempt to refer to deleted buffer') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1573 call assert_match('<buffer object (deleted)', pyeval('repr(b)')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1574 call assert_match('<range object (for deleted buffer)', pyeval('repr(r)')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1575 call AssertException(["let n = pyeval('len(r)')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1576 \ 'Vim(let):vim.error: attempt to refer to deleted buffer') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1577 call AssertException(["py r.append('abc')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1578 \ 'Vim(python):vim.error: attempt to refer to deleted buffer') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1579 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1580 " object for a deleted buffer |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1581 call AssertException(["py b[0] = 'one'"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1582 \ 'Vim(python):vim.error: attempt to refer to deleted buffer') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1583 call AssertException(["py b.append('one')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1584 \ 'Vim(python):vim.error: attempt to refer to deleted buffer') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1585 call AssertException(["let n = pyeval('len(b)')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1586 \ 'Vim(let):vim.error: attempt to refer to deleted buffer') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1587 call AssertException(["py pos = b.mark('a')"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1588 \ 'Vim(python):vim.error: attempt to refer to deleted buffer') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1589 call AssertException(["py vim.current.buffer = b"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1590 \ 'Vim(python):vim.error: attempt to refer to deleted buffer') |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1591 call AssertException(["py rn = b.range(0, 2)"], |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1592 \ 'Vim(python):vim.error: attempt to refer to deleted buffer') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1593 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1594 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1595 " Test vim.buffers object |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1596 func Test_python_buffers() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1597 %bw! |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1598 edit Xpbuffile |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1599 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1600 set hidden |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1601 edit a |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1602 buffer # |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1603 edit b |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1604 buffer # |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1605 edit c |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1606 buffer # |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1607 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1608 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1609 from __builtin__ import next |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1610 except ImportError: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1611 next = lambda o: o.next() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1612 # Check GCing iterator that was not fully exhausted |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1613 i = iter(vim.buffers) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1614 cb.append('i:' + str(next(i))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1615 # and also check creating more than one iterator at a time |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1616 i2 = iter(vim.buffers) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1617 cb.append('i2:' + str(next(i2))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1618 cb.append('i:' + str(next(i))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1619 # The following should trigger GC and not cause any problems |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1620 del i |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1621 del i2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1622 i3 = iter(vim.buffers) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1623 cb.append('i3:' + str(next(i3))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1624 del i3 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1625 EOF |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1626 call assert_equal(['i:<buffer Xpbuffile>', |
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1627 \ 'i2:<buffer Xpbuffile>', 'i:<buffer a>', 'i3:<buffer Xpbuffile>'], |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1628 \ getline(2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1629 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1630 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1631 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1632 prevnum = 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1633 for b in vim.buffers: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1634 # Check buffer order |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1635 if prevnum >= b.number: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1636 cb.append('!!! Buffer numbers not in strictly ascending order') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1637 # Check indexing: vim.buffers[number].number == number |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1638 cb.append(str(b.number) + ':' + repr(vim.buffers[b.number]) + \ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1639 '=' + repr(b)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1640 prevnum = b.number |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1641 del prevnum |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1642 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1643 cb.append(str(len(vim.buffers))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1644 EOF |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1645 call assert_equal([bufnr('Xpbuffile') .. ':<buffer Xpbuffile>=<buffer Xpbuffile>', |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1646 \ bufnr('a') .. ':<buffer a>=<buffer a>', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1647 \ bufnr('b') .. ':<buffer b>=<buffer b>', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1648 \ bufnr('c') .. ':<buffer c>=<buffer c>', '4'], getline(2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1649 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1650 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1651 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1652 bnums = list(map(lambda b: b.number, vim.buffers))[1:] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1653 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1654 # Test wiping out buffer with existing iterator |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1655 i4 = iter(vim.buffers) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1656 cb.append('i4:' + str(next(i4))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1657 vim.command('bwipeout! ' + str(bnums.pop(0))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1658 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1659 next(i4) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1660 except vim.error: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1661 pass |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1662 else: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1663 cb.append('!!!! No vim.error') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1664 i4 = iter(vim.buffers) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1665 vim.command('bwipeout! ' + str(bnums.pop(-1))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1666 vim.command('bwipeout! ' + str(bnums.pop(-1))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1667 cb.append('i4:' + str(next(i4))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1668 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1669 next(i4) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1670 except StopIteration: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1671 cb.append('StopIteration') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1672 del i4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1673 del bnums |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1674 EOF |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1675 call assert_equal(['i4:<buffer Xpbuffile>', |
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1676 \ 'i4:<buffer Xpbuffile>', 'StopIteration'], getline(2, '$')) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1677 %bw! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1678 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1679 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1680 " Test vim.{tabpage,window}list and vim.{tabpage,window} objects |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1681 func Test_python_tabpage_window() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1682 %bw |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1683 edit Xpbuffile |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1684 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1685 tabnew 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1686 tabnew 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1687 vnew a.1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1688 tabnew 2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1689 vnew a.2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1690 vnew b.2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1691 vnew c.2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1692 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1693 call assert_equal(4, pyeval('vim.current.window.tabpage.number')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1694 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1695 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1696 cb.append('Number of tabs: ' + str(len(vim.tabpages))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1697 cb.append('Current tab pages:') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1698 def W(w): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1699 if repr(w).find('(unknown)') != -1: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1700 return '<window object (unknown)>' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1701 else: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1702 return repr(w) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1703 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1704 start = len(cb) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1705 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1706 def Cursor(w): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1707 if w.buffer is cb: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1708 return repr((start - w.cursor[0], w.cursor[1])) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1709 else: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1710 return repr(w.cursor) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1711 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1712 for t in vim.tabpages: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1713 cb.append(' ' + repr(t) + '(' + str(t.number) + ')' + ': ' + \ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1714 str(len(t.windows)) + ' windows, current is ' + W(t.window)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1715 cb.append(' Windows:') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1716 for w in t.windows: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1717 cb.append(' ' + W(w) + '(' + str(w.number) + ')' + \ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1718 ': displays buffer ' + repr(w.buffer) + \ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1719 '; cursor is at ' + Cursor(w)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1720 # Other values depend on the size of the terminal, so they are checked |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1721 # partly: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1722 for attr in ('height', 'row', 'width', 'col'): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1723 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1724 aval = getattr(w, attr) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1725 if type(aval) is not long: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1726 raise TypeError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1727 if aval < 0: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1728 raise ValueError |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1729 except Exception: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1730 cb.append('!!!!!! Error while getting attribute ' + attr + \ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1731 ': ' + sys.exc_type.__name__) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1732 del aval |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1733 del attr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1734 w.cursor = (len(w.buffer), 0) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1735 del W |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1736 del Cursor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1737 cb.append('Number of windows in current tab page: ' + \ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1738 str(len(vim.windows))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1739 if list(vim.windows) != list(vim.current.tabpage.windows): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1740 cb.append('!!!!!! Windows differ') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1741 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1742 |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
1743 let expected =<< trim END |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1744 Number of tabs: 4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1745 Current tab pages: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1746 <tabpage 0>(1): 1 windows, current is <window object (unknown)> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1747 Windows: |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1748 <window object (unknown)>(1): displays buffer <buffer Xpbuffile>; cursor is at (2, 0) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1749 <tabpage 1>(2): 1 windows, current is <window object (unknown)> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1750 Windows: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1751 <window object (unknown)>(1): displays buffer <buffer 0>; cursor is at (1, 0) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1752 <tabpage 2>(3): 2 windows, current is <window object (unknown)> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1753 Windows: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1754 <window object (unknown)>(1): displays buffer <buffer a.1>; cursor is at (1, 0) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1755 <window object (unknown)>(2): displays buffer <buffer 1>; cursor is at (1, 0) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1756 <tabpage 3>(4): 4 windows, current is <window 0> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1757 Windows: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1758 <window 0>(1): displays buffer <buffer c.2>; cursor is at (1, 0) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1759 <window 1>(2): displays buffer <buffer b.2>; cursor is at (1, 0) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1760 <window 2>(3): displays buffer <buffer a.2>; cursor is at (1, 0) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1761 <window 3>(4): displays buffer <buffer 2>; cursor is at (1, 0) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1762 Number of windows in current tab page: 4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1763 END |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1764 call assert_equal(expected, getbufline(bufnr('Xpbuffile'), 2, '$')) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1765 %bw! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1766 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1767 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1768 " Test vim.current |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1769 func Test_python_vim_current() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1770 %bw |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1771 edit Xpbuffile |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1772 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1773 tabnew 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1774 tabnew 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1775 vnew a.1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1776 tabnew 2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1777 vnew a.2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1778 vnew b.2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1779 vnew c.2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1780 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1781 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1782 def H(o): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1783 return repr(o) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1784 cb.append('Current tab page: ' + repr(vim.current.tabpage)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1785 cb.append('Current window: ' + repr(vim.current.window) + ': ' + \ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1786 H(vim.current.window) + ' is ' + H(vim.current.tabpage.window)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1787 cb.append('Current buffer: ' + repr(vim.current.buffer) + ': ' + \ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1788 H(vim.current.buffer) + ' is ' + H(vim.current.window.buffer)+ \ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1789 ' is ' + H(vim.current.tabpage.window.buffer)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1790 del H |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1791 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1792 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1793 Current tab page: <tabpage 3> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1794 Current window: <window 0>: <window 0> is <window 0> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1795 Current buffer: <buffer c.2>: <buffer c.2> is <buffer c.2> is <buffer c.2> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1796 END |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1797 call assert_equal(expected, getbufline(bufnr('Xpbuffile'), 2, '$')) |
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1798 call deletebufline(bufnr('Xpbuffile'), 1, '$') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1799 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1800 " Assigning: fails |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1801 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1802 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1803 vim.current.window = vim.tabpages[0].window |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1804 except ValueError: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1805 cb.append('ValueError at assigning foreign tab window') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1806 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1807 for attr in ('window', 'tabpage', 'buffer'): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1808 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1809 setattr(vim.current, attr, None) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1810 except TypeError: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1811 cb.append('Type error at assigning None to vim.current.' + attr) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1812 del attr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1813 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1814 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1815 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1816 ValueError at assigning foreign tab window |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1817 Type error at assigning None to vim.current.window |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1818 Type error at assigning None to vim.current.tabpage |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1819 Type error at assigning None to vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1820 END |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1821 call assert_equal(expected, getbufline(bufnr('Xpbuffile'), 2, '$')) |
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1822 call deletebufline(bufnr('Xpbuffile'), 1, '$') |
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1823 |
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1824 call setbufline(bufnr('Xpbuffile'), 1, 'python interface') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1825 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1826 # Assigning: success |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1827 vim.current.tabpage = vim.tabpages[-2] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1828 vim.current.buffer = cb |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1829 vim.current.window = vim.windows[0] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1830 vim.current.window.cursor = (len(vim.current.buffer), 0) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1831 cb.append('Current tab page: ' + repr(vim.current.tabpage)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1832 cb.append('Current window: ' + repr(vim.current.window)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1833 cb.append('Current buffer: ' + repr(vim.current.buffer)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1834 cb.append('Current line: ' + repr(vim.current.line)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1835 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1836 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1837 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1838 Current tab page: <tabpage 2> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1839 Current window: <window 0> |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1840 Current buffer: <buffer Xpbuffile> |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1841 Current line: 'python interface' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1842 END |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1843 call assert_equal(expected, getbufline(bufnr('Xpbuffile'), 2, '$')) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1844 py vim.current.line = 'one line' |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1845 call assert_equal('one line', getline('.')) |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1846 call deletebufline(bufnr('Xpbuffile'), 1, '$') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1847 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1848 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1849 ws = list(vim.windows) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1850 ts = list(vim.tabpages) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1851 for b in vim.buffers: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1852 if b is not cb: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1853 vim.command('bwipeout! ' + str(b.number)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1854 del b |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1855 cb.append('w.valid: ' + repr([w.valid for w in ws])) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1856 cb.append('t.valid: ' + repr([t.valid for t in ts])) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1857 del w |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1858 del t |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1859 del ts |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1860 del ws |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1861 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1862 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1863 w.valid: [True, False] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1864 t.valid: [True, False, True, False] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1865 END |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
1866 call assert_equal(expected, getbufline(bufnr('Xpbuffile'), 2, '$')) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1867 %bw! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1868 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1869 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1870 " Test types |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1871 func Test_python_types() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1872 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1873 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1874 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1875 for expr, attr in ( |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1876 ('vim.vars', 'Dictionary'), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1877 ('vim.options', 'Options'), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1878 ('vim.bindeval("{}")', 'Dictionary'), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1879 ('vim.bindeval("[]")', 'List'), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1880 ('vim.bindeval("function(\'tr\')")', 'Function'), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1881 ('vim.current.buffer', 'Buffer'), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1882 ('vim.current.range', 'Range'), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1883 ('vim.current.window', 'Window'), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1884 ('vim.current.tabpage', 'TabPage'), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1885 ): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1886 cb.append(expr + ':' + attr + ':' + \ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1887 repr(type(eval(expr)) is getattr(vim, attr))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1888 del expr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1889 del attr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1890 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1891 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1892 vim.vars:Dictionary:True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1893 vim.options:Options:True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1894 vim.bindeval("{}"):Dictionary:True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1895 vim.bindeval("[]"):List:True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1896 vim.bindeval("function('tr')"):Function:True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1897 vim.current.buffer:Buffer:True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1898 vim.current.range:Range:True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1899 vim.current.window:Window:True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1900 vim.current.tabpage:TabPage:True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1901 END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1902 call assert_equal(expected, getline(2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1903 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1904 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1905 " Test __dir__() method |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1906 func Test_python_dir_method() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1907 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1908 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1909 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1910 for name, o in ( |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1911 ('current', vim.current), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1912 ('buffer', vim.current.buffer), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1913 ('window', vim.current.window), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1914 ('tabpage', vim.current.tabpage), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1915 ('range', vim.current.range), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1916 ('dictionary', vim.bindeval('{}')), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1917 ('list', vim.bindeval('[]')), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1918 ('function', vim.bindeval('function("tr")')), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1919 ('output', sys.stdout), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1920 ): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1921 cb.append(name + ':' + ','.join(dir(o))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1922 del name |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1923 del o |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1924 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1925 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1926 current:__dir__,__members__,buffer,line,range,tabpage,window |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1927 buffer:__dir__,__members__,append,mark,name,number,options,range,valid,vars |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1928 window:__dir__,__members__,buffer,col,cursor,height,number,options,row,tabpage,valid,vars,width |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1929 tabpage:__dir__,__members__,number,valid,vars,window,windows |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1930 range:__dir__,__members__,append,end,start |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1931 dictionary:__dir__,__members__,get,has_key,items,keys,locked,pop,popitem,scope,update,values |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1932 list:__dir__,__members__,extend,locked |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1933 function:__dir__,__members__,args,auto_rebind,self,softspace |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1934 output:__dir__,__members__,close,closed,flush,isatty,readable,seekable,softspace,writable,write,writelines |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1935 END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1936 call assert_equal(expected, getline(2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1937 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1938 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1939 " Test vim.*.__new__ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1940 func Test_python_new() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1941 call assert_equal({}, pyeval('vim.Dictionary({})')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1942 call assert_equal({'a': 1}, pyeval('vim.Dictionary(a=1)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1943 call assert_equal({'a': 1}, pyeval('vim.Dictionary(((''a'', 1),))')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1944 call assert_equal([], pyeval('vim.List()')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1945 call assert_equal(['a', 'b', 'c', '7'], pyeval('vim.List(iter(''abc7''))')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1946 call assert_equal(function('tr'), pyeval('vim.Function(''tr'')')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1947 call assert_equal(function('tr', [123, 3, 4]), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1948 \ pyeval('vim.Function(''tr'', args=[123, 3, 4])')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1949 call assert_equal(function('tr'), pyeval('vim.Function(''tr'', args=[])')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1950 call assert_equal(function('tr', {}), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1951 \ pyeval('vim.Function(''tr'', self={})')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1952 call assert_equal(function('tr', [123, 3, 4], {}), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1953 \ pyeval('vim.Function(''tr'', args=[123, 3, 4], self={})')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1954 call assert_equal(function('tr'), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1955 \ pyeval('vim.Function(''tr'', auto_rebind=False)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1956 call assert_equal(function('tr', [123, 3, 4]), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1957 \ pyeval('vim.Function(''tr'', args=[123, 3, 4], auto_rebind=False)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1958 call assert_equal(function('tr'), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1959 \ pyeval('vim.Function(''tr'', args=[], auto_rebind=False)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1960 call assert_equal(function('tr', {}), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1961 \ pyeval('vim.Function(''tr'', self={}, auto_rebind=False)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1962 call assert_equal(function('tr', [123, 3, 4], {}), |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1963 \ pyeval('vim.Function(''tr'', args=[123, 3, 4], self={}, auto_rebind=False)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1964 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1965 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1966 " Test vim.Function |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1967 func Test_python_vim_func() |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1968 func Args(...) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1969 return a:000 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1970 endfunc |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1971 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1972 func SelfArgs(...) dict |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1973 return [a:000, self] |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1974 endfunc |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1975 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1976 " The following four lines should not crash |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1977 let Pt = function('tr', [[]], {'l': []}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1978 py Pt = vim.bindeval('Pt') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1979 unlet Pt |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1980 py del Pt |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1981 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1982 call assert_equal(3, pyeval('vim.strwidth("a\tb")')) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
1983 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1984 %bw! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1985 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1986 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1987 def ecall(out_prefix, func, *args, **kwargs): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1988 line = out_prefix + ': ' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1989 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1990 ret = func(*args, **kwargs) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1991 except Exception: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1992 line += '!exception: ' + emsg(sys.exc_info()) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1993 else: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1994 line += '!result: ' + vim.Function('string')(ret) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1995 cb.append(line) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1996 a = vim.Function('Args') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1997 pa1 = vim.Function('Args', args=['abcArgsPA1']) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1998 pa2 = vim.Function('Args', args=[]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
1999 pa3 = vim.Function('Args', args=['abcArgsPA3'], self={'abcSelfPA3': 'abcSelfPA3Val'}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2000 pa4 = vim.Function('Args', self={'abcSelfPA4': 'abcSelfPA4Val'}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2001 cb.append('a: ' + repr(a)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2002 cb.append('pa1: ' + repr(pa1)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2003 cb.append('pa2: ' + repr(pa2)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2004 cb.append('pa3: ' + repr(pa3)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2005 cb.append('pa4: ' + repr(pa4)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2006 sa = vim.Function('SelfArgs') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2007 psa1 = vim.Function('SelfArgs', args=['abcArgsPSA1']) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2008 psa2 = vim.Function('SelfArgs', args=[]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2009 psa3 = vim.Function('SelfArgs', args=['abcArgsPSA3'], self={'abcSelfPSA3': 'abcSelfPSA3Val'}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2010 psa4 = vim.Function('SelfArgs', self={'abcSelfPSA4': 'abcSelfPSA4Val'}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2011 psa5 = vim.Function('SelfArgs', self={'abcSelfPSA5': 'abcSelfPSA5Val'}, auto_rebind=0) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2012 psa6 = vim.Function('SelfArgs', args=['abcArgsPSA6'], self={'abcSelfPSA6': 'abcSelfPSA6Val'}, auto_rebind=()) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2013 psa7 = vim.Function('SelfArgs', args=['abcArgsPSA7'], auto_rebind=[]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2014 psa8 = vim.Function('SelfArgs', auto_rebind=False) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2015 psa9 = vim.Function('SelfArgs', self={'abcSelfPSA9': 'abcSelfPSA9Val'}, auto_rebind=True) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2016 psaA = vim.Function('SelfArgs', args=['abcArgsPSAA'], self={'abcSelfPSAA': 'abcSelfPSAAVal'}, auto_rebind=1) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2017 psaB = vim.Function('SelfArgs', args=['abcArgsPSAB'], auto_rebind={'abcARPSAB': 'abcARPSABVal'}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2018 psaC = vim.Function('SelfArgs', auto_rebind=['abcARPSAC']) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2019 cb.append('sa: ' + repr(sa)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2020 cb.append('psa1: ' + repr(psa1)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2021 cb.append('psa2: ' + repr(psa2)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2022 cb.append('psa3: ' + repr(psa3)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2023 cb.append('psa4: ' + repr(psa4)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2024 cb.append('psa5: ' + repr(psa5)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2025 cb.append('psa6: ' + repr(psa6)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2026 cb.append('psa7: ' + repr(psa7)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2027 cb.append('psa8: ' + repr(psa8)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2028 cb.append('psa9: ' + repr(psa9)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2029 cb.append('psaA: ' + repr(psaA)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2030 cb.append('psaB: ' + repr(psaB)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2031 cb.append('psaC: ' + repr(psaC)) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2032 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2033 psar = vim.Function('SelfArgs', args=[{'abcArgsPSAr': 'abcArgsPSArVal'}], self={'abcSelfPSAr': 'abcSelfPSArVal'}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2034 psar.args[0]['abcArgsPSAr2'] = [psar.self, psar.args[0]] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2035 psar.self['rec'] = psar |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2036 psar.self['self'] = psar.self |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2037 psar.self['args'] = psar.args |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2038 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2039 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2040 cb.append('psar: ' + repr(psar)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2041 except Exception: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2042 cb.append('!!!!!!!! Caught exception: ' + emsg(sys.exc_info())) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2043 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2044 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2045 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2046 a: <vim.Function 'Args'> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2047 pa1: <vim.Function 'Args', args=['abcArgsPA1']> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2048 pa2: <vim.Function 'Args'> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2049 pa3: <vim.Function 'Args', args=['abcArgsPA3'], self={'abcSelfPA3': 'abcSelfPA3Val'}> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2050 pa4: <vim.Function 'Args', self={'abcSelfPA4': 'abcSelfPA4Val'}> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2051 sa: <vim.Function 'SelfArgs'> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2052 psa1: <vim.Function 'SelfArgs', args=['abcArgsPSA1']> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2053 psa2: <vim.Function 'SelfArgs'> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2054 psa3: <vim.Function 'SelfArgs', args=['abcArgsPSA3'], self={'abcSelfPSA3': 'abcSelfPSA3Val'}> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2055 psa4: <vim.Function 'SelfArgs', self={'abcSelfPSA4': 'abcSelfPSA4Val'}> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2056 psa5: <vim.Function 'SelfArgs', self={'abcSelfPSA5': 'abcSelfPSA5Val'}> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2057 psa6: <vim.Function 'SelfArgs', args=['abcArgsPSA6'], self={'abcSelfPSA6': 'abcSelfPSA6Val'}> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2058 psa7: <vim.Function 'SelfArgs', args=['abcArgsPSA7']> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2059 psa8: <vim.Function 'SelfArgs'> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2060 psa9: <vim.Function 'SelfArgs', self={'abcSelfPSA9': 'abcSelfPSA9Val'}, auto_rebind=True> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2061 psaA: <vim.Function 'SelfArgs', args=['abcArgsPSAA'], self={'abcSelfPSAA': 'abcSelfPSAAVal'}, auto_rebind=True> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2062 psaB: <vim.Function 'SelfArgs', args=['abcArgsPSAB']> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2063 psaC: <vim.Function 'SelfArgs'> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2064 psar: <vim.Function 'SelfArgs', args=[{'abcArgsPSAr2': [{'rec': function('SelfArgs', [{...}], {...}), 'self': {...}, 'abcSelfPSAr': 'abcSelfPSArVal', 'args': [{...}]}, {...}], 'abcArgsPSAr': 'abcArgsPSArVal'}], self={'rec': function('SelfArgs', [{'abcArgsPSAr2': [{...}, {...}], 'abcArgsPSAr': 'abcArgsPSArVal'}], {...}), 'self': {...}, 'abcSelfPSAr': 'abcSelfPSArVal', 'args': [{'abcArgsPSAr2': [{...}, {...}], 'abcArgsPSAr': 'abcArgsPSArVal'}]}> |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2065 END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2066 call assert_equal(expected, getline(2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2067 %d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2068 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2069 call assert_equal(function('Args'), pyeval('a')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2070 call assert_equal(function('Args', ['abcArgsPA1']), pyeval('pa1')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2071 call assert_equal(function('Args'), pyeval('pa2')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2072 call assert_equal(function('Args', ['abcArgsPA3'], {'abcSelfPA3': 'abcSelfPA3Val'}), pyeval('pa3')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2073 call assert_equal(function('Args', {'abcSelfPA4': 'abcSelfPA4Val'}), pyeval('pa4')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2074 call assert_equal(function('SelfArgs'), pyeval('sa')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2075 call assert_equal(function('SelfArgs', ['abcArgsPSA1']), pyeval('psa1')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2076 call assert_equal(function('SelfArgs'), pyeval('psa2')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2077 call assert_equal(function('SelfArgs', ['abcArgsPSA3'], {'abcSelfPSA3': 'abcSelfPSA3Val'}), pyeval('psa3')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2078 call assert_equal(function('SelfArgs', {'abcSelfPSA4': 'abcSelfPSA4Val'}), pyeval('psa4')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2079 call assert_equal(function('SelfArgs', {'abcSelfPSA5': 'abcSelfPSA5Val'}), pyeval('psa5')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2080 call assert_equal(function('SelfArgs', ['abcArgsPSA6'], {'abcSelfPSA6': 'abcSelfPSA6Val'}), pyeval('psa6')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2081 call assert_equal(function('SelfArgs', ['abcArgsPSA7']), pyeval('psa7')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2082 call assert_equal(function('SelfArgs'), pyeval('psa8')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2083 call assert_equal(function('SelfArgs', {'abcSelfPSA9': 'abcSelfPSA9Val'}), pyeval('psa9')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2084 call assert_equal(function('SelfArgs', ['abcArgsPSAA'], {'abcSelfPSAA': 'abcSelfPSAAVal'}), pyeval('psaA')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2085 call assert_equal(function('SelfArgs', ['abcArgsPSAB']), pyeval('psaB')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2086 call assert_equal(function('SelfArgs'), pyeval('psaC')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2087 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2088 let res = [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2089 for v in ['sa', 'psa1', 'psa2', 'psa3', 'psa4', 'psa5', 'psa6', 'psa7', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2090 \ 'psa8', 'psa9', 'psaA', 'psaB', 'psaC'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2091 let d = {'f': pyeval(v)} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2092 call add(res, 'd.' .. v .. '(): ' .. string(d.f())) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2093 endfor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2094 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2095 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2096 d.sa(): [[], {'f': function('SelfArgs')}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2097 d.psa1(): [['abcArgsPSA1'], {'f': function('SelfArgs', ['abcArgsPSA1'])}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2098 d.psa2(): [[], {'f': function('SelfArgs')}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2099 d.psa3(): [['abcArgsPSA3'], {'abcSelfPSA3': 'abcSelfPSA3Val'}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2100 d.psa4(): [[], {'abcSelfPSA4': 'abcSelfPSA4Val'}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2101 d.psa5(): [[], {'abcSelfPSA5': 'abcSelfPSA5Val'}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2102 d.psa6(): [['abcArgsPSA6'], {'abcSelfPSA6': 'abcSelfPSA6Val'}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2103 d.psa7(): [['abcArgsPSA7'], {'f': function('SelfArgs', ['abcArgsPSA7'])}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2104 d.psa8(): [[], {'f': function('SelfArgs')}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2105 d.psa9(): [[], {'f': function('SelfArgs', {'abcSelfPSA9': 'abcSelfPSA9Val'})}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2106 d.psaA(): [['abcArgsPSAA'], {'f': function('SelfArgs', ['abcArgsPSAA'], {'abcSelfPSAA': 'abcSelfPSAAVal'})}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2107 d.psaB(): [['abcArgsPSAB'], {'f': function('SelfArgs', ['abcArgsPSAB'])}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2108 d.psaC(): [[], {'f': function('SelfArgs')}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2109 END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2110 call assert_equal(expected, res) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2111 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2112 py ecall('a()', a, ) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2113 py ecall('pa1()', pa1, ) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2114 py ecall('pa2()', pa2, ) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2115 py ecall('pa3()', pa3, ) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2116 py ecall('pa4()', pa4, ) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2117 py ecall('sa()', sa, ) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2118 py ecall('psa1()', psa1, ) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2119 py ecall('psa2()', psa2, ) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2120 py ecall('psa3()', psa3, ) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2121 py ecall('psa4()', psa4, ) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2122 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2123 py ecall('a(42, 43)', a, 42, 43) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2124 py ecall('pa1(42, 43)', pa1, 42, 43) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2125 py ecall('pa2(42, 43)', pa2, 42, 43) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2126 py ecall('pa3(42, 43)', pa3, 42, 43) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2127 py ecall('pa4(42, 43)', pa4, 42, 43) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2128 py ecall('sa(42, 43)', sa, 42, 43) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2129 py ecall('psa1(42, 43)', psa1, 42, 43) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2130 py ecall('psa2(42, 43)', psa2, 42, 43) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2131 py ecall('psa3(42, 43)', psa3, 42, 43) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2132 py ecall('psa4(42, 43)', psa4, 42, 43) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2133 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2134 py ecall('a(42, self={"20": 1})', a, 42, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2135 py ecall('pa1(42, self={"20": 1})', pa1, 42, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2136 py ecall('pa2(42, self={"20": 1})', pa2, 42, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2137 py ecall('pa3(42, self={"20": 1})', pa3, 42, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2138 py ecall('pa4(42, self={"20": 1})', pa4, 42, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2139 py ecall('sa(42, self={"20": 1})', sa, 42, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2140 py ecall('psa1(42, self={"20": 1})', psa1, 42, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2141 py ecall('psa2(42, self={"20": 1})', psa2, 42, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2142 py ecall('psa3(42, self={"20": 1})', psa3, 42, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2143 py ecall('psa4(42, self={"20": 1})', psa4, 42, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2144 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2145 py ecall('a(self={"20": 1})', a, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2146 py ecall('pa1(self={"20": 1})', pa1, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2147 py ecall('pa2(self={"20": 1})', pa2, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2148 py ecall('pa3(self={"20": 1})', pa3, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2149 py ecall('pa4(self={"20": 1})', pa4, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2150 py ecall('sa(self={"20": 1})', sa, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2151 py ecall('psa1(self={"20": 1})', psa1, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2152 py ecall('psa2(self={"20": 1})', psa2, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2153 py ecall('psa3(self={"20": 1})', psa3, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2154 py ecall('psa4(self={"20": 1})', psa4, self={'20': 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2155 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2156 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2157 def s(v): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2158 if v is None: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2159 return repr(v) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2160 else: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2161 return vim.Function('string')(v) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2162 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2163 cb.append('a.args: ' + s(a.args)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2164 cb.append('pa1.args: ' + s(pa1.args)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2165 cb.append('pa2.args: ' + s(pa2.args)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2166 cb.append('pa3.args: ' + s(pa3.args)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2167 cb.append('pa4.args: ' + s(pa4.args)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2168 cb.append('sa.args: ' + s(sa.args)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2169 cb.append('psa1.args: ' + s(psa1.args)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2170 cb.append('psa2.args: ' + s(psa2.args)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2171 cb.append('psa3.args: ' + s(psa3.args)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2172 cb.append('psa4.args: ' + s(psa4.args)) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2173 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2174 cb.append('a.self: ' + s(a.self)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2175 cb.append('pa1.self: ' + s(pa1.self)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2176 cb.append('pa2.self: ' + s(pa2.self)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2177 cb.append('pa3.self: ' + s(pa3.self)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2178 cb.append('pa4.self: ' + s(pa4.self)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2179 cb.append('sa.self: ' + s(sa.self)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2180 cb.append('psa1.self: ' + s(psa1.self)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2181 cb.append('psa2.self: ' + s(psa2.self)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2182 cb.append('psa3.self: ' + s(psa3.self)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2183 cb.append('psa4.self: ' + s(psa4.self)) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2184 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2185 cb.append('a.name: ' + s(a.name)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2186 cb.append('pa1.name: ' + s(pa1.name)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2187 cb.append('pa2.name: ' + s(pa2.name)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2188 cb.append('pa3.name: ' + s(pa3.name)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2189 cb.append('pa4.name: ' + s(pa4.name)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2190 cb.append('sa.name: ' + s(sa.name)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2191 cb.append('psa1.name: ' + s(psa1.name)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2192 cb.append('psa2.name: ' + s(psa2.name)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2193 cb.append('psa3.name: ' + s(psa3.name)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2194 cb.append('psa4.name: ' + s(psa4.name)) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2195 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2196 cb.append('a.auto_rebind: ' + s(a.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2197 cb.append('pa1.auto_rebind: ' + s(pa1.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2198 cb.append('pa2.auto_rebind: ' + s(pa2.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2199 cb.append('pa3.auto_rebind: ' + s(pa3.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2200 cb.append('pa4.auto_rebind: ' + s(pa4.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2201 cb.append('sa.auto_rebind: ' + s(sa.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2202 cb.append('psa1.auto_rebind: ' + s(psa1.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2203 cb.append('psa2.auto_rebind: ' + s(psa2.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2204 cb.append('psa3.auto_rebind: ' + s(psa3.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2205 cb.append('psa4.auto_rebind: ' + s(psa4.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2206 cb.append('psa5.auto_rebind: ' + s(psa5.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2207 cb.append('psa6.auto_rebind: ' + s(psa6.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2208 cb.append('psa7.auto_rebind: ' + s(psa7.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2209 cb.append('psa8.auto_rebind: ' + s(psa8.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2210 cb.append('psa9.auto_rebind: ' + s(psa9.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2211 cb.append('psaA.auto_rebind: ' + s(psaA.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2212 cb.append('psaB.auto_rebind: ' + s(psaB.auto_rebind)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2213 cb.append('psaC.auto_rebind: ' + s(psaC.auto_rebind)) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2214 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2215 del s |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2216 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2217 del a |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2218 del pa1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2219 del pa2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2220 del pa3 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2221 del pa4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2222 del sa |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2223 del psa1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2224 del psa2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2225 del psa3 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2226 del psa4 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2227 del psa5 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2228 del psa6 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2229 del psa7 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2230 del psa8 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2231 del psa9 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2232 del psaA |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2233 del psaB |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2234 del psaC |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2235 del psar |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2236 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2237 del ecall |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2238 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2239 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2240 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2241 a(): !result: [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2242 pa1(): !result: ['abcArgsPA1'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2243 pa2(): !result: [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2244 pa3(): !result: ['abcArgsPA3'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2245 pa4(): !result: [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2246 sa(): !exception: error:('Vim:E725: Calling dict function without Dictionary: SelfArgs',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2247 psa1(): !exception: error:('Vim:E725: Calling dict function without Dictionary: SelfArgs',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2248 psa2(): !exception: error:('Vim:E725: Calling dict function without Dictionary: SelfArgs',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2249 psa3(): !result: [['abcArgsPSA3'], {'abcSelfPSA3': 'abcSelfPSA3Val'}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2250 psa4(): !result: [[], {'abcSelfPSA4': 'abcSelfPSA4Val'}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2251 a(42, 43): !result: [42, 43] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2252 pa1(42, 43): !result: ['abcArgsPA1', 42, 43] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2253 pa2(42, 43): !result: [42, 43] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2254 pa3(42, 43): !result: ['abcArgsPA3', 42, 43] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2255 pa4(42, 43): !result: [42, 43] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2256 sa(42, 43): !exception: error:('Vim:E725: Calling dict function without Dictionary: SelfArgs',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2257 psa1(42, 43): !exception: error:('Vim:E725: Calling dict function without Dictionary: SelfArgs',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2258 psa2(42, 43): !exception: error:('Vim:E725: Calling dict function without Dictionary: SelfArgs',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2259 psa3(42, 43): !result: [['abcArgsPSA3', 42, 43], {'abcSelfPSA3': 'abcSelfPSA3Val'}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2260 psa4(42, 43): !result: [[42, 43], {'abcSelfPSA4': 'abcSelfPSA4Val'}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2261 a(42, self={"20": 1}): !result: [42] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2262 pa1(42, self={"20": 1}): !result: ['abcArgsPA1', 42] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2263 pa2(42, self={"20": 1}): !result: [42] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2264 pa3(42, self={"20": 1}): !result: ['abcArgsPA3', 42] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2265 pa4(42, self={"20": 1}): !result: [42] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2266 sa(42, self={"20": 1}): !result: [[42], {'20': 1}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2267 psa1(42, self={"20": 1}): !result: [['abcArgsPSA1', 42], {'20': 1}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2268 psa2(42, self={"20": 1}): !result: [[42], {'20': 1}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2269 psa3(42, self={"20": 1}): !result: [['abcArgsPSA3', 42], {'20': 1}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2270 psa4(42, self={"20": 1}): !result: [[42], {'20': 1}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2271 a(self={"20": 1}): !result: [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2272 pa1(self={"20": 1}): !result: ['abcArgsPA1'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2273 pa2(self={"20": 1}): !result: [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2274 pa3(self={"20": 1}): !result: ['abcArgsPA3'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2275 pa4(self={"20": 1}): !result: [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2276 sa(self={"20": 1}): !result: [[], {'20': 1}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2277 psa1(self={"20": 1}): !result: [['abcArgsPSA1'], {'20': 1}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2278 psa2(self={"20": 1}): !result: [[], {'20': 1}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2279 psa3(self={"20": 1}): !result: [['abcArgsPSA3'], {'20': 1}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2280 psa4(self={"20": 1}): !result: [[], {'20': 1}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2281 a.args: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2282 pa1.args: ['abcArgsPA1'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2283 pa2.args: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2284 pa3.args: ['abcArgsPA3'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2285 pa4.args: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2286 sa.args: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2287 psa1.args: ['abcArgsPSA1'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2288 psa2.args: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2289 psa3.args: ['abcArgsPSA3'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2290 psa4.args: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2291 a.self: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2292 pa1.self: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2293 pa2.self: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2294 pa3.self: {'abcSelfPA3': 'abcSelfPA3Val'} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2295 pa4.self: {'abcSelfPA4': 'abcSelfPA4Val'} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2296 sa.self: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2297 psa1.self: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2298 psa2.self: None |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2299 psa3.self: {'abcSelfPSA3': 'abcSelfPSA3Val'} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2300 psa4.self: {'abcSelfPSA4': 'abcSelfPSA4Val'} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2301 a.name: 'Args' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2302 pa1.name: 'Args' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2303 pa2.name: 'Args' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2304 pa3.name: 'Args' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2305 pa4.name: 'Args' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2306 sa.name: 'SelfArgs' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2307 psa1.name: 'SelfArgs' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2308 psa2.name: 'SelfArgs' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2309 psa3.name: 'SelfArgs' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2310 psa4.name: 'SelfArgs' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2311 a.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2312 pa1.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2313 pa2.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2314 pa3.auto_rebind: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2315 pa4.auto_rebind: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2316 sa.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2317 psa1.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2318 psa2.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2319 psa3.auto_rebind: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2320 psa4.auto_rebind: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2321 psa5.auto_rebind: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2322 psa6.auto_rebind: 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2323 psa7.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2324 psa8.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2325 psa9.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2326 psaA.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2327 psaB.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2328 psaC.auto_rebind: 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2329 END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2330 call assert_equal(expected, getline(2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2331 %bw! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2332 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2333 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2334 " Test stdout/stderr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2335 func Test_python_stdin_stderr() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2336 let caught_writeerr = 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2337 let caught_writelineerr = 0 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2338 redir => messages |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2339 py sys.stdout.write('abc8') ; sys.stdout.write('def') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2340 try |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2341 py sys.stderr.write('abc9') ; sys.stderr.write('def') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2342 catch /abc9def/ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2343 let caught_writeerr = 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2344 endtry |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2345 py sys.stdout.writelines(iter('abcA')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2346 try |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2347 py sys.stderr.writelines(iter('abcB')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2348 catch /abcB/ |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2349 let caught_writelineerr = 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2350 endtry |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2351 redir END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2352 call assert_equal("\nabc8def\nabcA", messages) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2353 call assert_equal(1, caught_writeerr) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2354 call assert_equal(1, caught_writelineerr) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2355 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2356 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2357 " Test subclassing |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2358 func Test_python_subclass() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2359 new |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
2360 func Put(...) |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
2361 return a:000 |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
2362 endfunc |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2363 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2364 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2365 class DupDict(vim.Dictionary): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2366 def __setitem__(self, key, value): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2367 super(DupDict, self).__setitem__(key, value) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2368 super(DupDict, self).__setitem__('dup_' + key, value) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2369 dd = DupDict() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2370 dd['a'] = 'b' |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2371 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2372 class DupList(vim.List): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2373 def __getitem__(self, idx): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2374 return [super(DupList, self).__getitem__(idx)] * 2 |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2375 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2376 dl = DupList() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2377 dl2 = DupList(iter('abcC')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2378 dl.extend(dl2[0]) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2379 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2380 class DupFun(vim.Function): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2381 def __call__(self, arg): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2382 return super(DupFun, self).__call__(arg, arg) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2383 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2384 df = DupFun('Put') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2385 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2386 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2387 call assert_equal(['a', 'dup_a'], sort(keys(pyeval('dd')))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2388 call assert_equal(['a', 'a'], pyeval('dl')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2389 call assert_equal(['a', 'b', 'c', 'C'], pyeval('dl2')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2390 call assert_equal([2, 2], pyeval('df(2)')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2391 call assert_equal(1, pyeval('dl') is# pyeval('dl')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2392 call assert_equal(1, pyeval('dd') is# pyeval('dd')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2393 call assert_equal(function('Put'), pyeval('df')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2394 delfunction Put |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2395 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2396 del DupDict |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2397 del DupList |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2398 del DupFun |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2399 del dd |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2400 del dl |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2401 del dl2 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2402 del df |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2403 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2404 close! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2405 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2406 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2407 " Test chdir |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2408 func Test_python_chdir() |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
2409 new Xpycfile |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2410 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2411 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2412 import os |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2413 fnamemodify = vim.Function('fnamemodify') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2414 cb.append(fnamemodify('.', ':p:h:t')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2415 cb.append(vim.eval('@%')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2416 os.chdir('..') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2417 path = fnamemodify('.', ':p:h:t') |
22011
2b6d696b063d
patch 8.2.1555: not all tests are executed on Github Actions
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2418 if path != 'src' and path != 'src2': |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2419 # Running tests from a shadow directory, so move up another level |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
2420 # This will result in @% looking like shadow/testdir/Xpycfile, hence the |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2421 # extra fnamemodify |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2422 os.chdir('..') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2423 cb.append(fnamemodify('.', ':p:h:t')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2424 cb.append(fnamemodify(vim.eval('@%'), ':s?^%s.??' % path).replace(os.path.sep, '/')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2425 os.chdir(path) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2426 del path |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2427 else: |
22011
2b6d696b063d
patch 8.2.1555: not all tests are executed on Github Actions
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2428 # Also accept running from src2/testdir/ for MS-Windows CI. |
2b6d696b063d
patch 8.2.1555: not all tests are executed on Github Actions
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2429 cb.append(fnamemodify('.', ':p:h:t').replace('src2', 'src')) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2430 cb.append(vim.eval('@%').replace(os.path.sep, '/')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2431 os.chdir('testdir') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2432 cb.append(fnamemodify('.', ':p:h:t')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2433 cb.append(vim.eval('@%')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2434 del fnamemodify |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2435 EOF |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
2436 call assert_equal(['testdir', 'Xpycfile', 'src', 'testdir/Xpycfile', 'testdir', |
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
26211
diff
changeset
|
2437 \ 'Xpycfile'], getline(2, '$')) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2438 close! |
21200
37edecbfb834
patch 8.2.1151: insufficient test coverage for Python
Bram Moolenaar <Bram@vim.org>
parents:
21198
diff
changeset
|
2439 call AssertException(["py vim.chdir(None)"], "Vim(python):TypeError:") |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2440 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2441 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2442 " Test errors |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2443 func Test_python_errors() |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
2444 func F() dict |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
2445 endfunc |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2446 |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
2447 func D() |
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
2448 endfunc |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2449 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2450 new |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2451 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2452 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2453 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2454 d = vim.Dictionary() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2455 ned = vim.Dictionary(foo='bar', baz='abcD') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2456 dl = vim.Dictionary(a=1) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2457 dl.locked = True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2458 l = vim.List() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2459 ll = vim.List('abcE') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2460 ll.locked = True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2461 nel = vim.List('abcO') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2462 f = vim.Function('string') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2463 fd = vim.Function('F') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2464 fdel = vim.Function('D') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2465 vim.command('delfunction D') |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2466 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2467 def subexpr_test(expr, name, subexprs): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2468 cb.append('>>> Testing %s using %s' % (name, expr)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2469 for subexpr in subexprs: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2470 ee(expr % subexpr) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2471 cb.append('<<< Finished') |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2472 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2473 def stringtochars_test(expr): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2474 return subexpr_test(expr, 'StringToChars', ( |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2475 '1', # Fail type checks |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2476 'u"\\0"', # Fail PyString_AsStringAndSize(bytes, , NULL) check |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2477 '"\\0"', # Fail PyString_AsStringAndSize(object, , NULL) check |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2478 )) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2479 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2480 class Mapping(object): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2481 def __init__(self, d): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2482 self.d = d |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2483 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2484 def __getitem__(self, key): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2485 return self.d[key] |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2486 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2487 def keys(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2488 return self.d.keys() |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2489 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2490 def items(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2491 return self.d.items() |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2492 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2493 def convertfrompyobject_test(expr, recurse=True): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2494 # pydict_to_tv |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2495 stringtochars_test(expr % '{%s : 1}') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2496 if recurse: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2497 convertfrompyobject_test(expr % '{"abcF" : %s}', False) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2498 # pymap_to_tv |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2499 stringtochars_test(expr % 'Mapping({%s : 1})') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2500 if recurse: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2501 convertfrompyobject_test(expr % 'Mapping({"abcG" : %s})', False) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2502 # pyseq_to_tv |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2503 iter_test(expr) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2504 return subexpr_test(expr, 'ConvertFromPyObject', ( |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2505 'None', # Not conversible |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2506 '{"": 1}', # Empty key not allowed |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2507 '{u"": 1}', # Same, but with unicode object |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2508 'FailingMapping()', # |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2509 'FailingMappingKey()', # |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2510 'FailingNumber()', # |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2511 )) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2512 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2513 def convertfrompymapping_test(expr): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2514 convertfrompyobject_test(expr) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2515 return subexpr_test(expr, 'ConvertFromPyMapping', ( |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2516 '[]', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2517 )) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2518 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2519 def iter_test(expr): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2520 return subexpr_test(expr, '*Iter*', ( |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2521 'FailingIter()', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2522 'FailingIterNext()', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2523 )) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2524 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2525 def number_test(expr, natural=False, unsigned=False): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2526 if natural: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2527 unsigned = True |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2528 return subexpr_test(expr, 'NumberToLong', ( |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2529 '[]', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2530 'None', |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2531 ) + (unsigned and ('-1',) or ()) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2532 + (natural and ('0',) or ())) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2533 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2534 class FailingTrue(object): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2535 def __nonzero__(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2536 raise NotImplementedError('bool') |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2537 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2538 class FailingIter(object): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2539 def __iter__(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2540 raise NotImplementedError('iter') |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2541 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2542 class FailingIterNext(object): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2543 def __iter__(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2544 return self |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2545 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2546 def next(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2547 raise NotImplementedError('next') |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2548 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2549 class FailingIterNextN(object): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2550 def __init__(self, n): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2551 self.n = n |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2552 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2553 def __iter__(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2554 return self |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2555 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2556 def next(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2557 if self.n: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2558 self.n -= 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2559 return 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2560 else: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2561 raise NotImplementedError('next N') |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2562 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2563 class FailingMappingKey(object): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2564 def __getitem__(self, item): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2565 raise NotImplementedError('getitem:mappingkey') |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2566 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2567 def keys(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2568 return list("abcH") |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2569 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2570 class FailingMapping(object): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2571 def __getitem__(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2572 raise NotImplementedError('getitem:mapping') |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2573 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2574 def keys(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2575 raise NotImplementedError('keys') |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2576 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2577 class FailingList(list): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2578 def __getitem__(self, idx): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2579 if i == 2: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2580 raise NotImplementedError('getitem:list') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2581 else: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2582 return super(FailingList, self).__getitem__(idx) |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2583 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2584 class NoArgsCall(object): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2585 def __call__(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2586 pass |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2587 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2588 class FailingCall(object): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2589 def __call__(self, path): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2590 raise NotImplementedError('call') |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2591 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2592 class FailingNumber(object): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2593 def __int__(self): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2594 raise NotImplementedError('int') |
21144
adae19565eea
patch 8.2.1123: Python 3 test is old style
Bram Moolenaar <Bram@vim.org>
parents:
21138
diff
changeset
|
2595 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2596 cb.append("> Output") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2597 cb.append(">> OutputSetattr") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2598 ee('del sys.stdout.softspace') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2599 number_test('sys.stdout.softspace = %s', unsigned=True) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2600 number_test('sys.stderr.softspace = %s', unsigned=True) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2601 ee('assert sys.stdout.isatty()==False') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2602 ee('assert sys.stdout.seekable()==False') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2603 ee('sys.stdout.close()') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2604 ee('sys.stdout.flush()') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2605 ee('assert sys.stderr.isatty()==False') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2606 ee('assert sys.stderr.seekable()==False') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2607 ee('sys.stderr.close()') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2608 ee('sys.stderr.flush()') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2609 ee('sys.stdout.attr = None') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2610 cb.append(">> OutputWrite") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2611 ee('assert sys.stdout.writable()==True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2612 ee('assert sys.stdout.readable()==False') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2613 ee('assert sys.stderr.writable()==True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2614 ee('assert sys.stderr.readable()==False') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2615 ee('assert sys.stdout.closed()==False') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2616 ee('assert sys.stderr.closed()==False') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2617 ee('assert sys.stdout.errors=="strict"') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2618 ee('assert sys.stderr.errors=="strict"') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2619 ee('assert sys.stdout.encoding==sys.stderr.encoding') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2620 ee('sys.stdout.write(None)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2621 cb.append(">> OutputWriteLines") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2622 ee('sys.stdout.writelines(None)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2623 ee('sys.stdout.writelines([1])') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2624 iter_test('sys.stdout.writelines(%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2625 cb.append("> VimCommand") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2626 stringtochars_test('vim.command(%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2627 ee('vim.command("", 2)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2628 #! Not checked: vim->python exceptions translating: checked later |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2629 cb.append("> VimToPython") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2630 #! Not checked: everything: needs errors in internal python functions |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2631 cb.append("> VimEval") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2632 stringtochars_test('vim.eval(%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2633 ee('vim.eval("", FailingTrue())') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2634 #! Not checked: everything: needs errors in internal python functions |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2635 cb.append("> VimEvalPy") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2636 stringtochars_test('vim.bindeval(%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2637 ee('vim.eval("", 2)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2638 #! Not checked: vim->python exceptions translating: checked later |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2639 cb.append("> VimStrwidth") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2640 stringtochars_test('vim.strwidth(%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2641 cb.append("> VimForeachRTP") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2642 ee('vim.foreach_rtp(None)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2643 ee('vim.foreach_rtp(NoArgsCall())') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2644 ee('vim.foreach_rtp(FailingCall())') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2645 ee('vim.foreach_rtp(int, 2)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2646 cb.append('> import') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2647 old_rtp = vim.options['rtp'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2648 vim.options['rtp'] = os.getcwd().replace('\\', '\\\\').replace(',', '\\,') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2649 ee('import xxx_no_such_module_xxx') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2650 ee('import failing_import') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2651 ee('import failing') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2652 vim.options['rtp'] = old_rtp |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2653 del old_rtp |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2654 cb.append("> Options") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2655 cb.append(">> OptionsItem") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2656 ee('vim.options["abcQ"]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2657 ee('vim.options[""]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2658 stringtochars_test('vim.options[%s]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2659 cb.append(">> OptionsContains") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2660 stringtochars_test('%s in vim.options') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2661 cb.append("> Dictionary") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2662 cb.append(">> DictionaryConstructor") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2663 ee('vim.Dictionary("abcI")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2664 ##! Not checked: py_dict_alloc failure |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2665 cb.append(">> DictionarySetattr") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2666 ee('del d.locked') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2667 ee('d.locked = FailingTrue()') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2668 ee('vim.vvars.locked = False') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2669 ee('d.scope = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2670 ee('d.xxx = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2671 cb.append(">> _DictionaryItem") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2672 ee('d.get("a", 2, 3)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2673 stringtochars_test('d.get(%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2674 ee('d.pop("a")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2675 ee('dl.pop("a")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2676 cb.append(">> DictionaryContains") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2677 ee('"" in d') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2678 ee('0 in d') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2679 cb.append(">> DictionaryIterNext") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2680 ee('for i in ned: ned["a"] = 1') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2681 del i |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2682 cb.append(">> DictionaryAssItem") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2683 ee('dl["b"] = 1') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2684 stringtochars_test('d[%s] = 1') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2685 convertfrompyobject_test('d["a"] = %s') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2686 cb.append(">> DictionaryUpdate") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2687 cb.append(">>> kwargs") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2688 cb.append(">>> iter") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2689 ee('d.update(FailingMapping())') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2690 ee('d.update([FailingIterNext()])') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2691 ee('d.update([FailingIterNextN(1)])') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2692 iter_test('d.update(%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2693 convertfrompyobject_test('d.update(%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2694 stringtochars_test('d.update(((%s, 0),))') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2695 convertfrompyobject_test('d.update((("a", %s),))') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2696 cb.append(">> DictionaryPopItem") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2697 ee('d.popitem(1, 2)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2698 cb.append(">> DictionaryHasKey") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2699 ee('d.has_key()') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2700 cb.append("> List") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2701 cb.append(">> ListConstructor") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2702 ee('vim.List(1, 2)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2703 ee('vim.List(a=1)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2704 iter_test('vim.List(%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2705 convertfrompyobject_test('vim.List([%s])') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2706 cb.append(">> ListItem") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2707 ee('l[1000]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2708 cb.append(">> ListAssItem") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2709 ee('ll[1] = 2') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2710 ee('l[1000] = 3') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2711 cb.append(">> ListAssSlice") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2712 ee('ll[1:100] = "abcJ"') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2713 iter_test('l[:] = %s') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2714 ee('nel[1:10:2] = "abcK"') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2715 cb.append(repr(tuple(nel))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2716 ee('nel[1:10:2] = "a"') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2717 cb.append(repr(tuple(nel))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2718 ee('nel[1:1:-1] = "a"') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2719 cb.append(repr(tuple(nel))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2720 ee('nel[:] = FailingIterNextN(2)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2721 cb.append(repr(tuple(nel))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2722 convertfrompyobject_test('l[:] = [%s]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2723 cb.append(">> ListConcatInPlace") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2724 iter_test('l.extend(%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2725 convertfrompyobject_test('l.extend([%s])') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2726 cb.append(">> ListSetattr") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2727 ee('del l.locked') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2728 ee('l.locked = FailingTrue()') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2729 ee('l.xxx = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2730 cb.append("> Function") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2731 cb.append(">> FunctionConstructor") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2732 cb.append(">>> FunctionConstructor") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2733 ee('vim.Function("123")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2734 ee('vim.Function("xxx_non_existent_function_xxx")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2735 ee('vim.Function("xxx#non#existent#function#xxx")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2736 ee('vim.Function("xxx_non_existent_function_xxx2", args=[])') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2737 ee('vim.Function("xxx_non_existent_function_xxx3", self={})') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2738 ee('vim.Function("xxx_non_existent_function_xxx4", args=[], self={})') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2739 cb.append(">>> FunctionNew") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2740 ee('vim.Function("tr", self="abcFuncSelf")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2741 ee('vim.Function("tr", args=427423)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2742 ee('vim.Function("tr", self="abcFuncSelf2", args="abcFuncArgs2")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2743 ee('vim.Function(self="abcFuncSelf2", args="abcFuncArgs2")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2744 ee('vim.Function("tr", "", self="abcFuncSelf2", args="abcFuncArgs2")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2745 ee('vim.Function("tr", "")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2746 cb.append(">> FunctionCall") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2747 convertfrompyobject_test('f(%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2748 convertfrompymapping_test('fd(self=%s)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2749 cb.append("> TabPage") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2750 cb.append(">> TabPageAttr") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2751 ee('vim.current.tabpage.xxx') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2752 cb.append("> TabList") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2753 cb.append(">> TabListItem") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2754 ee('vim.tabpages[1000]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2755 cb.append("> Window") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2756 cb.append(">> WindowAttr") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2757 ee('vim.current.window.xxx') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2758 cb.append(">> WindowSetattr") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2759 ee('vim.current.window.buffer = 0') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2760 ee('vim.current.window.cursor = (100000000, 100000000)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2761 ee('vim.current.window.cursor = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2762 number_test('vim.current.window.height = %s', unsigned=True) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2763 number_test('vim.current.window.width = %s', unsigned=True) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2764 ee('vim.current.window.xxxxxx = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2765 cb.append("> WinList") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2766 cb.append(">> WinListItem") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2767 ee('vim.windows[1000]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2768 cb.append("> Buffer") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2769 cb.append(">> StringToLine (indirect)") |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
2770 ee('vim.current.buffer[0] = "\\na"') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2771 ee('vim.current.buffer[0] = u"\\na"') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2772 cb.append(">> SetBufferLine (indirect)") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2773 ee('vim.current.buffer[0] = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2774 cb.append(">> SetBufferLineList (indirect)") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2775 ee('vim.current.buffer[:] = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2776 ee('vim.current.buffer[:] = ["\\na", "bc"]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2777 cb.append(">> InsertBufferLines (indirect)") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2778 ee('vim.current.buffer.append(None)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2779 ee('vim.current.buffer.append(["\\na", "bc"])') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2780 ee('vim.current.buffer.append("\\nbc")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2781 cb.append(">> RBItem") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2782 ee('vim.current.buffer[100000000]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2783 cb.append(">> RBAsItem") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2784 ee('vim.current.buffer[100000000] = ""') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2785 cb.append(">> BufferAttr") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2786 ee('vim.current.buffer.xxx') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2787 cb.append(">> BufferSetattr") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2788 ee('vim.current.buffer.name = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2789 ee('vim.current.buffer.xxx = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2790 cb.append(">> BufferMark") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2791 ee('vim.current.buffer.mark(0)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2792 ee('vim.current.buffer.mark("abcM")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2793 ee('vim.current.buffer.mark("!")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2794 cb.append(">> BufferRange") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2795 ee('vim.current.buffer.range(1, 2, 3)') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2796 cb.append("> BufMap") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2797 cb.append(">> BufMapItem") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2798 ee('vim.buffers[100000000]') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2799 number_test('vim.buffers[%s]', natural=True) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2800 cb.append("> Current") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2801 cb.append(">> CurrentGetattr") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2802 ee('vim.current.xxx') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2803 cb.append(">> CurrentSetattr") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2804 ee('vim.current.line = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2805 ee('vim.current.buffer = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2806 ee('vim.current.window = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2807 ee('vim.current.tabpage = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2808 ee('vim.current.xxx = True') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2809 del d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2810 del ned |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2811 del dl |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2812 del l |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2813 del ll |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2814 del nel |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2815 del f |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2816 del fd |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2817 del fdel |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2818 del subexpr_test |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2819 del stringtochars_test |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2820 del Mapping |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2821 del convertfrompyobject_test |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2822 del convertfrompymapping_test |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2823 del iter_test |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2824 del number_test |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2825 del FailingTrue |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2826 del FailingIter |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2827 del FailingIterNext |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2828 del FailingIterNextN |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2829 del FailingMapping |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2830 del FailingMappingKey |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2831 del FailingList |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2832 del NoArgsCall |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2833 del FailingCall |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2834 del FailingNumber |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2835 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2836 delfunction F |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2837 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2838 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2839 > Output |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2840 >> OutputSetattr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2841 del sys.stdout.softspace:AttributeError:('cannot delete OutputObject attributes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2842 >>> Testing NumberToLong using sys.stdout.softspace = %s |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2843 sys.stdout.softspace = []:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2844 sys.stdout.softspace = None:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2845 sys.stdout.softspace = -1:ValueError:('number must be greater or equal to zero',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2846 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2847 >>> Testing NumberToLong using sys.stderr.softspace = %s |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2848 sys.stderr.softspace = []:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2849 sys.stderr.softspace = None:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2850 sys.stderr.softspace = -1:ValueError:('number must be greater or equal to zero',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2851 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2852 assert sys.stdout.isatty()==False:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2853 assert sys.stdout.seekable()==False:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2854 sys.stdout.close():NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2855 sys.stdout.flush():NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2856 assert sys.stderr.isatty()==False:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2857 assert sys.stderr.seekable()==False:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2858 sys.stderr.close():NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2859 sys.stderr.flush():NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2860 sys.stdout.attr = None:AttributeError:('invalid attribute: attr',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2861 >> OutputWrite |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2862 assert sys.stdout.writable()==True:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2863 assert sys.stdout.readable()==False:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2864 assert sys.stderr.writable()==True:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2865 assert sys.stderr.readable()==False:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2866 assert sys.stdout.closed()==False:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2867 assert sys.stderr.closed()==False:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2868 assert sys.stdout.errors=="strict":NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2869 assert sys.stderr.errors=="strict":NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2870 assert sys.stdout.encoding==sys.stderr.encoding:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2871 sys.stdout.write(None):TypeError:('coercing to Unicode: need string or buffer, NoneType found',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2872 >> OutputWriteLines |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2873 sys.stdout.writelines(None):TypeError:("'NoneType' object is not iterable",) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2874 sys.stdout.writelines([1]):TypeError:('coercing to Unicode: need string or buffer, int found',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2875 >>> Testing *Iter* using sys.stdout.writelines(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2876 sys.stdout.writelines(FailingIter()):NotImplementedError:('iter',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2877 sys.stdout.writelines(FailingIterNext()):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2878 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2879 > VimCommand |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2880 >>> Testing StringToChars using vim.command(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2881 vim.command(1):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2882 vim.command(u"\0"):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2883 vim.command("\0"):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2884 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2885 vim.command("", 2):TypeError:('command() takes exactly one argument (2 given)',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2886 > VimToPython |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2887 > VimEval |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2888 >>> Testing StringToChars using vim.eval(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2889 vim.eval(1):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2890 vim.eval(u"\0"):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2891 vim.eval("\0"):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2892 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2893 vim.eval("", FailingTrue()):TypeError:('function takes exactly 1 argument (2 given)',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2894 > VimEvalPy |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2895 >>> Testing StringToChars using vim.bindeval(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2896 vim.bindeval(1):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2897 vim.bindeval(u"\0"):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2898 vim.bindeval("\0"):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2899 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2900 vim.eval("", 2):TypeError:('function takes exactly 1 argument (2 given)',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2901 > VimStrwidth |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2902 >>> Testing StringToChars using vim.strwidth(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2903 vim.strwidth(1):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2904 vim.strwidth(u"\0"):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2905 vim.strwidth("\0"):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2906 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2907 > VimForeachRTP |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2908 vim.foreach_rtp(None):TypeError:("'NoneType' object is not callable",) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2909 vim.foreach_rtp(NoArgsCall()):TypeError:('__call__() takes exactly 1 argument (2 given)',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2910 vim.foreach_rtp(FailingCall()):NotImplementedError:('call',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2911 vim.foreach_rtp(int, 2):TypeError:('foreach_rtp() takes exactly one argument (2 given)',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2912 > import |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2913 import xxx_no_such_module_xxx:ImportError:('No module named xxx_no_such_module_xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2914 import failing_import:ImportError:() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2915 import failing:NotImplementedError:() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2916 > Options |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2917 >> OptionsItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2918 vim.options["abcQ"]:KeyError:('abcQ',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2919 vim.options[""]:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2920 >>> Testing StringToChars using vim.options[%s] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2921 vim.options[1]:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2922 vim.options[u"\0"]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2923 vim.options["\0"]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2924 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2925 >> OptionsContains |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2926 >>> Testing StringToChars using %s in vim.options |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2927 1 in vim.options:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2928 u"\0" in vim.options:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2929 "\0" in vim.options:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2930 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2931 > Dictionary |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2932 >> DictionaryConstructor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2933 vim.Dictionary("abcI"):ValueError:('expected sequence element of size 2, but got sequence of size 1',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2934 >> DictionarySetattr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2935 del d.locked:AttributeError:('cannot delete vim.Dictionary attributes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2936 d.locked = FailingTrue():NotImplementedError:('bool',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2937 vim.vvars.locked = False:TypeError:('cannot modify fixed dictionary',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2938 d.scope = True:AttributeError:('cannot set attribute scope',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2939 d.xxx = True:AttributeError:('cannot set attribute xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2940 >> _DictionaryItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2941 d.get("a", 2, 3):TypeError:('function takes at most 2 arguments (3 given)',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2942 >>> Testing StringToChars using d.get(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2943 d.get(1):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2944 d.get(u"\0"):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2945 d.get("\0"):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2946 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2947 d.pop("a"):KeyError:('a',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2948 dl.pop("a"):error:('dictionary is locked',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2949 >> DictionaryContains |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2950 "" in d:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2951 0 in d:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2952 >> DictionaryIterNext |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2953 for i in ned: ned["a"] = 1:RuntimeError:('hashtab changed during iteration',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2954 >> DictionaryAssItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2955 dl["b"] = 1:error:('dictionary is locked',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2956 >>> Testing StringToChars using d[%s] = 1 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2957 d[1] = 1:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2958 d[u"\0"] = 1:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2959 d["\0"] = 1:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2960 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2961 >>> Testing StringToChars using d["a"] = {%s : 1} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2962 d["a"] = {1 : 1}:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2963 d["a"] = {u"\0" : 1}:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2964 d["a"] = {"\0" : 1}:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2965 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2966 >>> Testing StringToChars using d["a"] = {"abcF" : {%s : 1}} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2967 d["a"] = {"abcF" : {1 : 1}}:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2968 d["a"] = {"abcF" : {u"\0" : 1}}:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2969 d["a"] = {"abcF" : {"\0" : 1}}:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2970 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2971 >>> Testing StringToChars using d["a"] = {"abcF" : Mapping({%s : 1})} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2972 d["a"] = {"abcF" : Mapping({1 : 1})}:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2973 d["a"] = {"abcF" : Mapping({u"\0" : 1})}:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2974 d["a"] = {"abcF" : Mapping({"\0" : 1})}:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2975 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2976 >>> Testing *Iter* using d["a"] = {"abcF" : %s} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2977 d["a"] = {"abcF" : FailingIter()}:TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2978 d["a"] = {"abcF" : FailingIterNext()}:NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2979 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2980 >>> Testing ConvertFromPyObject using d["a"] = {"abcF" : %s} |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2981 d["a"] = {"abcF" : None}:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2982 d["a"] = {"abcF" : {"": 1}}:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2983 d["a"] = {"abcF" : {u"": 1}}:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2984 d["a"] = {"abcF" : FailingMapping()}:NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2985 d["a"] = {"abcF" : FailingMappingKey()}:NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2986 d["a"] = {"abcF" : FailingNumber()}:TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2987 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2988 >>> Testing StringToChars using d["a"] = Mapping({%s : 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2989 d["a"] = Mapping({1 : 1}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2990 d["a"] = Mapping({u"\0" : 1}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2991 d["a"] = Mapping({"\0" : 1}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2992 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2993 >>> Testing StringToChars using d["a"] = Mapping({"abcG" : {%s : 1}}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2994 d["a"] = Mapping({"abcG" : {1 : 1}}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2995 d["a"] = Mapping({"abcG" : {u"\0" : 1}}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2996 d["a"] = Mapping({"abcG" : {"\0" : 1}}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2997 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2998 >>> Testing StringToChars using d["a"] = Mapping({"abcG" : Mapping({%s : 1})}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
2999 d["a"] = Mapping({"abcG" : Mapping({1 : 1})}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3000 d["a"] = Mapping({"abcG" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3001 d["a"] = Mapping({"abcG" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3002 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3003 >>> Testing *Iter* using d["a"] = Mapping({"abcG" : %s}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3004 d["a"] = Mapping({"abcG" : FailingIter()}):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3005 d["a"] = Mapping({"abcG" : FailingIterNext()}):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3006 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3007 >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abcG" : %s}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3008 d["a"] = Mapping({"abcG" : None}):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3009 d["a"] = Mapping({"abcG" : {"": 1}}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3010 d["a"] = Mapping({"abcG" : {u"": 1}}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3011 d["a"] = Mapping({"abcG" : FailingMapping()}):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3012 d["a"] = Mapping({"abcG" : FailingMappingKey()}):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3013 d["a"] = Mapping({"abcG" : FailingNumber()}):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3014 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3015 >>> Testing *Iter* using d["a"] = %s |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3016 d["a"] = FailingIter():TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3017 d["a"] = FailingIterNext():NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3018 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3019 >>> Testing ConvertFromPyObject using d["a"] = %s |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3020 d["a"] = None:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3021 d["a"] = {"": 1}:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3022 d["a"] = {u"": 1}:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3023 d["a"] = FailingMapping():NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3024 d["a"] = FailingMappingKey():NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3025 d["a"] = FailingNumber():TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3026 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3027 >> DictionaryUpdate |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3028 >>> kwargs |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3029 >>> iter |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3030 d.update(FailingMapping()):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3031 d.update([FailingIterNext()]):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3032 d.update([FailingIterNextN(1)]):NotImplementedError:('next N',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3033 >>> Testing *Iter* using d.update(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3034 d.update(FailingIter()):NotImplementedError:('iter',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3035 d.update(FailingIterNext()):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3036 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3037 >>> Testing StringToChars using d.update({%s : 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3038 d.update({1 : 1}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3039 d.update({u"\0" : 1}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3040 d.update({"\0" : 1}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3041 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3042 >>> Testing StringToChars using d.update({"abcF" : {%s : 1}}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3043 d.update({"abcF" : {1 : 1}}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3044 d.update({"abcF" : {u"\0" : 1}}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3045 d.update({"abcF" : {"\0" : 1}}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3046 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3047 >>> Testing StringToChars using d.update({"abcF" : Mapping({%s : 1})}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3048 d.update({"abcF" : Mapping({1 : 1})}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3049 d.update({"abcF" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3050 d.update({"abcF" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3051 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3052 >>> Testing *Iter* using d.update({"abcF" : %s}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3053 d.update({"abcF" : FailingIter()}):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3054 d.update({"abcF" : FailingIterNext()}):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3055 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3056 >>> Testing ConvertFromPyObject using d.update({"abcF" : %s}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3057 d.update({"abcF" : None}):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3058 d.update({"abcF" : {"": 1}}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3059 d.update({"abcF" : {u"": 1}}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3060 d.update({"abcF" : FailingMapping()}):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3061 d.update({"abcF" : FailingMappingKey()}):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3062 d.update({"abcF" : FailingNumber()}):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3063 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3064 >>> Testing StringToChars using d.update(Mapping({%s : 1})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3065 d.update(Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3066 d.update(Mapping({u"\0" : 1})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3067 d.update(Mapping({"\0" : 1})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3068 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3069 >>> Testing StringToChars using d.update(Mapping({"abcG" : {%s : 1}})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3070 d.update(Mapping({"abcG" : {1 : 1}})):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3071 d.update(Mapping({"abcG" : {u"\0" : 1}})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3072 d.update(Mapping({"abcG" : {"\0" : 1}})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3073 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3074 >>> Testing StringToChars using d.update(Mapping({"abcG" : Mapping({%s : 1})})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3075 d.update(Mapping({"abcG" : Mapping({1 : 1})})):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3076 d.update(Mapping({"abcG" : Mapping({u"\0" : 1})})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3077 d.update(Mapping({"abcG" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3078 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3079 >>> Testing *Iter* using d.update(Mapping({"abcG" : %s})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3080 d.update(Mapping({"abcG" : FailingIter()})):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3081 d.update(Mapping({"abcG" : FailingIterNext()})):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3082 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3083 >>> Testing ConvertFromPyObject using d.update(Mapping({"abcG" : %s})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3084 d.update(Mapping({"abcG" : None})):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3085 d.update(Mapping({"abcG" : {"": 1}})):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3086 d.update(Mapping({"abcG" : {u"": 1}})):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3087 d.update(Mapping({"abcG" : FailingMapping()})):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3088 d.update(Mapping({"abcG" : FailingMappingKey()})):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3089 d.update(Mapping({"abcG" : FailingNumber()})):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3090 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3091 >>> Testing *Iter* using d.update(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3092 d.update(FailingIter()):NotImplementedError:('iter',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3093 d.update(FailingIterNext()):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3094 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3095 >>> Testing ConvertFromPyObject using d.update(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3096 d.update(None):TypeError:("'NoneType' object is not iterable",) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3097 d.update({"": 1}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3098 d.update({u"": 1}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3099 d.update(FailingMapping()):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3100 d.update(FailingMappingKey()):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3101 d.update(FailingNumber()):TypeError:("'FailingNumber' object is not iterable",) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3102 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3103 >>> Testing StringToChars using d.update(((%s, 0),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3104 d.update(((1, 0),)):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3105 d.update(((u"\0", 0),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3106 d.update((("\0", 0),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3107 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3108 >>> Testing StringToChars using d.update((("a", {%s : 1}),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3109 d.update((("a", {1 : 1}),)):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3110 d.update((("a", {u"\0" : 1}),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3111 d.update((("a", {"\0" : 1}),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3112 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3113 >>> Testing StringToChars using d.update((("a", {"abcF" : {%s : 1}}),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3114 d.update((("a", {"abcF" : {1 : 1}}),)):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3115 d.update((("a", {"abcF" : {u"\0" : 1}}),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3116 d.update((("a", {"abcF" : {"\0" : 1}}),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3117 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3118 >>> Testing StringToChars using d.update((("a", {"abcF" : Mapping({%s : 1})}),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3119 d.update((("a", {"abcF" : Mapping({1 : 1})}),)):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3120 d.update((("a", {"abcF" : Mapping({u"\0" : 1})}),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3121 d.update((("a", {"abcF" : Mapping({"\0" : 1})}),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3122 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3123 >>> Testing *Iter* using d.update((("a", {"abcF" : %s}),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3124 d.update((("a", {"abcF" : FailingIter()}),)):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3125 d.update((("a", {"abcF" : FailingIterNext()}),)):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3126 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3127 >>> Testing ConvertFromPyObject using d.update((("a", {"abcF" : %s}),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3128 d.update((("a", {"abcF" : None}),)):error:("failed to add key 'a' to dictionary",) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3129 d.update((("a", {"abcF" : {"": 1}}),)):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3130 d.update((("a", {"abcF" : {u"": 1}}),)):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3131 d.update((("a", {"abcF" : FailingMapping()}),)):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3132 d.update((("a", {"abcF" : FailingMappingKey()}),)):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3133 d.update((("a", {"abcF" : FailingNumber()}),)):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3134 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3135 >>> Testing StringToChars using d.update((("a", Mapping({%s : 1})),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3136 d.update((("a", Mapping({1 : 1})),)):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3137 d.update((("a", Mapping({u"\0" : 1})),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3138 d.update((("a", Mapping({"\0" : 1})),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3139 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3140 >>> Testing StringToChars using d.update((("a", Mapping({"abcG" : {%s : 1}})),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3141 d.update((("a", Mapping({"abcG" : {1 : 1}})),)):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3142 d.update((("a", Mapping({"abcG" : {u"\0" : 1}})),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3143 d.update((("a", Mapping({"abcG" : {"\0" : 1}})),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3144 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3145 >>> Testing StringToChars using d.update((("a", Mapping({"abcG" : Mapping({%s : 1})})),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3146 d.update((("a", Mapping({"abcG" : Mapping({1 : 1})})),)):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3147 d.update((("a", Mapping({"abcG" : Mapping({u"\0" : 1})})),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3148 d.update((("a", Mapping({"abcG" : Mapping({"\0" : 1})})),)):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3149 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3150 >>> Testing *Iter* using d.update((("a", Mapping({"abcG" : %s})),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3151 d.update((("a", Mapping({"abcG" : FailingIter()})),)):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3152 d.update((("a", Mapping({"abcG" : FailingIterNext()})),)):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3153 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3154 >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abcG" : %s})),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3155 d.update((("a", Mapping({"abcG" : None})),)):error:("failed to add key 'a' to dictionary",) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3156 d.update((("a", Mapping({"abcG" : {"": 1}})),)):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3157 d.update((("a", Mapping({"abcG" : {u"": 1}})),)):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3158 d.update((("a", Mapping({"abcG" : FailingMapping()})),)):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3159 d.update((("a", Mapping({"abcG" : FailingMappingKey()})),)):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3160 d.update((("a", Mapping({"abcG" : FailingNumber()})),)):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3161 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3162 >>> Testing *Iter* using d.update((("a", %s),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3163 d.update((("a", FailingIter()),)):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3164 d.update((("a", FailingIterNext()),)):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3165 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3166 >>> Testing ConvertFromPyObject using d.update((("a", %s),)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3167 d.update((("a", None),)):error:("failed to add key 'a' to dictionary",) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3168 d.update((("a", {"": 1}),)):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3169 d.update((("a", {u"": 1}),)):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3170 d.update((("a", FailingMapping()),)):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3171 d.update((("a", FailingMappingKey()),)):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3172 d.update((("a", FailingNumber()),)):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3173 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3174 >> DictionaryPopItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3175 d.popitem(1, 2):TypeError:('popitem() takes no arguments (2 given)',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3176 >> DictionaryHasKey |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3177 d.has_key():TypeError:('has_key() takes exactly one argument (0 given)',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3178 > List |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3179 >> ListConstructor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3180 vim.List(1, 2):TypeError:('function takes at most 1 argument (2 given)',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3181 vim.List(a=1):TypeError:('list constructor does not accept keyword arguments',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3182 >>> Testing *Iter* using vim.List(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3183 vim.List(FailingIter()):NotImplementedError:('iter',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3184 vim.List(FailingIterNext()):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3185 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3186 >>> Testing StringToChars using vim.List([{%s : 1}]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3187 vim.List([{1 : 1}]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3188 vim.List([{u"\0" : 1}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3189 vim.List([{"\0" : 1}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3190 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3191 >>> Testing StringToChars using vim.List([{"abcF" : {%s : 1}}]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3192 vim.List([{"abcF" : {1 : 1}}]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3193 vim.List([{"abcF" : {u"\0" : 1}}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3194 vim.List([{"abcF" : {"\0" : 1}}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3195 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3196 >>> Testing StringToChars using vim.List([{"abcF" : Mapping({%s : 1})}]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3197 vim.List([{"abcF" : Mapping({1 : 1})}]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3198 vim.List([{"abcF" : Mapping({u"\0" : 1})}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3199 vim.List([{"abcF" : Mapping({"\0" : 1})}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3200 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3201 >>> Testing *Iter* using vim.List([{"abcF" : %s}]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3202 vim.List([{"abcF" : FailingIter()}]):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3203 vim.List([{"abcF" : FailingIterNext()}]):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3204 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3205 >>> Testing ConvertFromPyObject using vim.List([{"abcF" : %s}]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3206 vim.List([{"abcF" : None}]):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3207 vim.List([{"abcF" : {"": 1}}]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3208 vim.List([{"abcF" : {u"": 1}}]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3209 vim.List([{"abcF" : FailingMapping()}]):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3210 vim.List([{"abcF" : FailingMappingKey()}]):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3211 vim.List([{"abcF" : FailingNumber()}]):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3212 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3213 >>> Testing StringToChars using vim.List([Mapping({%s : 1})]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3214 vim.List([Mapping({1 : 1})]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3215 vim.List([Mapping({u"\0" : 1})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3216 vim.List([Mapping({"\0" : 1})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3217 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3218 >>> Testing StringToChars using vim.List([Mapping({"abcG" : {%s : 1}})]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3219 vim.List([Mapping({"abcG" : {1 : 1}})]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3220 vim.List([Mapping({"abcG" : {u"\0" : 1}})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3221 vim.List([Mapping({"abcG" : {"\0" : 1}})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3222 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3223 >>> Testing StringToChars using vim.List([Mapping({"abcG" : Mapping({%s : 1})})]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3224 vim.List([Mapping({"abcG" : Mapping({1 : 1})})]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3225 vim.List([Mapping({"abcG" : Mapping({u"\0" : 1})})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3226 vim.List([Mapping({"abcG" : Mapping({"\0" : 1})})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3227 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3228 >>> Testing *Iter* using vim.List([Mapping({"abcG" : %s})]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3229 vim.List([Mapping({"abcG" : FailingIter()})]):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3230 vim.List([Mapping({"abcG" : FailingIterNext()})]):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3231 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3232 >>> Testing ConvertFromPyObject using vim.List([Mapping({"abcG" : %s})]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3233 vim.List([Mapping({"abcG" : None})]):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3234 vim.List([Mapping({"abcG" : {"": 1}})]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3235 vim.List([Mapping({"abcG" : {u"": 1}})]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3236 vim.List([Mapping({"abcG" : FailingMapping()})]):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3237 vim.List([Mapping({"abcG" : FailingMappingKey()})]):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3238 vim.List([Mapping({"abcG" : FailingNumber()})]):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3239 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3240 >>> Testing *Iter* using vim.List([%s]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3241 vim.List([FailingIter()]):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3242 vim.List([FailingIterNext()]):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3243 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3244 >>> Testing ConvertFromPyObject using vim.List([%s]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3245 vim.List([None]):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3246 vim.List([{"": 1}]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3247 vim.List([{u"": 1}]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3248 vim.List([FailingMapping()]):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3249 vim.List([FailingMappingKey()]):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3250 vim.List([FailingNumber()]):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3251 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3252 >> ListItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3253 l[1000]:IndexError:('list index out of range',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3254 >> ListAssItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3255 ll[1] = 2:error:('list is locked',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3256 l[1000] = 3:IndexError:('list index out of range',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3257 >> ListAssSlice |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3258 ll[1:100] = "abcJ":error:('list is locked',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3259 >>> Testing *Iter* using l[:] = %s |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3260 l[:] = FailingIter():NotImplementedError:('iter',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3261 l[:] = FailingIterNext():NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3262 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3263 nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater than 2 to extended slice',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3264 ('a', 'b', 'c', 'O') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3265 nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3266 ('a', 'b', 'c', 'O') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3267 nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater than 0 to extended slice',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3268 ('a', 'b', 'c', 'O') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3269 nel[:] = FailingIterNextN(2):NotImplementedError:('next N',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3270 ('a', 'b', 'c', 'O') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3271 >>> Testing StringToChars using l[:] = [{%s : 1}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3272 l[:] = [{1 : 1}]:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3273 l[:] = [{u"\0" : 1}]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3274 l[:] = [{"\0" : 1}]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3275 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3276 >>> Testing StringToChars using l[:] = [{"abcF" : {%s : 1}}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3277 l[:] = [{"abcF" : {1 : 1}}]:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3278 l[:] = [{"abcF" : {u"\0" : 1}}]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3279 l[:] = [{"abcF" : {"\0" : 1}}]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3280 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3281 >>> Testing StringToChars using l[:] = [{"abcF" : Mapping({%s : 1})}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3282 l[:] = [{"abcF" : Mapping({1 : 1})}]:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3283 l[:] = [{"abcF" : Mapping({u"\0" : 1})}]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3284 l[:] = [{"abcF" : Mapping({"\0" : 1})}]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3285 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3286 >>> Testing *Iter* using l[:] = [{"abcF" : %s}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3287 l[:] = [{"abcF" : FailingIter()}]:TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3288 l[:] = [{"abcF" : FailingIterNext()}]:NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3289 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3290 >>> Testing ConvertFromPyObject using l[:] = [{"abcF" : %s}] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3291 l[:] = [{"abcF" : None}]:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3292 l[:] = [{"abcF" : {"": 1}}]:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3293 l[:] = [{"abcF" : {u"": 1}}]:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3294 l[:] = [{"abcF" : FailingMapping()}]:NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3295 l[:] = [{"abcF" : FailingMappingKey()}]:NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3296 l[:] = [{"abcF" : FailingNumber()}]:TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3297 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3298 >>> Testing StringToChars using l[:] = [Mapping({%s : 1})] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3299 l[:] = [Mapping({1 : 1})]:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3300 l[:] = [Mapping({u"\0" : 1})]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3301 l[:] = [Mapping({"\0" : 1})]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3302 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3303 >>> Testing StringToChars using l[:] = [Mapping({"abcG" : {%s : 1}})] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3304 l[:] = [Mapping({"abcG" : {1 : 1}})]:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3305 l[:] = [Mapping({"abcG" : {u"\0" : 1}})]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3306 l[:] = [Mapping({"abcG" : {"\0" : 1}})]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3307 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3308 >>> Testing StringToChars using l[:] = [Mapping({"abcG" : Mapping({%s : 1})})] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3309 l[:] = [Mapping({"abcG" : Mapping({1 : 1})})]:TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3310 l[:] = [Mapping({"abcG" : Mapping({u"\0" : 1})})]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3311 l[:] = [Mapping({"abcG" : Mapping({"\0" : 1})})]:TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3312 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3313 >>> Testing *Iter* using l[:] = [Mapping({"abcG" : %s})] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3314 l[:] = [Mapping({"abcG" : FailingIter()})]:TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3315 l[:] = [Mapping({"abcG" : FailingIterNext()})]:NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3316 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3317 >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abcG" : %s})] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3318 l[:] = [Mapping({"abcG" : None})]:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3319 l[:] = [Mapping({"abcG" : {"": 1}})]:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3320 l[:] = [Mapping({"abcG" : {u"": 1}})]:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3321 l[:] = [Mapping({"abcG" : FailingMapping()})]:NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3322 l[:] = [Mapping({"abcG" : FailingMappingKey()})]:NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3323 l[:] = [Mapping({"abcG" : FailingNumber()})]:TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3324 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3325 >>> Testing *Iter* using l[:] = [%s] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3326 l[:] = [FailingIter()]:TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3327 l[:] = [FailingIterNext()]:NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3328 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3329 >>> Testing ConvertFromPyObject using l[:] = [%s] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3330 l[:] = [None]:NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3331 l[:] = [{"": 1}]:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3332 l[:] = [{u"": 1}]:ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3333 l[:] = [FailingMapping()]:NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3334 l[:] = [FailingMappingKey()]:NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3335 l[:] = [FailingNumber()]:TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3336 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3337 >> ListConcatInPlace |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3338 >>> Testing *Iter* using l.extend(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3339 l.extend(FailingIter()):NotImplementedError:('iter',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3340 l.extend(FailingIterNext()):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3341 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3342 >>> Testing StringToChars using l.extend([{%s : 1}]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3343 l.extend([{1 : 1}]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3344 l.extend([{u"\0" : 1}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3345 l.extend([{"\0" : 1}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3346 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3347 >>> Testing StringToChars using l.extend([{"abcF" : {%s : 1}}]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3348 l.extend([{"abcF" : {1 : 1}}]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3349 l.extend([{"abcF" : {u"\0" : 1}}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3350 l.extend([{"abcF" : {"\0" : 1}}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3351 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3352 >>> Testing StringToChars using l.extend([{"abcF" : Mapping({%s : 1})}]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3353 l.extend([{"abcF" : Mapping({1 : 1})}]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3354 l.extend([{"abcF" : Mapping({u"\0" : 1})}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3355 l.extend([{"abcF" : Mapping({"\0" : 1})}]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3356 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3357 >>> Testing *Iter* using l.extend([{"abcF" : %s}]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3358 l.extend([{"abcF" : FailingIter()}]):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3359 l.extend([{"abcF" : FailingIterNext()}]):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3360 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3361 >>> Testing ConvertFromPyObject using l.extend([{"abcF" : %s}]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3362 l.extend([{"abcF" : None}]):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3363 l.extend([{"abcF" : {"": 1}}]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3364 l.extend([{"abcF" : {u"": 1}}]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3365 l.extend([{"abcF" : FailingMapping()}]):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3366 l.extend([{"abcF" : FailingMappingKey()}]):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3367 l.extend([{"abcF" : FailingNumber()}]):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3368 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3369 >>> Testing StringToChars using l.extend([Mapping({%s : 1})]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3370 l.extend([Mapping({1 : 1})]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3371 l.extend([Mapping({u"\0" : 1})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3372 l.extend([Mapping({"\0" : 1})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3373 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3374 >>> Testing StringToChars using l.extend([Mapping({"abcG" : {%s : 1}})]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3375 l.extend([Mapping({"abcG" : {1 : 1}})]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3376 l.extend([Mapping({"abcG" : {u"\0" : 1}})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3377 l.extend([Mapping({"abcG" : {"\0" : 1}})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3378 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3379 >>> Testing StringToChars using l.extend([Mapping({"abcG" : Mapping({%s : 1})})]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3380 l.extend([Mapping({"abcG" : Mapping({1 : 1})})]):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3381 l.extend([Mapping({"abcG" : Mapping({u"\0" : 1})})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3382 l.extend([Mapping({"abcG" : Mapping({"\0" : 1})})]):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3383 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3384 >>> Testing *Iter* using l.extend([Mapping({"abcG" : %s})]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3385 l.extend([Mapping({"abcG" : FailingIter()})]):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3386 l.extend([Mapping({"abcG" : FailingIterNext()})]):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3387 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3388 >>> Testing ConvertFromPyObject using l.extend([Mapping({"abcG" : %s})]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3389 l.extend([Mapping({"abcG" : None})]):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3390 l.extend([Mapping({"abcG" : {"": 1}})]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3391 l.extend([Mapping({"abcG" : {u"": 1}})]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3392 l.extend([Mapping({"abcG" : FailingMapping()})]):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3393 l.extend([Mapping({"abcG" : FailingMappingKey()})]):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3394 l.extend([Mapping({"abcG" : FailingNumber()})]):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3395 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3396 >>> Testing *Iter* using l.extend([%s]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3397 l.extend([FailingIter()]):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3398 l.extend([FailingIterNext()]):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3399 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3400 >>> Testing ConvertFromPyObject using l.extend([%s]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3401 l.extend([None]):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3402 l.extend([{"": 1}]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3403 l.extend([{u"": 1}]):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3404 l.extend([FailingMapping()]):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3405 l.extend([FailingMappingKey()]):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3406 l.extend([FailingNumber()]):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3407 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3408 >> ListSetattr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3409 del l.locked:AttributeError:('cannot delete vim.List attributes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3410 l.locked = FailingTrue():NotImplementedError:('bool',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3411 l.xxx = True:AttributeError:('cannot set attribute xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3412 > Function |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3413 >> FunctionConstructor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3414 >>> FunctionConstructor |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3415 vim.Function("123"):ValueError:('unnamed function 123 does not exist',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3416 vim.Function("xxx_non_existent_function_xxx"):ValueError:('function xxx_non_existent_function_xxx does not exist',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3417 vim.Function("xxx#non#existent#function#xxx"):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3418 vim.Function("xxx_non_existent_function_xxx2", args=[]):ValueError:('function xxx_non_existent_function_xxx2 does not exist',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3419 vim.Function("xxx_non_existent_function_xxx3", self={}):ValueError:('function xxx_non_existent_function_xxx3 does not exist',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3420 vim.Function("xxx_non_existent_function_xxx4", args=[], self={}):ValueError:('function xxx_non_existent_function_xxx4 does not exist',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3421 >>> FunctionNew |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3422 vim.Function("tr", self="abcFuncSelf"):TypeError:('unable to convert str to a Vim dictionary',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3423 vim.Function("tr", args=427423):TypeError:('unable to convert int to a Vim list',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3424 vim.Function("tr", self="abcFuncSelf2", args="abcFuncArgs2"):TypeError:('unable to convert str to a Vim dictionary',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3425 vim.Function(self="abcFuncSelf2", args="abcFuncArgs2"):TypeError:('unable to convert str to a Vim dictionary',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3426 vim.Function("tr", "", self="abcFuncSelf2", args="abcFuncArgs2"):TypeError:('unable to convert str to a Vim dictionary',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3427 vim.Function("tr", ""):TypeError:('function takes exactly 1 argument (2 given)',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3428 >> FunctionCall |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3429 >>> Testing StringToChars using f({%s : 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3430 f({1 : 1}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3431 f({u"\0" : 1}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3432 f({"\0" : 1}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3433 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3434 >>> Testing StringToChars using f({"abcF" : {%s : 1}}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3435 f({"abcF" : {1 : 1}}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3436 f({"abcF" : {u"\0" : 1}}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3437 f({"abcF" : {"\0" : 1}}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3438 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3439 >>> Testing StringToChars using f({"abcF" : Mapping({%s : 1})}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3440 f({"abcF" : Mapping({1 : 1})}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3441 f({"abcF" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3442 f({"abcF" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3443 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3444 >>> Testing *Iter* using f({"abcF" : %s}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3445 f({"abcF" : FailingIter()}):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3446 f({"abcF" : FailingIterNext()}):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3447 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3448 >>> Testing ConvertFromPyObject using f({"abcF" : %s}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3449 f({"abcF" : None}):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3450 f({"abcF" : {"": 1}}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3451 f({"abcF" : {u"": 1}}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3452 f({"abcF" : FailingMapping()}):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3453 f({"abcF" : FailingMappingKey()}):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3454 f({"abcF" : FailingNumber()}):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3455 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3456 >>> Testing StringToChars using f(Mapping({%s : 1})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3457 f(Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3458 f(Mapping({u"\0" : 1})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3459 f(Mapping({"\0" : 1})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3460 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3461 >>> Testing StringToChars using f(Mapping({"abcG" : {%s : 1}})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3462 f(Mapping({"abcG" : {1 : 1}})):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3463 f(Mapping({"abcG" : {u"\0" : 1}})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3464 f(Mapping({"abcG" : {"\0" : 1}})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3465 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3466 >>> Testing StringToChars using f(Mapping({"abcG" : Mapping({%s : 1})})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3467 f(Mapping({"abcG" : Mapping({1 : 1})})):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3468 f(Mapping({"abcG" : Mapping({u"\0" : 1})})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3469 f(Mapping({"abcG" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3470 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3471 >>> Testing *Iter* using f(Mapping({"abcG" : %s})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3472 f(Mapping({"abcG" : FailingIter()})):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3473 f(Mapping({"abcG" : FailingIterNext()})):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3474 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3475 >>> Testing ConvertFromPyObject using f(Mapping({"abcG" : %s})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3476 f(Mapping({"abcG" : None})):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3477 f(Mapping({"abcG" : {"": 1}})):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3478 f(Mapping({"abcG" : {u"": 1}})):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3479 f(Mapping({"abcG" : FailingMapping()})):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3480 f(Mapping({"abcG" : FailingMappingKey()})):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3481 f(Mapping({"abcG" : FailingNumber()})):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3482 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3483 >>> Testing *Iter* using f(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3484 f(FailingIter()):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3485 f(FailingIterNext()):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3486 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3487 >>> Testing ConvertFromPyObject using f(%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3488 f(None):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3489 f({"": 1}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3490 f({u"": 1}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3491 f(FailingMapping()):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3492 f(FailingMappingKey()):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3493 f(FailingNumber()):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3494 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3495 >>> Testing StringToChars using fd(self={%s : 1}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3496 fd(self={1 : 1}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3497 fd(self={u"\0" : 1}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3498 fd(self={"\0" : 1}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3499 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3500 >>> Testing StringToChars using fd(self={"abcF" : {%s : 1}}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3501 fd(self={"abcF" : {1 : 1}}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3502 fd(self={"abcF" : {u"\0" : 1}}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3503 fd(self={"abcF" : {"\0" : 1}}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3504 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3505 >>> Testing StringToChars using fd(self={"abcF" : Mapping({%s : 1})}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3506 fd(self={"abcF" : Mapping({1 : 1})}):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3507 fd(self={"abcF" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3508 fd(self={"abcF" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3509 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3510 >>> Testing *Iter* using fd(self={"abcF" : %s}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3511 fd(self={"abcF" : FailingIter()}):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3512 fd(self={"abcF" : FailingIterNext()}):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3513 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3514 >>> Testing ConvertFromPyObject using fd(self={"abcF" : %s}) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3515 fd(self={"abcF" : None}):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3516 fd(self={"abcF" : {"": 1}}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3517 fd(self={"abcF" : {u"": 1}}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3518 fd(self={"abcF" : FailingMapping()}):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3519 fd(self={"abcF" : FailingMappingKey()}):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3520 fd(self={"abcF" : FailingNumber()}):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3521 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3522 >>> Testing StringToChars using fd(self=Mapping({%s : 1})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3523 fd(self=Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3524 fd(self=Mapping({u"\0" : 1})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3525 fd(self=Mapping({"\0" : 1})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3526 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3527 >>> Testing StringToChars using fd(self=Mapping({"abcG" : {%s : 1}})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3528 fd(self=Mapping({"abcG" : {1 : 1}})):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3529 fd(self=Mapping({"abcG" : {u"\0" : 1}})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3530 fd(self=Mapping({"abcG" : {"\0" : 1}})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3531 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3532 >>> Testing StringToChars using fd(self=Mapping({"abcG" : Mapping({%s : 1})})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3533 fd(self=Mapping({"abcG" : Mapping({1 : 1})})):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3534 fd(self=Mapping({"abcG" : Mapping({u"\0" : 1})})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3535 fd(self=Mapping({"abcG" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3536 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3537 >>> Testing *Iter* using fd(self=Mapping({"abcG" : %s})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3538 fd(self=Mapping({"abcG" : FailingIter()})):TypeError:('unable to convert FailingIter to a Vim structure',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3539 fd(self=Mapping({"abcG" : FailingIterNext()})):NotImplementedError:('next',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3540 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3541 >>> Testing ConvertFromPyObject using fd(self=Mapping({"abcG" : %s})) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3542 fd(self=Mapping({"abcG" : None})):NOT FAILED |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3543 fd(self=Mapping({"abcG" : {"": 1}})):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3544 fd(self=Mapping({"abcG" : {u"": 1}})):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3545 fd(self=Mapping({"abcG" : FailingMapping()})):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3546 fd(self=Mapping({"abcG" : FailingMappingKey()})):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3547 fd(self=Mapping({"abcG" : FailingNumber()})):TypeError:('long() argument must be a string or a number',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3548 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3549 >>> Testing *Iter* using fd(self=%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3550 fd(self=FailingIter()):TypeError:('unable to convert FailingIter to a Vim dictionary',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3551 fd(self=FailingIterNext()):TypeError:('unable to convert FailingIterNext to a Vim dictionary',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3552 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3553 >>> Testing ConvertFromPyObject using fd(self=%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3554 fd(self=None):TypeError:('unable to convert NoneType to a Vim dictionary',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3555 fd(self={"": 1}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3556 fd(self={u"": 1}):ValueError:('empty keys are not allowed',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3557 fd(self=FailingMapping()):NotImplementedError:('keys',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3558 fd(self=FailingMappingKey()):NotImplementedError:('getitem:mappingkey',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3559 fd(self=FailingNumber()):TypeError:('unable to convert FailingNumber to a Vim dictionary',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3560 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3561 >>> Testing ConvertFromPyMapping using fd(self=%s) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3562 fd(self=[]):TypeError:('unable to convert list to a Vim dictionary',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3563 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3564 > TabPage |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3565 >> TabPageAttr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3566 vim.current.tabpage.xxx:AttributeError:('xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3567 > TabList |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3568 >> TabListItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3569 vim.tabpages[1000]:IndexError:('no such tab page',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3570 > Window |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3571 >> WindowAttr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3572 vim.current.window.xxx:AttributeError:('xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3573 >> WindowSetattr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3574 vim.current.window.buffer = 0:TypeError:('readonly attribute: buffer',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3575 vim.current.window.cursor = (100000000, 100000000):error:('cursor position outside buffer',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3576 vim.current.window.cursor = True:TypeError:('argument must be 2-item sequence, not bool',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3577 >>> Testing NumberToLong using vim.current.window.height = %s |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3578 vim.current.window.height = []:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3579 vim.current.window.height = None:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3580 vim.current.window.height = -1:ValueError:('number must be greater or equal to zero',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3581 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3582 >>> Testing NumberToLong using vim.current.window.width = %s |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3583 vim.current.window.width = []:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3584 vim.current.window.width = None:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3585 vim.current.window.width = -1:ValueError:('number must be greater or equal to zero',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3586 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3587 vim.current.window.xxxxxx = True:AttributeError:('xxxxxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3588 > WinList |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3589 >> WinListItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3590 vim.windows[1000]:IndexError:('no such window',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3591 > Buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3592 >> StringToLine (indirect) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
3593 vim.current.buffer[0] = "\na":error:('string cannot contain newlines',) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3594 vim.current.buffer[0] = u"\na":error:('string cannot contain newlines',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3595 >> SetBufferLine (indirect) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3596 vim.current.buffer[0] = True:TypeError:('bad argument type for built-in operation',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3597 >> SetBufferLineList (indirect) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3598 vim.current.buffer[:] = True:TypeError:('bad argument type for built-in operation',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3599 vim.current.buffer[:] = ["\na", "bc"]:error:('string cannot contain newlines',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3600 >> InsertBufferLines (indirect) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3601 vim.current.buffer.append(None):TypeError:('bad argument type for built-in operation',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3602 vim.current.buffer.append(["\na", "bc"]):error:('string cannot contain newlines',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3603 vim.current.buffer.append("\nbc"):error:('string cannot contain newlines',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3604 >> RBItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3605 vim.current.buffer[100000000]:IndexError:('line number out of range',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3606 >> RBAsItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3607 vim.current.buffer[100000000] = "":IndexError:('line number out of range',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3608 >> BufferAttr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3609 vim.current.buffer.xxx:AttributeError:('xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3610 >> BufferSetattr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3611 vim.current.buffer.name = True:TypeError:('expected str() or unicode() instance, but got bool',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3612 vim.current.buffer.xxx = True:AttributeError:('xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3613 >> BufferMark |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3614 vim.current.buffer.mark(0):TypeError:('expected str() or unicode() instance, but got int',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3615 vim.current.buffer.mark("abcM"):ValueError:('mark name must be a single character',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3616 vim.current.buffer.mark("!"):error:('invalid mark name',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3617 >> BufferRange |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3618 vim.current.buffer.range(1, 2, 3):TypeError:('function takes exactly 2 arguments (3 given)',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3619 > BufMap |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3620 >> BufMapItem |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3621 vim.buffers[100000000]:KeyError:(100000000,) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3622 >>> Testing NumberToLong using vim.buffers[%s] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3623 vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3624 vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3625 vim.buffers[-1]:ValueError:('number must be greater than zero',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3626 vim.buffers[0]:ValueError:('number must be greater than zero',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3627 <<< Finished |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3628 > Current |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3629 >> CurrentGetattr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3630 vim.current.xxx:AttributeError:('xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3631 >> CurrentSetattr |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3632 vim.current.line = True:TypeError:('bad argument type for built-in operation',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3633 vim.current.buffer = True:TypeError:('expected vim.Buffer object, but got bool',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3634 vim.current.window = True:TypeError:('expected vim.Window object, but got bool',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3635 vim.current.tabpage = True:TypeError:('expected vim.TabPage object, but got bool',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3636 vim.current.xxx = True:AttributeError:('xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3637 END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3638 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3639 call assert_equal(expected, getline(2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3640 close! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3641 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3642 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3643 " Test import |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3644 func Test_python_import() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3645 new |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3646 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3647 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3648 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3649 sys.path.insert(0, os.path.join(os.getcwd(), 'python_before')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3650 sys.path.append(os.path.join(os.getcwd(), 'python_after')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3651 vim.options['rtp'] = os.getcwd().replace(',', '\\,').replace('\\', '\\\\') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3652 l = [] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3653 def callback(path): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3654 l.append(path[-len('/testdir'):].replace(os.path.sep, '/')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3655 vim.foreach_rtp(callback) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3656 cb.append(repr(l)) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3657 del l |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3658 def callback(path): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3659 return path[-len('/testdir'):].replace(os.path.sep, '/') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3660 cb.append(repr(vim.foreach_rtp(callback))) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3661 del callback |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3662 from module import dir as d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3663 from modulex import ddir |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3664 cb.append(d + ',' + ddir) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3665 import before |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3666 cb.append(before.dir) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3667 import after |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3668 cb.append(after.dir) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3669 import topmodule as tm |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3670 import topmodule.submodule as tms |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3671 import topmodule.submodule.subsubmodule.subsubsubmodule as tmsss |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3672 cb.append(tm.__file__.replace('.pyc', '.py').replace(os.path.sep, '/')[-len('modulex/topmodule/__init__.py'):]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3673 cb.append(tms.__file__.replace('.pyc', '.py').replace(os.path.sep, '/')[-len('modulex/topmodule/submodule/__init__.py'):]) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3674 cb.append(tmsss.__file__.replace('.pyc', '.py').replace(os.path.sep, '/')[-len('modulex/topmodule/submodule/subsubmodule/subsubsubmodule.py'):]) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
3675 |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3676 del before |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3677 del after |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3678 del d |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3679 del ddir |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3680 del tm |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3681 del tms |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3682 del tmsss |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3683 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3684 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3685 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3686 ['/testdir'] |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3687 '/testdir' |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3688 2,xx |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3689 before |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3690 after |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3691 pythonx/topmodule/__init__.py |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3692 pythonx/topmodule/submodule/__init__.py |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3693 pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3694 END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3695 call assert_equal(expected, getline(2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3696 close! |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
3697 |
23229
b545334ae654
patch 8.2.2160: various typos
Bram Moolenaar <Bram@vim.org>
parents:
22806
diff
changeset
|
3698 " Try to import a non-existing module with a dot (.) |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
3699 call AssertException(['py import a.b.c'], 'ImportError:') |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3700 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3701 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3702 " Test exceptions |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3703 func Test_python_exception() |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
3704 func Exe(e) |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3705 execute a:e |
21190
10eb6c38938c
patch 8.2.1146: not enough testing for Python
Bram Moolenaar <Bram@vim.org>
parents:
21144
diff
changeset
|
3706 endfunc |
21138
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3707 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3708 new |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3709 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3710 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3711 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3712 Exe = vim.bindeval('function("Exe")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3713 ee('vim.command("throw \'abcN\'")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3714 ee('Exe("throw \'def\'")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3715 ee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3716 ee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3717 ee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3718 ee('vim.eval("xxx_unknown_function_xxx()")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3719 ee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx\')")') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3720 del Exe |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3721 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3722 delfunction Exe |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3723 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3724 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3725 vim.command("throw 'abcN'"):error:('abcN',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3726 Exe("throw 'def'"):error:('def',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3727 vim.eval("Exe('throw ''ghi''')"):error:('ghi',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3728 vim.eval("Exe('echoerr ''jkl''')"):error:('Vim(echoerr):jkl',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3729 vim.eval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3730 vim.eval("xxx_unknown_function_xxx()"):error:('Vim:E117: Unknown function: xxx_unknown_function_xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3731 vim.bindeval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3732 END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3733 call assert_equal(expected, getline(2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3734 close! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3735 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3736 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3737 " Regression: interrupting vim.command propagates to next vim.command |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3738 func Test_python_keyboard_interrupt() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3739 new |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3740 py cb = vim.current.buffer |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3741 py << trim EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3742 def test_keyboard_interrupt(): |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3743 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3744 vim.command('while 1 | endwhile') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3745 except KeyboardInterrupt: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3746 cb.append('Caught KeyboardInterrupt') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3747 except Exception: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3748 cb.append('!!!!!!!! Caught exception: ' + emsg(sys.exc_info())) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3749 else: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3750 cb.append('!!!!!!!! No exception') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3751 try: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3752 vim.command('$ put =\'Running :put\'') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3753 except KeyboardInterrupt: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3754 cb.append('!!!!!!!! Caught KeyboardInterrupt') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3755 except Exception: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3756 cb.append('!!!!!!!! Caught exception: ' + emsg(sys.exc_info())) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3757 else: |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3758 cb.append('No exception') |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3759 EOF |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3760 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3761 debuggreedy |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3762 call inputsave() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3763 call feedkeys("s\ns\ns\ns\nq\n") |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3764 redir => output |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3765 debug silent! py test_keyboard_interrupt() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3766 redir END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3767 0 debuggreedy |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3768 call inputrestore() |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3769 py del test_keyboard_interrupt |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3770 |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3771 let expected =<< trim END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3772 Caught KeyboardInterrupt |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3773 Running :put |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3774 No exception |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3775 END |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3776 call assert_equal(expected, getline(2, '$')) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3777 call assert_equal('', output) |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3778 close! |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3779 endfunc |
c2cbe6cc7620
patch 8.2.1120: Python code not tested properly
Bram Moolenaar <Bram@vim.org>
parents:
20233
diff
changeset
|
3780 |
23264
f9526a3c9bbf
patch 8.2.2178: Python 3: non-utf8 character cannot be handled
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
3781 func Test_python_non_utf8_string() |
f9526a3c9bbf
patch 8.2.2178: Python 3: non-utf8 character cannot be handled
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
3782 smap <Esc>@ <A-@> |
f9526a3c9bbf
patch 8.2.2178: Python 3: non-utf8 character cannot be handled
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
3783 python vim.command('redir => _tmp_smaps | smap | redir END') |
f9526a3c9bbf
patch 8.2.2178: Python 3: non-utf8 character cannot be handled
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
3784 python vim.eval('_tmp_smaps').splitlines() |
f9526a3c9bbf
patch 8.2.2178: Python 3: non-utf8 character cannot be handled
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
3785 sunmap <Esc>@ |
f9526a3c9bbf
patch 8.2.2178: Python 3: non-utf8 character cannot be handled
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
3786 endfunc |
f9526a3c9bbf
patch 8.2.2178: Python 3: non-utf8 character cannot be handled
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
3787 |
20045
04ef2ccf2519
patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents:
18870
diff
changeset
|
3788 " vim: shiftwidth=2 sts=2 expandtab |