| To: vim_dev@googlegroups.com |
| Subject: Patch 7.3.659 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.3.659 |
| Problem: Recent Python changes are not tested. |
| Solution: Add tests for Python bindings. (ZyX) |
| Files: src/testdir/test86.in, src/testdir/test86.ok, |
| src/testdir/test87.in, src/testdir/test87.ok |
| |
| |
| |
| |
| |
| *** 176,203 **** |
| :else |
| : $put ='[0.0, 0.0]' |
| :endif |
| :" |
| :" pyeval() |
| :let l=pyeval('range(3)') |
| :$put =string(l) |
| :let d=pyeval('{"a": "b", "c": 1, "d": ["e"]}') |
| :$put =sort(items(d)) |
| - :try |
| - : let undef=pyeval('undefined_name') |
| - :catch |
| - : $put =v:exception[:13] |
| - :endtry |
| - :try |
| - : let vim=pyeval('vim') |
| - :catch |
| - : $put =v:exception[:13] |
| - :endtry |
| :if has('float') |
| : let f=pyeval('0.0') |
| : $put =string(f) |
| :else |
| : $put ='0.0' |
| :endif |
| :endfun |
| :" |
| :call Test() |
| --- 176,237 ---- |
| :else |
| : $put ='[0.0, 0.0]' |
| :endif |
| + :let messages=[] |
| + :py <<EOF |
| + d=vim.bindeval('{}') |
| + m=vim.bindeval('messages') |
| + try: |
| + d['abc'] |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + |
| + try: |
| + d['abc']="\0" |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + |
| + try: |
| + d['abc']=vim |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + |
| + try: |
| + d['']=1 |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + |
| + try: |
| + d['a\0b']=1 |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + |
| + try: |
| + d[b'a\0b']=1 |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + EOF |
| + :$put =messages |
| :" |
| :" pyeval() |
| :let l=pyeval('range(3)') |
| :$put =string(l) |
| :let d=pyeval('{"a": "b", "c": 1, "d": ["e"]}') |
| :$put =sort(items(d)) |
| :if has('float') |
| : let f=pyeval('0.0') |
| : $put =string(f) |
| :else |
| : $put ='0.0' |
| :endif |
| + :" Invalid values: |
| + :for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim'] |
| + : try |
| + : let v=pyeval(e) |
| + : catch |
| + : let toput=e.":\t".v:exception[:13] |
| + : $put =toput |
| + : endtry |
| + :endfor |
| :endfun |
| :" |
| :call Test() |
| |
| |
| |
| *** 38,47 **** |
| Vim(python):E725: |
| Vim(python):E117: |
| [0.0, 0.0] |
| [0, 1, 2] |
| ['a', 'b'] |
| ['c', 1] |
| ['d', ['e']] |
| - Vim(let):E858: |
| - Vim(let):E859: |
| 0.0 |
| --- 38,55 ---- |
| Vim(python):E725: |
| Vim(python):E117: |
| [0.0, 0.0] |
| + IndexError |
| + TypeError |
| + TypeError |
| + ValueError |
| + TypeError |
| + TypeError |
| [0, 1, 2] |
| ['a', 'b'] |
| ['c', 1] |
| ['d', ['e']] |
| 0.0 |
| + "\0": Vim(let):E859: |
| + {"\0": 1}: Vim(let):E859: |
| + undefined_name: Vim(let):E858: |
| + vim: Vim(let):E859: |
| |
| |
| |
| *** 176,203 **** |
| :else |
| : $put ='[0.0, 0.0]' |
| :endif |
| :" |
| :" py3eval() |
| :let l=py3eval('[0, 1, 2]') |
| :$put =string(l) |
| :let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}') |
| :$put =sort(items(d)) |
| - :try |
| - : let undef=py3eval('undefined_name') |
| - :catch |
| - : $put =v:exception[:13] |
| - :endtry |
| - :try |
| - : let vim=py3eval('vim') |
| - :catch |
| - : $put =v:exception[:13] |
| - :endtry |
| :if has('float') |
| : let f=py3eval('0.0') |
| : $put =string(f) |
| :else |
| : $put ='0.0' |
| :endif |
| :endfun |
| :" |
| :call Test() |
| --- 176,237 ---- |
| :else |
| : $put ='[0.0, 0.0]' |
| :endif |
| + :let messages=[] |
| + :py3 <<EOF |
| + d=vim.bindeval('{}') |
| + m=vim.bindeval('messages') |
| + try: |
| + d['abc'] |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + |
| + try: |
| + d['abc']="\0" |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + |
| + try: |
| + d['abc']=vim |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + |
| + try: |
| + d['']=1 |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + |
| + try: |
| + d['a\0b']=1 |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + |
| + try: |
| + d[b'a\0b']=1 |
| + except Exception as e: |
| + m.extend([e.__class__.__name__]) |
| + EOF |
| + :$put =messages |
| :" |
| :" py3eval() |
| :let l=py3eval('[0, 1, 2]') |
| :$put =string(l) |
| :let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}') |
| :$put =sort(items(d)) |
| :if has('float') |
| : let f=py3eval('0.0') |
| : $put =string(f) |
| :else |
| : $put ='0.0' |
| :endif |
| + :" Invalid values: |
| + :for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim'] |
| + : try |
| + : let v=py3eval(e) |
| + : catch |
| + : let toput=e.":\t".v:exception[:13] |
| + : $put =toput |
| + : endtry |
| + :endfor |
| :endfun |
| :" |
| :call Test() |
| |
| |
| |
| *** 38,47 **** |
| Vim(py3):E725: |
| Vim(py3):E117: |
| [0.0, 0.0] |
| [0, 1, 2] |
| ['a', 'b'] |
| ['c', 1] |
| ['d', ['e']] |
| - Vim(let):E860: |
| - Vim(let):E861: |
| 0.0 |
| --- 38,55 ---- |
| Vim(py3):E725: |
| Vim(py3):E117: |
| [0.0, 0.0] |
| + IndexError |
| + TypeError |
| + TypeError |
| + ValueError |
| + TypeError |
| + TypeError |
| [0, 1, 2] |
| ['a', 'b'] |
| ['c', 1] |
| ['d', ['e']] |
| 0.0 |
| + "\0": Vim(let):E861: |
| + {"\0": 1}: Vim(let):E861: |
| + undefined_name: Vim(let):E860: |
| + vim: Vim(let):E861: |
| |
| |
| |
| *** 721,722 **** |
| --- 721,724 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 659, |
| /**/ |
| |
| -- |
| DEAD PERSON: I don't want to go in the cart! |
| CUSTOMER: Oh, don't be such a baby. |
| MORTICIAN: I can't take him... |
| DEAD PERSON: I feel fine! |
| CUSTOMER: Oh, do us a favor... |
| MORTICIAN: I can't. |
| The Quest for the Holy Grail (Monty Python) |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ an exciting new programming language -- http://www.Zimbu.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |