To: vim_dev@googlegroups.com Subject: Patch 7.3.1236 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.1236 Problem: Python: WindowSetattr() missing support for NUMBER_UNSIGNED. Solution: Add NUMBER_UNSIGNED, add more tests. Various fixes. (ZyX) Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, src/testdir/pythonx/failing.py, src/testdir/pythonx/failing_import.py, src/testdir/test86.in, src/testdir/test86.ok, src/testdir/test87.in, src/testdir/test87.ok, src/testdir/pythonx/topmodule/__init__.py, src/testdir/pythonx/topmodule/submodule/__init__.py, src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py, src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py *** ../vim-7.3.1235/src/if_py_both.h 2013-06-23 16:04:04.000000000 +0200 --- src/if_py_both.h 2013-06-23 16:27:37.000000000 +0200 *************** *** 1611,1617 **** ret = (rObj == Py_True); ! Py_DECREF(Py_True); return ret; } --- 1611,1617 ---- ret = (rObj == Py_True); ! Py_DECREF(rObj); return ret; } *************** *** 1910,1916 **** PyErr_FORMAT(PyExc_ValueError, N_("expected sequence element of size 2, " "but got sequence of size %d"), ! PySequence_Fast_GET_SIZE(fast)); return NULL; } --- 1910,1916 ---- PyErr_FORMAT(PyExc_ValueError, N_("expected sequence element of size 2, " "but got sequence of size %d"), ! (int) PySequence_Fast_GET_SIZE(fast)); return NULL; } *************** *** 2435,2440 **** --- 2435,2444 ---- clear_tv(&v); } Py_DECREF(iterator); + + if (PyErr_Occurred()) + return -1; + return 0; } *************** *** 3361,3367 **** long height; win_T *savewin; ! if (NumberToLong(valObject, &height, NUMBER_INT)) return -1; #ifdef FEAT_GUI --- 3365,3371 ---- long height; win_T *savewin; ! if (NumberToLong(valObject, &height, NUMBER_INT|NUMBER_UNSIGNED)) return -1; #ifdef FEAT_GUI *************** *** 3384,3390 **** long width; win_T *savewin; ! if (NumberToLong(valObject, &width, NUMBER_INT)) return -1; #ifdef FEAT_GUI --- 3388,3394 ---- long width; win_T *savewin; ! if (NumberToLong(valObject, &width, NUMBER_INT|NUMBER_UNSIGNED)) return -1; #ifdef FEAT_GUI *************** *** 3518,3524 **** char *str; char *save; PyObject *bytes = NULL; ! Py_ssize_t len; PyInt i; char *p; --- 3522,3528 ---- char *str; char *save; PyObject *bytes = NULL; ! Py_ssize_t len = 0; PyInt i; char *p; *************** *** 5483,5488 **** --- 5487,5493 ---- #endif else if (PyObject_HasAttrString(obj, "keys")) return convert_dl(obj, tv, pymap_to_tv, lookup_dict); + /* PyObject_GetIter can create built-in iterator for any sequence object */ else if (PyIter_Check(obj) || PySequence_Check(obj)) return convert_dl(obj, tv, pyseq_to_tv, lookup_dict); else if (PyMapping_Check(obj)) *************** *** 5930,5940 **** {"_Loader", (PyObject *)&LoaderType}, }; - typedef int (*object_adder)(PyObject *, const char *, PyObject *); - typedef PyObject *(*attr_getter)(PyObject *, const char *); - #define ADD_OBJECT(m, name, obj) \ ! if (add_object(m, name, obj)) \ return -1; #define ADD_CHECKED_OBJECT(m, name, obj) \ --- 5935,5942 ---- {"_Loader", (PyObject *)&LoaderType}, }; #define ADD_OBJECT(m, name, obj) \ ! if (PyModule_AddObject(m, name, obj)) \ return -1; #define ADD_CHECKED_OBJECT(m, name, obj) \ *************** *** 5946,5952 **** } static int ! populate_module(PyObject *m, object_adder add_object, attr_getter get_attr) { int i; PyObject *other_module; --- 5948,5954 ---- } static int ! populate_module(PyObject *m) { int i; PyObject *other_module; *************** *** 5990,5996 **** if (!(py_chdir = PyObject_GetAttrString(other_module, "chdir"))) return -1; ADD_OBJECT(m, "_chdir", py_chdir); ! if (!(attr = get_attr(m, "chdir"))) return -1; if (PyObject_SetAttrString(other_module, "chdir", attr)) { --- 5992,5998 ---- if (!(py_chdir = PyObject_GetAttrString(other_module, "chdir"))) return -1; ADD_OBJECT(m, "_chdir", py_chdir); ! if (!(attr = PyObject_GetAttrString(m, "chdir"))) return -1; if (PyObject_SetAttrString(other_module, "chdir", attr)) { *************** *** 6002,6008 **** if ((py_fchdir = PyObject_GetAttrString(other_module, "fchdir"))) { ADD_OBJECT(m, "_fchdir", py_fchdir); ! if (!(attr = get_attr(m, "fchdir"))) return -1; if (PyObject_SetAttrString(other_module, "fchdir", attr)) { --- 6004,6010 ---- if ((py_fchdir = PyObject_GetAttrString(other_module, "fchdir"))) { ADD_OBJECT(m, "_fchdir", py_fchdir); ! if (!(attr = PyObject_GetAttrString(m, "fchdir"))) return -1; if (PyObject_SetAttrString(other_module, "fchdir", attr)) { *** ../vim-7.3.1235/src/if_python3.c 2013-06-23 14:16:53.000000000 +0200 --- src/if_python3.c 2013-06-23 16:26:40.000000000 +0200 *************** *** 1623,1629 **** if ((vim_module = PyModule_Create(&vimmodule)) == NULL) return NULL; ! if (populate_module(vim_module, PyModule_AddObject, PyObject_GetAttrString)) return NULL; if (init_sys_path()) --- 1623,1629 ---- if ((vim_module = PyModule_Create(&vimmodule)) == NULL) return NULL; ! if (populate_module(vim_module)) return NULL; if (init_sys_path()) *** ../vim-7.3.1235/src/if_python.c 2013-06-23 14:16:53.000000000 +0200 --- src/if_python.c 2013-06-23 16:26:40.000000000 +0200 *************** *** 1404,1411 **** vim_module = Py_InitModule4("vim", VimMethods, (char *)NULL, (PyObject *)NULL, PYTHON_API_VERSION); ! if (populate_module(vim_module, PyModule_AddObject, ! PyObject_GetAttrString)) return -1; if (init_sys_path()) --- 1404,1410 ---- vim_module = Py_InitModule4("vim", VimMethods, (char *)NULL, (PyObject *)NULL, PYTHON_API_VERSION); ! if (populate_module(vim_module)) return -1; if (init_sys_path()) *** ../vim-7.3.1235/src/testdir/pythonx/failing.py 2013-06-23 16:35:21.000000000 +0200 --- src/testdir/pythonx/failing.py 2013-06-23 16:22:10.000000000 +0200 *************** *** 0 **** --- 1 ---- + raise NotImplementedError *** ../vim-7.3.1235/src/testdir/pythonx/failing_import.py 2013-06-23 16:35:21.000000000 +0200 --- src/testdir/pythonx/failing_import.py 2013-06-23 16:22:10.000000000 +0200 *************** *** 0 **** --- 1 ---- + raise ImportError *** ../vim-7.3.1235/src/testdir/test86.in 2013-06-23 14:37:00.000000000 +0200 --- src/testdir/test86.in 2013-06-23 16:26:40.000000000 +0200 *************** *** 216,221 **** --- 216,222 ---- :let messages=[] :delfunction DictNew py < -1: msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', 'TypeError:("\'NoneType\' object is not iterable",)') if expr == 'fd(self=[])': # HACK: PyMapping_Check changed meaning msg = msg.replace('AttributeError:(\'keys\',)', ! 'TypeError:(\'unable to convert object to vim dictionary\',)') cb.append(expr + ':' + msg) else: cb.append(expr + ':NOT FAILED') --- 881,896 ---- if expr.find('None') > -1: msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', 'TypeError:("\'NoneType\' object is not iterable",)') + if expr.find('FailingNumber') > -1: + msg = msg.replace(', not \'FailingNumber\'', '').replace('"', '\'') + msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', + 'TypeError:("\'FailingNumber\' object is not iterable",)') + if msg.find('(\'\'') > -1 or msg.find('(\'can\'t') > -1: + msg = msg.replace('(\'', '("').replace('\',)', '",)') if expr == 'fd(self=[])': # HACK: PyMapping_Check changed meaning msg = msg.replace('AttributeError:(\'keys\',)', ! 'TypeError:(\'unable to convert list to vim dictionary\',)') cb.append(expr + ':' + msg) else: cb.append(expr + ':NOT FAILED') *************** *** 942,947 **** --- 949,955 ---- '{u"": 1}', # Same, but with unicode object 'FailingMapping()', # 'FailingMappingKey()', # + 'FailingNumber()', # )) def convertfrompymapping_test(expr): *************** *** 956,1021 **** 'FailingIterNext()', )) class FailingTrue(object): def __nonzero__(self): ! raise NotImplementedError class FailingIter(object): def __iter__(self): ! raise NotImplementedError class FailingIterNext(object): def __iter__(self): return self def next(self): ! raise NotImplementedError class FailingMappingKey(object): def __getitem__(self, item): ! raise NotImplementedError def keys(self): return list("abcH") class FailingMapping(object): def __getitem__(self): ! raise NotImplementedError def keys(self): ! raise NotImplementedError class FailingList(list): def __getitem__(self, idx): if i == 2: ! raise NotImplementedError else: return super(FailingList, self).__getitem__(idx) cb.append("> Output") cb.append(">> OutputSetattr") ee('del sys.stdout.softspace') ! ee('sys.stdout.softspace = []') ee('sys.stdout.attr = None') cb.append(">> OutputWrite") ee('sys.stdout.write(None)') cb.append(">> OutputWriteLines") ee('sys.stdout.writelines(None)') ee('sys.stdout.writelines([1])') ! #iter_test('sys.stdout.writelines(%s)') cb.append("> VimCommand") ! ee('vim.command(1)') #! Not checked: vim->python exceptions translating: checked later cb.append("> VimToPython") #! Not checked: everything: needs errors in internal python functions cb.append("> VimEval") ! ee('vim.eval(1)') #! Not checked: everything: needs errors in internal python functions cb.append("> VimEvalPy") ! ee('vim.bindeval(1)') #! Not checked: vim->python exceptions translating: checked later cb.append("> VimStrwidth") ! ee('vim.strwidth(1)') cb.append("> Dictionary") cb.append(">> DictionaryConstructor") ee('vim.Dictionary("abcI")') --- 964,1067 ---- 'FailingIterNext()', )) + def number_test(expr, natural=False, unsigned=False): + if natural: + unsigned = True + return subexpr_test(expr, 'NumberToLong', ( + '[]', + 'None', + ) + (unsigned and ('-1',) or ()) + + (natural and ('0',) or ())) + class FailingTrue(object): def __nonzero__(self): ! raise NotImplementedError('bool') class FailingIter(object): def __iter__(self): ! raise NotImplementedError('iter') class FailingIterNext(object): def __iter__(self): return self def next(self): ! raise NotImplementedError('next') class FailingMappingKey(object): def __getitem__(self, item): ! raise NotImplementedError('getitem:mappingkey') def keys(self): return list("abcH") class FailingMapping(object): def __getitem__(self): ! raise NotImplementedError('getitem:mapping') def keys(self): ! raise NotImplementedError('keys') class FailingList(list): def __getitem__(self, idx): if i == 2: ! raise NotImplementedError('getitem:list') else: return super(FailingList, self).__getitem__(idx) + class NoArgsCall(object): + def __call__(self): + pass + + class FailingCall(object): + def __call__(self, path): + raise NotImplementedError('call') + + class FailingNumber(object): + def __int__(self): + raise NotImplementedError('int') + cb.append("> Output") cb.append(">> OutputSetattr") ee('del sys.stdout.softspace') ! number_test('sys.stdout.softspace = %s', unsigned=True) ! number_test('sys.stderr.softspace = %s', unsigned=True) ee('sys.stdout.attr = None') cb.append(">> OutputWrite") ee('sys.stdout.write(None)') cb.append(">> OutputWriteLines") ee('sys.stdout.writelines(None)') ee('sys.stdout.writelines([1])') ! iter_test('sys.stdout.writelines(%s)') cb.append("> VimCommand") ! stringtochars_test('vim.command(%s)') ! ee('vim.command("", 2)') #! Not checked: vim->python exceptions translating: checked later cb.append("> VimToPython") #! Not checked: everything: needs errors in internal python functions cb.append("> VimEval") ! stringtochars_test('vim.eval(%s)') ! ee('vim.eval("", FailingTrue())') #! Not checked: everything: needs errors in internal python functions cb.append("> VimEvalPy") ! stringtochars_test('vim.bindeval(%s)') ! ee('vim.eval("", 2)') #! Not checked: vim->python exceptions translating: checked later cb.append("> VimStrwidth") ! stringtochars_test('vim.strwidth(%s)') ! cb.append("> VimForeachRTP") ! ee('vim.foreach_rtp(None)') ! ee('vim.foreach_rtp(NoArgsCall())') ! ee('vim.foreach_rtp(FailingCall())') ! ee('vim.foreach_rtp(int, 2)') ! cb.append('> import') ! old_rtp = vim.options['rtp'] ! vim.options['rtp'] = os.getcwd().replace(',', '\\,').replace('\\', '\\\\') ! ee('import xxx_no_such_module_xxx') ! ee('import failing_import') ! ee('import failing') ! vim.options['rtp'] = old_rtp ! del old_rtp cb.append("> Dictionary") cb.append(">> DictionaryConstructor") ee('vim.Dictionary("abcI")') *************** *** 1043,1049 **** cb.append(">>> iter") ee('d.update(FailingMapping())') ee('d.update([FailingIterNext()])') ! #iter_test('d.update(%s)') convertfrompyobject_test('d.update(%s)') stringtochars_test('d.update(((%s, 0),))') convertfrompyobject_test('d.update((("a", %s),))') --- 1089,1095 ---- cb.append(">>> iter") ee('d.update(FailingMapping())') ee('d.update([FailingIterNext()])') ! iter_test('d.update(%s)') convertfrompyobject_test('d.update(%s)') stringtochars_test('d.update(((%s, 0),))') convertfrompyobject_test('d.update((("a", %s),))') *************** *** 1055,1061 **** cb.append(">> ListConstructor") ee('vim.List(1, 2)') ee('vim.List(a=1)') ! #iter_test('vim.List(%s)') convertfrompyobject_test('vim.List([%s])') cb.append(">> ListItem") ee('l[1000]') --- 1101,1107 ---- cb.append(">> ListConstructor") ee('vim.List(1, 2)') ee('vim.List(a=1)') ! iter_test('vim.List(%s)') convertfrompyobject_test('vim.List([%s])') cb.append(">> ListItem") ee('l[1000]') *************** *** 1064,1073 **** ee('l[1000] = 3') cb.append(">> ListAssSlice") ee('ll[1:100] = "abcJ"') ! #iter_test('l[:] = %s') convertfrompyobject_test('l[:] = [%s]') cb.append(">> ListConcatInPlace") ! #iter_test('l.extend(%s)') convertfrompyobject_test('l.extend([%s])') cb.append(">> ListSetattr") ee('del l.locked') --- 1110,1119 ---- ee('l[1000] = 3') cb.append(">> ListAssSlice") ee('ll[1:100] = "abcJ"') ! iter_test('l[:] = %s') convertfrompyobject_test('l[:] = [%s]') cb.append(">> ListConcatInPlace") ! iter_test('l.extend(%s)') convertfrompyobject_test('l.extend([%s])') cb.append(">> ListSetattr") ee('del l.locked') *************** *** 1094,1107 **** ee('vim.current.window.buffer = 0') ee('vim.current.window.cursor = (100000000, 100000000)') ee('vim.current.window.cursor = True') ! ee('vim.current.window.height = "abcK"') ! ee('vim.current.window.width = "abcL"') ee('vim.current.window.xxxxxx = True') cb.append("> WinList") cb.append(">> WinListItem") ee('vim.windows[1000]') cb.append("> Buffer") cb.append(">> StringToLine (indirect)") ee('vim.current.buffer[0] = "\\na"') cb.append(">> SetBufferLine (indirect)") ee('vim.current.buffer[0] = True') --- 1140,1154 ---- ee('vim.current.window.buffer = 0') ee('vim.current.window.cursor = (100000000, 100000000)') ee('vim.current.window.cursor = True') ! number_test('vim.current.window.height = %s', unsigned=True) ! number_test('vim.current.window.width = %s', unsigned=True) ee('vim.current.window.xxxxxx = True') cb.append("> WinList") cb.append(">> WinListItem") ee('vim.windows[1000]') cb.append("> Buffer") cb.append(">> StringToLine (indirect)") + ee('vim.current.buffer[0] = u"\\na"') ee('vim.current.buffer[0] = "\\na"') cb.append(">> SetBufferLine (indirect)") ee('vim.current.buffer[0] = True') *************** *** 1129,1136 **** ee('vim.current.buffer.range(1, 2, 3)') cb.append("> BufMap") cb.append(">> BufMapItem") - ee('vim.buffers[None]') ee('vim.buffers[100000000]') cb.append("> Current") cb.append(">> CurrentGetattr") ee('vim.current.xxx') --- 1176,1183 ---- ee('vim.current.buffer.range(1, 2, 3)') cb.append("> BufMap") cb.append(">> BufMapItem") ee('vim.buffers[100000000]') + number_test('vim.buffers[%s]', natural=True) cb.append("> Current") cb.append(">> CurrentGetattr") ee('vim.current.xxx') *************** *** 1154,1165 **** --- 1201,1216 ---- del convertfrompyobject_test del convertfrompymapping_test del iter_test + del number_test del FailingTrue del FailingIter del FailingIterNext del FailingMapping del FailingMappingKey del FailingList + del NoArgsCall + del FailingCall + del FailingNumber EOF :delfunction F :" *************** *** 1168,1173 **** --- 1219,1234 ---- sys.path.insert(0, os.path.join(os.getcwd(), 'python_before')) sys.path.append(os.path.join(os.getcwd(), 'python_after')) vim.options['rtp'] = os.getcwd().replace(',', '\\,').replace('\\', '\\\\') + l = [] + def callback(path): + l.append(path[-len('/testdir'):]) + vim.foreach_rtp(callback) + cb.append(repr(l)) + del l + def callback(path): + return path[-len('/testdir'):] + cb.append(repr(vim.foreach_rtp(callback))) + del callback from module import dir as d from modulex import ddir cb.append(d + ',' + ddir) *************** *** 1175,1184 **** --- 1236,1254 ---- cb.append(before.dir) import after cb.append(after.dir) + import topmodule as tm + import topmodule.submodule as tms + import topmodule.submodule.subsubmodule.subsubsubmodule as tmsss + cb.append(tm.__file__.replace('.pyc', '.py')[-len('modulex/topmodule/__init__.py'):]) + cb.append(tms.__file__.replace('.pyc', '.py')[-len('modulex/topmodule/submodule/__init__.py'):]) + cb.append(tmsss.__file__.replace('.pyc', '.py')[-len('modulex/topmodule/submodule/subsubmodule/subsubsubmodule.py'):]) del before del after del d del ddir + del tm + del tms + del tmsss EOF :" :" Test exceptions *************** *** 1232,1237 **** --- 1302,1308 ---- :call garbagecollect(1) :" :/^start:/,$wq! test.out + :" vim: et ts=4 isk-=\: :call getchar() ENDTEST *** ../vim-7.3.1235/src/testdir/test86.ok 2013-06-23 14:37:00.000000000 +0200 --- src/testdir/test86.ok 2013-06-23 16:29:45.000000000 +0200 *************** *** 441,468 **** > Output >> OutputSetattr del sys.stdout.softspace:AttributeError:("can't delete OutputObject attributes",) sys.stdout.softspace = []:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) sys.stdout.attr = None:AttributeError:('invalid attribute: attr',) >> OutputWrite sys.stdout.write(None):TypeError:('coercing to Unicode: need string or buffer, NoneType found',) >> OutputWriteLines sys.stdout.writelines(None):TypeError:("'NoneType' object is not iterable",) sys.stdout.writelines([1]):TypeError:('coercing to Unicode: need string or buffer, int found',) > VimCommand vim.command(1):TypeError:('expected str() or unicode() instance, but got int',) > VimToPython > VimEval vim.eval(1):TypeError:('expected str() or unicode() instance, but got int',) > VimEvalPy vim.bindeval(1):TypeError:('expected str() or unicode() instance, but got int',) > VimStrwidth vim.strwidth(1):TypeError:('expected str() or unicode() instance, but got int',) > Dictionary >> DictionaryConstructor vim.Dictionary("abcI"):ValueError:('expected sequence element of size 2, but got sequence of size 1',) >> DictionarySetattr del d.locked:AttributeError:('cannot delete vim.Dictionary attributes',) ! d.locked = FailingTrue():NotImplementedError:() vim.vvars.locked = False:TypeError:('cannot modify fixed dictionary',) d.scope = True:AttributeError:('cannot set attribute scope',) d.xxx = True:AttributeError:('cannot set attribute xxx',) --- 441,509 ---- > Output >> OutputSetattr del sys.stdout.softspace:AttributeError:("can't delete OutputObject attributes",) + >>> Testing NumberToLong using sys.stdout.softspace = %s sys.stdout.softspace = []:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) + sys.stdout.softspace = None:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) + sys.stdout.softspace = -1:ValueError:('number must be greater or equal to zero',) + <<< Finished + >>> Testing NumberToLong using sys.stderr.softspace = %s + sys.stderr.softspace = []:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) + sys.stderr.softspace = None:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) + sys.stderr.softspace = -1:ValueError:('number must be greater or equal to zero',) + <<< Finished sys.stdout.attr = None:AttributeError:('invalid attribute: attr',) >> OutputWrite sys.stdout.write(None):TypeError:('coercing to Unicode: need string or buffer, NoneType found',) >> OutputWriteLines sys.stdout.writelines(None):TypeError:("'NoneType' object is not iterable",) sys.stdout.writelines([1]):TypeError:('coercing to Unicode: need string or buffer, int found',) + >>> Testing *Iter* using sys.stdout.writelines(%s) + sys.stdout.writelines(FailingIter()):NotImplementedError:('iter',) + sys.stdout.writelines(FailingIterNext()):NotImplementedError:('next',) + <<< Finished > VimCommand + >>> Testing StringToChars using vim.command(%s) vim.command(1):TypeError:('expected str() or unicode() instance, but got int',) + vim.command(u"\0"):TypeError:('expected string without null bytes',) + vim.command("\0"):TypeError:('expected string without null bytes',) + <<< Finished + vim.command("", 2):TypeError:('command() takes exactly one argument (2 given)',) > VimToPython > VimEval + >>> Testing StringToChars using vim.eval(%s) vim.eval(1):TypeError:('expected str() or unicode() instance, but got int',) + vim.eval(u"\0"):TypeError:('expected string without null bytes',) + vim.eval("\0"):TypeError:('expected string without null bytes',) + <<< Finished + vim.eval("", FailingTrue()):TypeError:('function takes exactly 1 argument (2 given)',) > VimEvalPy + >>> Testing StringToChars using vim.bindeval(%s) vim.bindeval(1):TypeError:('expected str() or unicode() instance, but got int',) + vim.bindeval(u"\0"):TypeError:('expected string without null bytes',) + vim.bindeval("\0"):TypeError:('expected string without null bytes',) + <<< Finished + vim.eval("", 2):TypeError:('function takes exactly 1 argument (2 given)',) > VimStrwidth + >>> Testing StringToChars using vim.strwidth(%s) vim.strwidth(1):TypeError:('expected str() or unicode() instance, but got int',) + vim.strwidth(u"\0"):TypeError:('expected string without null bytes',) + vim.strwidth("\0"):TypeError:('expected string without null bytes',) + <<< Finished + > VimForeachRTP + vim.foreach_rtp(None):TypeError:("'NoneType' object is not callable",) + vim.foreach_rtp(NoArgsCall()):TypeError:('__call__() takes exactly 1 argument (2 given)',) + vim.foreach_rtp(FailingCall()):NotImplementedError:('call',) + vim.foreach_rtp(int, 2):TypeError:('foreach_rtp() takes exactly one argument (2 given)',) + > import + import xxx_no_such_module_xxx:ImportError:('No module named xxx_no_such_module_xxx',) + import failing_import:ImportError:('No module named failing_import',) + import failing:ImportError:('No module named failing',) > Dictionary >> DictionaryConstructor vim.Dictionary("abcI"):ValueError:('expected sequence element of size 2, but got sequence of size 1',) >> DictionarySetattr del d.locked:AttributeError:('cannot delete vim.Dictionary attributes',) ! d.locked = FailingTrue():NotImplementedError:('bool',) vim.vvars.locked = False:TypeError:('cannot modify fixed dictionary',) d.scope = True:AttributeError:('cannot set attribute scope',) d.xxx = True:AttributeError:('cannot set attribute xxx',) *************** *** 501,514 **** <<< Finished >>> Testing *Iter* using d["a"] = {"abcF" : %s} d["a"] = {"abcF" : FailingIter()}:TypeError:('unable to convert FailingIter to vim structure',) ! d["a"] = {"abcF" : FailingIterNext()}:NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using d["a"] = {"abcF" : %s} d["a"] = {"abcF" : None}:TypeError:('unable to convert NoneType to vim structure',) d["a"] = {"abcF" : {"": 1}}:ValueError:('empty keys are not allowed',) d["a"] = {"abcF" : {u"": 1}}:ValueError:('empty keys are not allowed',) ! d["a"] = {"abcF" : FailingMapping()}:NotImplementedError:() ! d["a"] = {"abcF" : FailingMappingKey()}:NotImplementedError:() <<< Finished >>> Testing StringToChars using d["a"] = Mapping({%s : 1}) d["a"] = Mapping({1 : 1}):TypeError:('expected str() or unicode() instance, but got int',) --- 542,556 ---- <<< Finished >>> Testing *Iter* using d["a"] = {"abcF" : %s} d["a"] = {"abcF" : FailingIter()}:TypeError:('unable to convert FailingIter to vim structure',) ! d["a"] = {"abcF" : FailingIterNext()}:NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using d["a"] = {"abcF" : %s} d["a"] = {"abcF" : None}:TypeError:('unable to convert NoneType to vim structure',) d["a"] = {"abcF" : {"": 1}}:ValueError:('empty keys are not allowed',) d["a"] = {"abcF" : {u"": 1}}:ValueError:('empty keys are not allowed',) ! d["a"] = {"abcF" : FailingMapping()}:NotImplementedError:('keys',) ! d["a"] = {"abcF" : FailingMappingKey()}:NotImplementedError:('getitem:mappingkey',) ! d["a"] = {"abcF" : FailingNumber()}:TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing StringToChars using d["a"] = Mapping({%s : 1}) d["a"] = Mapping({1 : 1}):TypeError:('expected str() or unicode() instance, but got int',) *************** *** 527,557 **** <<< Finished >>> Testing *Iter* using d["a"] = Mapping({"abcG" : %s}) d["a"] = Mapping({"abcG" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',) ! d["a"] = Mapping({"abcG" : FailingIterNext()}):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abcG" : %s}) d["a"] = Mapping({"abcG" : None}):TypeError:('unable to convert NoneType to vim structure',) d["a"] = Mapping({"abcG" : {"": 1}}):ValueError:('empty keys are not allowed',) d["a"] = Mapping({"abcG" : {u"": 1}}):ValueError:('empty keys are not allowed',) ! d["a"] = Mapping({"abcG" : FailingMapping()}):NotImplementedError:() ! d["a"] = Mapping({"abcG" : FailingMappingKey()}):NotImplementedError:() <<< Finished >>> Testing *Iter* using d["a"] = %s d["a"] = FailingIter():TypeError:('unable to convert FailingIter to vim structure',) ! d["a"] = FailingIterNext():NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using d["a"] = %s d["a"] = None:TypeError:('unable to convert NoneType to vim structure',) d["a"] = {"": 1}:ValueError:('empty keys are not allowed',) d["a"] = {u"": 1}:ValueError:('empty keys are not allowed',) ! d["a"] = FailingMapping():NotImplementedError:() ! d["a"] = FailingMappingKey():NotImplementedError:() <<< Finished >> DictionaryUpdate >>> kwargs >>> iter ! d.update(FailingMapping()):NotImplementedError:() ! d.update([FailingIterNext()]):NotImplementedError:() >>> Testing StringToChars using d.update({%s : 1}) d.update({1 : 1}):TypeError:('expected str() or unicode() instance, but got int',) d.update({u"\0" : 1}):TypeError:('expected string without null bytes',) --- 569,605 ---- <<< Finished >>> Testing *Iter* using d["a"] = Mapping({"abcG" : %s}) d["a"] = Mapping({"abcG" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',) ! d["a"] = Mapping({"abcG" : FailingIterNext()}):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abcG" : %s}) d["a"] = Mapping({"abcG" : None}):TypeError:('unable to convert NoneType to vim structure',) d["a"] = Mapping({"abcG" : {"": 1}}):ValueError:('empty keys are not allowed',) d["a"] = Mapping({"abcG" : {u"": 1}}):ValueError:('empty keys are not allowed',) ! d["a"] = Mapping({"abcG" : FailingMapping()}):NotImplementedError:('keys',) ! d["a"] = Mapping({"abcG" : FailingMappingKey()}):NotImplementedError:('getitem:mappingkey',) ! d["a"] = Mapping({"abcG" : FailingNumber()}):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing *Iter* using d["a"] = %s d["a"] = FailingIter():TypeError:('unable to convert FailingIter to vim structure',) ! d["a"] = FailingIterNext():NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using d["a"] = %s d["a"] = None:TypeError:('unable to convert NoneType to vim structure',) d["a"] = {"": 1}:ValueError:('empty keys are not allowed',) d["a"] = {u"": 1}:ValueError:('empty keys are not allowed',) ! d["a"] = FailingMapping():NotImplementedError:('keys',) ! d["a"] = FailingMappingKey():NotImplementedError:('getitem:mappingkey',) ! d["a"] = FailingNumber():TypeError:('long() argument must be a string or a number',) <<< Finished >> DictionaryUpdate >>> kwargs >>> iter ! d.update(FailingMapping()):NotImplementedError:('keys',) ! d.update([FailingIterNext()]):NotImplementedError:('next',) ! >>> Testing *Iter* using d.update(%s) ! d.update(FailingIter()):NotImplementedError:('iter',) ! d.update(FailingIterNext()):NotImplementedError:('next',) ! <<< Finished >>> Testing StringToChars using d.update({%s : 1}) d.update({1 : 1}):TypeError:('expected str() or unicode() instance, but got int',) d.update({u"\0" : 1}):TypeError:('expected string without null bytes',) *************** *** 569,582 **** <<< Finished >>> Testing *Iter* using d.update({"abcF" : %s}) d.update({"abcF" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',) ! d.update({"abcF" : FailingIterNext()}):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using d.update({"abcF" : %s}) d.update({"abcF" : None}):TypeError:('unable to convert NoneType to vim structure',) d.update({"abcF" : {"": 1}}):ValueError:('empty keys are not allowed',) d.update({"abcF" : {u"": 1}}):ValueError:('empty keys are not allowed',) ! d.update({"abcF" : FailingMapping()}):NotImplementedError:() ! d.update({"abcF" : FailingMappingKey()}):NotImplementedError:() <<< Finished >>> Testing StringToChars using d.update(Mapping({%s : 1})) d.update(Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',) --- 617,631 ---- <<< Finished >>> Testing *Iter* using d.update({"abcF" : %s}) d.update({"abcF" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',) ! d.update({"abcF" : FailingIterNext()}):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using d.update({"abcF" : %s}) d.update({"abcF" : None}):TypeError:('unable to convert NoneType to vim structure',) d.update({"abcF" : {"": 1}}):ValueError:('empty keys are not allowed',) d.update({"abcF" : {u"": 1}}):ValueError:('empty keys are not allowed',) ! d.update({"abcF" : FailingMapping()}):NotImplementedError:('keys',) ! d.update({"abcF" : FailingMappingKey()}):NotImplementedError:('getitem:mappingkey',) ! d.update({"abcF" : FailingNumber()}):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing StringToChars using d.update(Mapping({%s : 1})) d.update(Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',) *************** *** 595,619 **** <<< Finished >>> Testing *Iter* using d.update(Mapping({"abcG" : %s})) d.update(Mapping({"abcG" : FailingIter()})):TypeError:('unable to convert FailingIter to vim structure',) ! d.update(Mapping({"abcG" : FailingIterNext()})):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using d.update(Mapping({"abcG" : %s})) d.update(Mapping({"abcG" : None})):TypeError:('unable to convert NoneType to vim structure',) d.update(Mapping({"abcG" : {"": 1}})):ValueError:('empty keys are not allowed',) d.update(Mapping({"abcG" : {u"": 1}})):ValueError:('empty keys are not allowed',) ! d.update(Mapping({"abcG" : FailingMapping()})):NotImplementedError:() ! d.update(Mapping({"abcG" : FailingMappingKey()})):NotImplementedError:() <<< Finished >>> Testing *Iter* using d.update(%s) ! d.update(FailingIter()):NotImplementedError:() ! d.update(FailingIterNext()):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using d.update(%s) d.update(None):TypeError:("'NoneType' object is not iterable",) d.update({"": 1}):ValueError:('empty keys are not allowed',) d.update({u"": 1}):ValueError:('empty keys are not allowed',) ! d.update(FailingMapping()):NotImplementedError:() ! d.update(FailingMappingKey()):NotImplementedError:() <<< Finished >>> Testing StringToChars using d.update(((%s, 0),)) d.update(((1, 0),)):TypeError:('expected str() or unicode() instance, but got int',) --- 644,670 ---- <<< Finished >>> Testing *Iter* using d.update(Mapping({"abcG" : %s})) d.update(Mapping({"abcG" : FailingIter()})):TypeError:('unable to convert FailingIter to vim structure',) ! d.update(Mapping({"abcG" : FailingIterNext()})):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using d.update(Mapping({"abcG" : %s})) d.update(Mapping({"abcG" : None})):TypeError:('unable to convert NoneType to vim structure',) d.update(Mapping({"abcG" : {"": 1}})):ValueError:('empty keys are not allowed',) d.update(Mapping({"abcG" : {u"": 1}})):ValueError:('empty keys are not allowed',) ! d.update(Mapping({"abcG" : FailingMapping()})):NotImplementedError:('keys',) ! d.update(Mapping({"abcG" : FailingMappingKey()})):NotImplementedError:('getitem:mappingkey',) ! d.update(Mapping({"abcG" : FailingNumber()})):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing *Iter* using d.update(%s) ! d.update(FailingIter()):NotImplementedError:('iter',) ! d.update(FailingIterNext()):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using d.update(%s) d.update(None):TypeError:("'NoneType' object is not iterable",) d.update({"": 1}):ValueError:('empty keys are not allowed',) d.update({u"": 1}):ValueError:('empty keys are not allowed',) ! d.update(FailingMapping()):NotImplementedError:('keys',) ! d.update(FailingMappingKey()):NotImplementedError:('getitem:mappingkey',) ! d.update(FailingNumber()):TypeError:("'FailingNumber' object is not iterable",) <<< Finished >>> Testing StringToChars using d.update(((%s, 0),)) d.update(((1, 0),)):TypeError:('expected str() or unicode() instance, but got int',) *************** *** 637,650 **** <<< Finished >>> Testing *Iter* using d.update((("a", {"abcF" : %s}),)) d.update((("a", {"abcF" : FailingIter()}),)):TypeError:('unable to convert FailingIter to vim structure',) ! d.update((("a", {"abcF" : FailingIterNext()}),)):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", {"abcF" : %s}),)) d.update((("a", {"abcF" : None}),)):TypeError:('unable to convert NoneType to vim structure',) d.update((("a", {"abcF" : {"": 1}}),)):ValueError:('empty keys are not allowed',) d.update((("a", {"abcF" : {u"": 1}}),)):ValueError:('empty keys are not allowed',) ! d.update((("a", {"abcF" : FailingMapping()}),)):NotImplementedError:() ! d.update((("a", {"abcF" : FailingMappingKey()}),)):NotImplementedError:() <<< Finished >>> Testing StringToChars using d.update((("a", Mapping({%s : 1})),)) d.update((("a", Mapping({1 : 1})),)):TypeError:('expected str() or unicode() instance, but got int',) --- 688,702 ---- <<< Finished >>> Testing *Iter* using d.update((("a", {"abcF" : %s}),)) d.update((("a", {"abcF" : FailingIter()}),)):TypeError:('unable to convert FailingIter to vim structure',) ! d.update((("a", {"abcF" : FailingIterNext()}),)):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", {"abcF" : %s}),)) d.update((("a", {"abcF" : None}),)):TypeError:('unable to convert NoneType to vim structure',) d.update((("a", {"abcF" : {"": 1}}),)):ValueError:('empty keys are not allowed',) d.update((("a", {"abcF" : {u"": 1}}),)):ValueError:('empty keys are not allowed',) ! d.update((("a", {"abcF" : FailingMapping()}),)):NotImplementedError:('keys',) ! d.update((("a", {"abcF" : FailingMappingKey()}),)):NotImplementedError:('getitem:mappingkey',) ! d.update((("a", {"abcF" : FailingNumber()}),)):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing StringToChars using d.update((("a", Mapping({%s : 1})),)) d.update((("a", Mapping({1 : 1})),)):TypeError:('expected str() or unicode() instance, but got int',) *************** *** 663,687 **** <<< Finished >>> Testing *Iter* using d.update((("a", Mapping({"abcG" : %s})),)) d.update((("a", Mapping({"abcG" : FailingIter()})),)):TypeError:('unable to convert FailingIter to vim structure',) ! d.update((("a", Mapping({"abcG" : FailingIterNext()})),)):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abcG" : %s})),)) d.update((("a", Mapping({"abcG" : None})),)):TypeError:('unable to convert NoneType to vim structure',) d.update((("a", Mapping({"abcG" : {"": 1}})),)):ValueError:('empty keys are not allowed',) d.update((("a", Mapping({"abcG" : {u"": 1}})),)):ValueError:('empty keys are not allowed',) ! d.update((("a", Mapping({"abcG" : FailingMapping()})),)):NotImplementedError:() ! d.update((("a", Mapping({"abcG" : FailingMappingKey()})),)):NotImplementedError:() <<< Finished >>> Testing *Iter* using d.update((("a", %s),)) d.update((("a", FailingIter()),)):TypeError:('unable to convert FailingIter to vim structure',) ! d.update((("a", FailingIterNext()),)):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", %s),)) d.update((("a", None),)):TypeError:('unable to convert NoneType to vim structure',) d.update((("a", {"": 1}),)):ValueError:('empty keys are not allowed',) d.update((("a", {u"": 1}),)):ValueError:('empty keys are not allowed',) ! d.update((("a", FailingMapping()),)):NotImplementedError:() ! d.update((("a", FailingMappingKey()),)):NotImplementedError:() <<< Finished >> DictionaryPopItem d.popitem(1, 2):TypeError:('popitem() takes no arguments (2 given)',) --- 715,741 ---- <<< Finished >>> Testing *Iter* using d.update((("a", Mapping({"abcG" : %s})),)) d.update((("a", Mapping({"abcG" : FailingIter()})),)):TypeError:('unable to convert FailingIter to vim structure',) ! d.update((("a", Mapping({"abcG" : FailingIterNext()})),)):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abcG" : %s})),)) d.update((("a", Mapping({"abcG" : None})),)):TypeError:('unable to convert NoneType to vim structure',) d.update((("a", Mapping({"abcG" : {"": 1}})),)):ValueError:('empty keys are not allowed',) d.update((("a", Mapping({"abcG" : {u"": 1}})),)):ValueError:('empty keys are not allowed',) ! d.update((("a", Mapping({"abcG" : FailingMapping()})),)):NotImplementedError:('keys',) ! d.update((("a", Mapping({"abcG" : FailingMappingKey()})),)):NotImplementedError:('getitem:mappingkey',) ! d.update((("a", Mapping({"abcG" : FailingNumber()})),)):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing *Iter* using d.update((("a", %s),)) d.update((("a", FailingIter()),)):TypeError:('unable to convert FailingIter to vim structure',) ! d.update((("a", FailingIterNext()),)):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", %s),)) d.update((("a", None),)):TypeError:('unable to convert NoneType to vim structure',) d.update((("a", {"": 1}),)):ValueError:('empty keys are not allowed',) d.update((("a", {u"": 1}),)):ValueError:('empty keys are not allowed',) ! d.update((("a", FailingMapping()),)):NotImplementedError:('keys',) ! d.update((("a", FailingMappingKey()),)):NotImplementedError:('getitem:mappingkey',) ! d.update((("a", FailingNumber()),)):TypeError:('long() argument must be a string or a number',) <<< Finished >> DictionaryPopItem d.popitem(1, 2):TypeError:('popitem() takes no arguments (2 given)',) *************** *** 691,696 **** --- 745,754 ---- >> ListConstructor vim.List(1, 2):TypeError:('function takes at most 1 argument (2 given)',) vim.List(a=1):TypeError:('list constructor does not accept keyword arguments',) + >>> Testing *Iter* using vim.List(%s) + vim.List(FailingIter()):NotImplementedError:('iter',) + vim.List(FailingIterNext()):NotImplementedError:('next',) + <<< Finished >>> Testing StringToChars using vim.List([{%s : 1}]) vim.List([{1 : 1}]):TypeError:('expected str() or unicode() instance, but got int',) vim.List([{u"\0" : 1}]):TypeError:('expected string without null bytes',) *************** *** 708,721 **** <<< Finished >>> Testing *Iter* using vim.List([{"abcF" : %s}]) vim.List([{"abcF" : FailingIter()}]):TypeError:('unable to convert FailingIter to vim structure',) ! vim.List([{"abcF" : FailingIterNext()}]):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using vim.List([{"abcF" : %s}]) vim.List([{"abcF" : None}]):TypeError:('unable to convert NoneType to vim structure',) vim.List([{"abcF" : {"": 1}}]):ValueError:('empty keys are not allowed',) vim.List([{"abcF" : {u"": 1}}]):ValueError:('empty keys are not allowed',) ! vim.List([{"abcF" : FailingMapping()}]):NotImplementedError:() ! vim.List([{"abcF" : FailingMappingKey()}]):NotImplementedError:() <<< Finished >>> Testing StringToChars using vim.List([Mapping({%s : 1})]) vim.List([Mapping({1 : 1})]):TypeError:('expected str() or unicode() instance, but got int',) --- 766,780 ---- <<< Finished >>> Testing *Iter* using vim.List([{"abcF" : %s}]) vim.List([{"abcF" : FailingIter()}]):TypeError:('unable to convert FailingIter to vim structure',) ! vim.List([{"abcF" : FailingIterNext()}]):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using vim.List([{"abcF" : %s}]) vim.List([{"abcF" : None}]):TypeError:('unable to convert NoneType to vim structure',) vim.List([{"abcF" : {"": 1}}]):ValueError:('empty keys are not allowed',) vim.List([{"abcF" : {u"": 1}}]):ValueError:('empty keys are not allowed',) ! vim.List([{"abcF" : FailingMapping()}]):NotImplementedError:('keys',) ! vim.List([{"abcF" : FailingMappingKey()}]):NotImplementedError:('getitem:mappingkey',) ! vim.List([{"abcF" : FailingNumber()}]):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing StringToChars using vim.List([Mapping({%s : 1})]) vim.List([Mapping({1 : 1})]):TypeError:('expected str() or unicode() instance, but got int',) *************** *** 734,758 **** <<< Finished >>> Testing *Iter* using vim.List([Mapping({"abcG" : %s})]) vim.List([Mapping({"abcG" : FailingIter()})]):TypeError:('unable to convert FailingIter to vim structure',) ! vim.List([Mapping({"abcG" : FailingIterNext()})]):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using vim.List([Mapping({"abcG" : %s})]) vim.List([Mapping({"abcG" : None})]):TypeError:('unable to convert NoneType to vim structure',) vim.List([Mapping({"abcG" : {"": 1}})]):ValueError:('empty keys are not allowed',) vim.List([Mapping({"abcG" : {u"": 1}})]):ValueError:('empty keys are not allowed',) ! vim.List([Mapping({"abcG" : FailingMapping()})]):NotImplementedError:() ! vim.List([Mapping({"abcG" : FailingMappingKey()})]):NotImplementedError:() <<< Finished >>> Testing *Iter* using vim.List([%s]) vim.List([FailingIter()]):TypeError:('unable to convert FailingIter to vim structure',) ! vim.List([FailingIterNext()]):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using vim.List([%s]) vim.List([None]):TypeError:('unable to convert NoneType to vim structure',) vim.List([{"": 1}]):ValueError:('empty keys are not allowed',) vim.List([{u"": 1}]):ValueError:('empty keys are not allowed',) ! vim.List([FailingMapping()]):NotImplementedError:() ! vim.List([FailingMappingKey()]):NotImplementedError:() <<< Finished >> ListItem l[1000]:IndexError:('list index out of range',) --- 793,819 ---- <<< Finished >>> Testing *Iter* using vim.List([Mapping({"abcG" : %s})]) vim.List([Mapping({"abcG" : FailingIter()})]):TypeError:('unable to convert FailingIter to vim structure',) ! vim.List([Mapping({"abcG" : FailingIterNext()})]):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using vim.List([Mapping({"abcG" : %s})]) vim.List([Mapping({"abcG" : None})]):TypeError:('unable to convert NoneType to vim structure',) vim.List([Mapping({"abcG" : {"": 1}})]):ValueError:('empty keys are not allowed',) vim.List([Mapping({"abcG" : {u"": 1}})]):ValueError:('empty keys are not allowed',) ! vim.List([Mapping({"abcG" : FailingMapping()})]):NotImplementedError:('keys',) ! vim.List([Mapping({"abcG" : FailingMappingKey()})]):NotImplementedError:('getitem:mappingkey',) ! vim.List([Mapping({"abcG" : FailingNumber()})]):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing *Iter* using vim.List([%s]) vim.List([FailingIter()]):TypeError:('unable to convert FailingIter to vim structure',) ! vim.List([FailingIterNext()]):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using vim.List([%s]) vim.List([None]):TypeError:('unable to convert NoneType to vim structure',) vim.List([{"": 1}]):ValueError:('empty keys are not allowed',) vim.List([{u"": 1}]):ValueError:('empty keys are not allowed',) ! vim.List([FailingMapping()]):NotImplementedError:('keys',) ! vim.List([FailingMappingKey()]):NotImplementedError:('getitem:mappingkey',) ! vim.List([FailingNumber()]):TypeError:('long() argument must be a string or a number',) <<< Finished >> ListItem l[1000]:IndexError:('list index out of range',) *************** *** 761,766 **** --- 822,831 ---- l[1000] = 3:IndexError:('list index out of range',) >> ListAssSlice ll[1:100] = "abcJ":error:('list is locked',) + >>> Testing *Iter* using l[:] = %s + l[:] = FailingIter():NotImplementedError:('iter',) + l[:] = FailingIterNext():NotImplementedError:('next',) + <<< Finished >>> Testing StringToChars using l[:] = [{%s : 1}] l[:] = [{1 : 1}]:TypeError:('expected str() or unicode() instance, but got int',) l[:] = [{u"\0" : 1}]:TypeError:('expected string without null bytes',) *************** *** 778,791 **** <<< Finished >>> Testing *Iter* using l[:] = [{"abcF" : %s}] l[:] = [{"abcF" : FailingIter()}]:TypeError:('unable to convert FailingIter to vim structure',) ! l[:] = [{"abcF" : FailingIterNext()}]:NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using l[:] = [{"abcF" : %s}] l[:] = [{"abcF" : None}]:TypeError:('unable to convert NoneType to vim structure',) l[:] = [{"abcF" : {"": 1}}]:ValueError:('empty keys are not allowed',) l[:] = [{"abcF" : {u"": 1}}]:ValueError:('empty keys are not allowed',) ! l[:] = [{"abcF" : FailingMapping()}]:NotImplementedError:() ! l[:] = [{"abcF" : FailingMappingKey()}]:NotImplementedError:() <<< Finished >>> Testing StringToChars using l[:] = [Mapping({%s : 1})] l[:] = [Mapping({1 : 1})]:TypeError:('expected str() or unicode() instance, but got int',) --- 843,857 ---- <<< Finished >>> Testing *Iter* using l[:] = [{"abcF" : %s}] l[:] = [{"abcF" : FailingIter()}]:TypeError:('unable to convert FailingIter to vim structure',) ! l[:] = [{"abcF" : FailingIterNext()}]:NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using l[:] = [{"abcF" : %s}] l[:] = [{"abcF" : None}]:TypeError:('unable to convert NoneType to vim structure',) l[:] = [{"abcF" : {"": 1}}]:ValueError:('empty keys are not allowed',) l[:] = [{"abcF" : {u"": 1}}]:ValueError:('empty keys are not allowed',) ! l[:] = [{"abcF" : FailingMapping()}]:NotImplementedError:('keys',) ! l[:] = [{"abcF" : FailingMappingKey()}]:NotImplementedError:('getitem:mappingkey',) ! l[:] = [{"abcF" : FailingNumber()}]:TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing StringToChars using l[:] = [Mapping({%s : 1})] l[:] = [Mapping({1 : 1})]:TypeError:('expected str() or unicode() instance, but got int',) *************** *** 804,830 **** <<< Finished >>> Testing *Iter* using l[:] = [Mapping({"abcG" : %s})] l[:] = [Mapping({"abcG" : FailingIter()})]:TypeError:('unable to convert FailingIter to vim structure',) ! l[:] = [Mapping({"abcG" : FailingIterNext()})]:NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abcG" : %s})] l[:] = [Mapping({"abcG" : None})]:TypeError:('unable to convert NoneType to vim structure',) l[:] = [Mapping({"abcG" : {"": 1}})]:ValueError:('empty keys are not allowed',) l[:] = [Mapping({"abcG" : {u"": 1}})]:ValueError:('empty keys are not allowed',) ! l[:] = [Mapping({"abcG" : FailingMapping()})]:NotImplementedError:() ! l[:] = [Mapping({"abcG" : FailingMappingKey()})]:NotImplementedError:() <<< Finished >>> Testing *Iter* using l[:] = [%s] l[:] = [FailingIter()]:TypeError:('unable to convert FailingIter to vim structure',) ! l[:] = [FailingIterNext()]:NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using l[:] = [%s] l[:] = [None]:TypeError:('unable to convert NoneType to vim structure',) l[:] = [{"": 1}]:ValueError:('empty keys are not allowed',) l[:] = [{u"": 1}]:ValueError:('empty keys are not allowed',) ! l[:] = [FailingMapping()]:NotImplementedError:() ! l[:] = [FailingMappingKey()]:NotImplementedError:() <<< Finished >> ListConcatInPlace >>> Testing StringToChars using l.extend([{%s : 1}]) l.extend([{1 : 1}]):TypeError:('expected str() or unicode() instance, but got int',) l.extend([{u"\0" : 1}]):TypeError:('expected string without null bytes',) --- 870,902 ---- <<< Finished >>> Testing *Iter* using l[:] = [Mapping({"abcG" : %s})] l[:] = [Mapping({"abcG" : FailingIter()})]:TypeError:('unable to convert FailingIter to vim structure',) ! l[:] = [Mapping({"abcG" : FailingIterNext()})]:NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abcG" : %s})] l[:] = [Mapping({"abcG" : None})]:TypeError:('unable to convert NoneType to vim structure',) l[:] = [Mapping({"abcG" : {"": 1}})]:ValueError:('empty keys are not allowed',) l[:] = [Mapping({"abcG" : {u"": 1}})]:ValueError:('empty keys are not allowed',) ! l[:] = [Mapping({"abcG" : FailingMapping()})]:NotImplementedError:('keys',) ! l[:] = [Mapping({"abcG" : FailingMappingKey()})]:NotImplementedError:('getitem:mappingkey',) ! l[:] = [Mapping({"abcG" : FailingNumber()})]:TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing *Iter* using l[:] = [%s] l[:] = [FailingIter()]:TypeError:('unable to convert FailingIter to vim structure',) ! l[:] = [FailingIterNext()]:NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using l[:] = [%s] l[:] = [None]:TypeError:('unable to convert NoneType to vim structure',) l[:] = [{"": 1}]:ValueError:('empty keys are not allowed',) l[:] = [{u"": 1}]:ValueError:('empty keys are not allowed',) ! l[:] = [FailingMapping()]:NotImplementedError:('keys',) ! l[:] = [FailingMappingKey()]:NotImplementedError:('getitem:mappingkey',) ! l[:] = [FailingNumber()]:TypeError:('long() argument must be a string or a number',) <<< Finished >> ListConcatInPlace + >>> Testing *Iter* using l.extend(%s) + l.extend(FailingIter()):NotImplementedError:('iter',) + l.extend(FailingIterNext()):NotImplementedError:('next',) + <<< Finished >>> Testing StringToChars using l.extend([{%s : 1}]) l.extend([{1 : 1}]):TypeError:('expected str() or unicode() instance, but got int',) l.extend([{u"\0" : 1}]):TypeError:('expected string without null bytes',) *************** *** 842,855 **** <<< Finished >>> Testing *Iter* using l.extend([{"abcF" : %s}]) l.extend([{"abcF" : FailingIter()}]):TypeError:('unable to convert FailingIter to vim structure',) ! l.extend([{"abcF" : FailingIterNext()}]):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using l.extend([{"abcF" : %s}]) l.extend([{"abcF" : None}]):TypeError:('unable to convert NoneType to vim structure',) l.extend([{"abcF" : {"": 1}}]):ValueError:('empty keys are not allowed',) l.extend([{"abcF" : {u"": 1}}]):ValueError:('empty keys are not allowed',) ! l.extend([{"abcF" : FailingMapping()}]):NotImplementedError:() ! l.extend([{"abcF" : FailingMappingKey()}]):NotImplementedError:() <<< Finished >>> Testing StringToChars using l.extend([Mapping({%s : 1})]) l.extend([Mapping({1 : 1})]):TypeError:('expected str() or unicode() instance, but got int',) --- 914,928 ---- <<< Finished >>> Testing *Iter* using l.extend([{"abcF" : %s}]) l.extend([{"abcF" : FailingIter()}]):TypeError:('unable to convert FailingIter to vim structure',) ! l.extend([{"abcF" : FailingIterNext()}]):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using l.extend([{"abcF" : %s}]) l.extend([{"abcF" : None}]):TypeError:('unable to convert NoneType to vim structure',) l.extend([{"abcF" : {"": 1}}]):ValueError:('empty keys are not allowed',) l.extend([{"abcF" : {u"": 1}}]):ValueError:('empty keys are not allowed',) ! l.extend([{"abcF" : FailingMapping()}]):NotImplementedError:('keys',) ! l.extend([{"abcF" : FailingMappingKey()}]):NotImplementedError:('getitem:mappingkey',) ! l.extend([{"abcF" : FailingNumber()}]):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing StringToChars using l.extend([Mapping({%s : 1})]) l.extend([Mapping({1 : 1})]):TypeError:('expected str() or unicode() instance, but got int',) *************** *** 868,896 **** <<< Finished >>> Testing *Iter* using l.extend([Mapping({"abcG" : %s})]) l.extend([Mapping({"abcG" : FailingIter()})]):TypeError:('unable to convert FailingIter to vim structure',) ! l.extend([Mapping({"abcG" : FailingIterNext()})]):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using l.extend([Mapping({"abcG" : %s})]) l.extend([Mapping({"abcG" : None})]):TypeError:('unable to convert NoneType to vim structure',) l.extend([Mapping({"abcG" : {"": 1}})]):ValueError:('empty keys are not allowed',) l.extend([Mapping({"abcG" : {u"": 1}})]):ValueError:('empty keys are not allowed',) ! l.extend([Mapping({"abcG" : FailingMapping()})]):NotImplementedError:() ! l.extend([Mapping({"abcG" : FailingMappingKey()})]):NotImplementedError:() <<< Finished >>> Testing *Iter* using l.extend([%s]) l.extend([FailingIter()]):TypeError:('unable to convert FailingIter to vim structure',) ! l.extend([FailingIterNext()]):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using l.extend([%s]) l.extend([None]):TypeError:('unable to convert NoneType to vim structure',) l.extend([{"": 1}]):ValueError:('empty keys are not allowed',) l.extend([{u"": 1}]):ValueError:('empty keys are not allowed',) ! l.extend([FailingMapping()]):NotImplementedError:() ! l.extend([FailingMappingKey()]):NotImplementedError:() <<< Finished >> ListSetattr del l.locked:AttributeError:('cannot delete vim.List attributes',) ! l.locked = FailingTrue():NotImplementedError:() l.xxx = True:AttributeError:('cannot set attribute xxx',) > Function >> FunctionConstructor --- 941,971 ---- <<< Finished >>> Testing *Iter* using l.extend([Mapping({"abcG" : %s})]) l.extend([Mapping({"abcG" : FailingIter()})]):TypeError:('unable to convert FailingIter to vim structure',) ! l.extend([Mapping({"abcG" : FailingIterNext()})]):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using l.extend([Mapping({"abcG" : %s})]) l.extend([Mapping({"abcG" : None})]):TypeError:('unable to convert NoneType to vim structure',) l.extend([Mapping({"abcG" : {"": 1}})]):ValueError:('empty keys are not allowed',) l.extend([Mapping({"abcG" : {u"": 1}})]):ValueError:('empty keys are not allowed',) ! l.extend([Mapping({"abcG" : FailingMapping()})]):NotImplementedError:('keys',) ! l.extend([Mapping({"abcG" : FailingMappingKey()})]):NotImplementedError:('getitem:mappingkey',) ! l.extend([Mapping({"abcG" : FailingNumber()})]):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing *Iter* using l.extend([%s]) l.extend([FailingIter()]):TypeError:('unable to convert FailingIter to vim structure',) ! l.extend([FailingIterNext()]):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using l.extend([%s]) l.extend([None]):TypeError:('unable to convert NoneType to vim structure',) l.extend([{"": 1}]):ValueError:('empty keys are not allowed',) l.extend([{u"": 1}]):ValueError:('empty keys are not allowed',) ! l.extend([FailingMapping()]):NotImplementedError:('keys',) ! l.extend([FailingMappingKey()]):NotImplementedError:('getitem:mappingkey',) ! l.extend([FailingNumber()]):TypeError:('long() argument must be a string or a number',) <<< Finished >> ListSetattr del l.locked:AttributeError:('cannot delete vim.List attributes',) ! l.locked = FailingTrue():NotImplementedError:('bool',) l.xxx = True:AttributeError:('cannot set attribute xxx',) > Function >> FunctionConstructor *************** *** 915,928 **** <<< Finished >>> Testing *Iter* using f({"abcF" : %s}) f({"abcF" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',) ! f({"abcF" : FailingIterNext()}):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using f({"abcF" : %s}) f({"abcF" : None}):TypeError:('unable to convert NoneType to vim structure',) f({"abcF" : {"": 1}}):ValueError:('empty keys are not allowed',) f({"abcF" : {u"": 1}}):ValueError:('empty keys are not allowed',) ! f({"abcF" : FailingMapping()}):NotImplementedError:() ! f({"abcF" : FailingMappingKey()}):NotImplementedError:() <<< Finished >>> Testing StringToChars using f(Mapping({%s : 1})) f(Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',) --- 990,1004 ---- <<< Finished >>> Testing *Iter* using f({"abcF" : %s}) f({"abcF" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',) ! f({"abcF" : FailingIterNext()}):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using f({"abcF" : %s}) f({"abcF" : None}):TypeError:('unable to convert NoneType to vim structure',) f({"abcF" : {"": 1}}):ValueError:('empty keys are not allowed',) f({"abcF" : {u"": 1}}):ValueError:('empty keys are not allowed',) ! f({"abcF" : FailingMapping()}):NotImplementedError:('keys',) ! f({"abcF" : FailingMappingKey()}):NotImplementedError:('getitem:mappingkey',) ! f({"abcF" : FailingNumber()}):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing StringToChars using f(Mapping({%s : 1})) f(Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',) *************** *** 941,965 **** <<< Finished >>> Testing *Iter* using f(Mapping({"abcG" : %s})) f(Mapping({"abcG" : FailingIter()})):TypeError:('unable to convert FailingIter to vim structure',) ! f(Mapping({"abcG" : FailingIterNext()})):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using f(Mapping({"abcG" : %s})) f(Mapping({"abcG" : None})):TypeError:('unable to convert NoneType to vim structure',) f(Mapping({"abcG" : {"": 1}})):ValueError:('empty keys are not allowed',) f(Mapping({"abcG" : {u"": 1}})):ValueError:('empty keys are not allowed',) ! f(Mapping({"abcG" : FailingMapping()})):NotImplementedError:() ! f(Mapping({"abcG" : FailingMappingKey()})):NotImplementedError:() <<< Finished >>> Testing *Iter* using f(%s) f(FailingIter()):TypeError:('unable to convert FailingIter to vim structure',) ! f(FailingIterNext()):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using f(%s) f(None):TypeError:('unable to convert NoneType to vim structure',) f({"": 1}):ValueError:('empty keys are not allowed',) f({u"": 1}):ValueError:('empty keys are not allowed',) ! f(FailingMapping()):NotImplementedError:() ! f(FailingMappingKey()):NotImplementedError:() <<< Finished >>> Testing StringToChars using fd(self={%s : 1}) fd(self={1 : 1}):TypeError:('expected str() or unicode() instance, but got int',) --- 1017,1043 ---- <<< Finished >>> Testing *Iter* using f(Mapping({"abcG" : %s})) f(Mapping({"abcG" : FailingIter()})):TypeError:('unable to convert FailingIter to vim structure',) ! f(Mapping({"abcG" : FailingIterNext()})):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using f(Mapping({"abcG" : %s})) f(Mapping({"abcG" : None})):TypeError:('unable to convert NoneType to vim structure',) f(Mapping({"abcG" : {"": 1}})):ValueError:('empty keys are not allowed',) f(Mapping({"abcG" : {u"": 1}})):ValueError:('empty keys are not allowed',) ! f(Mapping({"abcG" : FailingMapping()})):NotImplementedError:('keys',) ! f(Mapping({"abcG" : FailingMappingKey()})):NotImplementedError:('getitem:mappingkey',) ! f(Mapping({"abcG" : FailingNumber()})):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing *Iter* using f(%s) f(FailingIter()):TypeError:('unable to convert FailingIter to vim structure',) ! f(FailingIterNext()):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using f(%s) f(None):TypeError:('unable to convert NoneType to vim structure',) f({"": 1}):ValueError:('empty keys are not allowed',) f({u"": 1}):ValueError:('empty keys are not allowed',) ! f(FailingMapping()):NotImplementedError:('keys',) ! f(FailingMappingKey()):NotImplementedError:('getitem:mappingkey',) ! f(FailingNumber()):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing StringToChars using fd(self={%s : 1}) fd(self={1 : 1}):TypeError:('expected str() or unicode() instance, but got int',) *************** *** 978,991 **** <<< Finished >>> Testing *Iter* using fd(self={"abcF" : %s}) fd(self={"abcF" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',) ! fd(self={"abcF" : FailingIterNext()}):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using fd(self={"abcF" : %s}) fd(self={"abcF" : None}):TypeError:('unable to convert NoneType to vim structure',) fd(self={"abcF" : {"": 1}}):ValueError:('empty keys are not allowed',) fd(self={"abcF" : {u"": 1}}):ValueError:('empty keys are not allowed',) ! fd(self={"abcF" : FailingMapping()}):NotImplementedError:() ! fd(self={"abcF" : FailingMappingKey()}):NotImplementedError:() <<< Finished >>> Testing StringToChars using fd(self=Mapping({%s : 1})) fd(self=Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',) --- 1056,1070 ---- <<< Finished >>> Testing *Iter* using fd(self={"abcF" : %s}) fd(self={"abcF" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',) ! fd(self={"abcF" : FailingIterNext()}):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using fd(self={"abcF" : %s}) fd(self={"abcF" : None}):TypeError:('unable to convert NoneType to vim structure',) fd(self={"abcF" : {"": 1}}):ValueError:('empty keys are not allowed',) fd(self={"abcF" : {u"": 1}}):ValueError:('empty keys are not allowed',) ! fd(self={"abcF" : FailingMapping()}):NotImplementedError:('keys',) ! fd(self={"abcF" : FailingMappingKey()}):NotImplementedError:('getitem:mappingkey',) ! fd(self={"abcF" : FailingNumber()}):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing StringToChars using fd(self=Mapping({%s : 1})) fd(self=Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',) *************** *** 1004,1017 **** <<< Finished >>> Testing *Iter* using fd(self=Mapping({"abcG" : %s})) fd(self=Mapping({"abcG" : FailingIter()})):TypeError:('unable to convert FailingIter to vim structure',) ! fd(self=Mapping({"abcG" : FailingIterNext()})):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyObject using fd(self=Mapping({"abcG" : %s})) fd(self=Mapping({"abcG" : None})):TypeError:('unable to convert NoneType to vim structure',) fd(self=Mapping({"abcG" : {"": 1}})):ValueError:('empty keys are not allowed',) fd(self=Mapping({"abcG" : {u"": 1}})):ValueError:('empty keys are not allowed',) ! fd(self=Mapping({"abcG" : FailingMapping()})):NotImplementedError:() ! fd(self=Mapping({"abcG" : FailingMappingKey()})):NotImplementedError:() <<< Finished >>> Testing *Iter* using fd(self=%s) fd(self=FailingIter()):TypeError:('unable to convert FailingIter to vim dictionary',) --- 1083,1097 ---- <<< Finished >>> Testing *Iter* using fd(self=Mapping({"abcG" : %s})) fd(self=Mapping({"abcG" : FailingIter()})):TypeError:('unable to convert FailingIter to vim structure',) ! fd(self=Mapping({"abcG" : FailingIterNext()})):NotImplementedError:('next',) <<< Finished >>> Testing ConvertFromPyObject using fd(self=Mapping({"abcG" : %s})) fd(self=Mapping({"abcG" : None})):TypeError:('unable to convert NoneType to vim structure',) fd(self=Mapping({"abcG" : {"": 1}})):ValueError:('empty keys are not allowed',) fd(self=Mapping({"abcG" : {u"": 1}})):ValueError:('empty keys are not allowed',) ! fd(self=Mapping({"abcG" : FailingMapping()})):NotImplementedError:('keys',) ! fd(self=Mapping({"abcG" : FailingMappingKey()})):NotImplementedError:('getitem:mappingkey',) ! fd(self=Mapping({"abcG" : FailingNumber()})):TypeError:('long() argument must be a string or a number',) <<< Finished >>> Testing *Iter* using fd(self=%s) fd(self=FailingIter()):TypeError:('unable to convert FailingIter to vim dictionary',) *************** *** 1021,1028 **** fd(self=None):TypeError:('unable to convert NoneType to vim dictionary',) fd(self={"": 1}):ValueError:('empty keys are not allowed',) fd(self={u"": 1}):ValueError:('empty keys are not allowed',) ! fd(self=FailingMapping()):NotImplementedError:() ! fd(self=FailingMappingKey()):NotImplementedError:() <<< Finished >>> Testing ConvertFromPyMapping using fd(self=%s) fd(self=[]):TypeError:('unable to convert list to vim dictionary',) --- 1101,1109 ---- fd(self=None):TypeError:('unable to convert NoneType to vim dictionary',) fd(self={"": 1}):ValueError:('empty keys are not allowed',) fd(self={u"": 1}):ValueError:('empty keys are not allowed',) ! fd(self=FailingMapping()):NotImplementedError:('keys',) ! fd(self=FailingMappingKey()):NotImplementedError:('getitem:mappingkey',) ! fd(self=FailingNumber()):TypeError:('unable to convert FailingNumber to vim dictionary',) <<< Finished >>> Testing ConvertFromPyMapping using fd(self=%s) fd(self=[]):TypeError:('unable to convert list to vim dictionary',) *************** *** 1040,1053 **** vim.current.window.buffer = 0:TypeError:('readonly attribute: buffer',) vim.current.window.cursor = (100000000, 100000000):error:('cursor position outside buffer',) vim.current.window.cursor = True:TypeError:('argument must be 2-item sequence, not bool',) ! vim.current.window.height = "abcK":TypeError:('expected int(), long() or something supporting coercing to long(), but got str',) ! vim.current.window.width = "abcL":TypeError:('expected int(), long() or something supporting coercing to long(), but got str',) vim.current.window.xxxxxx = True:AttributeError:('xxxxxx',) > WinList >> WinListItem vim.windows[1000]:IndexError:('no such window',) > Buffer >> StringToLine (indirect) vim.current.buffer[0] = "\na":error:('string cannot contain newlines',) >> SetBufferLine (indirect) vim.current.buffer[0] = True:TypeError:('bad argument type for built-in operation',) --- 1121,1143 ---- vim.current.window.buffer = 0:TypeError:('readonly attribute: buffer',) vim.current.window.cursor = (100000000, 100000000):error:('cursor position outside buffer',) vim.current.window.cursor = True:TypeError:('argument must be 2-item sequence, not bool',) ! >>> Testing NumberToLong using vim.current.window.height = %s ! vim.current.window.height = []:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) ! vim.current.window.height = None:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) ! vim.current.window.height = -1:ValueError:('number must be greater or equal to zero',) ! <<< Finished ! >>> Testing NumberToLong using vim.current.window.width = %s ! vim.current.window.width = []:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) ! vim.current.window.width = None:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) ! vim.current.window.width = -1:ValueError:('number must be greater or equal to zero',) ! <<< Finished vim.current.window.xxxxxx = True:AttributeError:('xxxxxx',) > WinList >> WinListItem vim.windows[1000]:IndexError:('no such window',) > Buffer >> StringToLine (indirect) + vim.current.buffer[0] = u"\na":error:('string cannot contain newlines',) vim.current.buffer[0] = "\na":error:('string cannot contain newlines',) >> SetBufferLine (indirect) vim.current.buffer[0] = True:TypeError:('bad argument type for built-in operation',) *************** *** 1075,1082 **** vim.current.buffer.range(1, 2, 3):TypeError:('function takes exactly 2 arguments (3 given)',) > BufMap >> BufMapItem - vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) vim.buffers[100000000]:KeyError:(100000000,) > Current >> CurrentGetattr vim.current.xxx:AttributeError:('xxx',) --- 1165,1177 ---- vim.current.buffer.range(1, 2, 3):TypeError:('function takes exactly 2 arguments (3 given)',) > BufMap >> BufMapItem vim.buffers[100000000]:KeyError:(100000000,) + >>> Testing NumberToLong using vim.buffers[%s] + vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) + vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) + vim.buffers[-1]:ValueError:('number must be greater then zero',) + vim.buffers[0]:ValueError:('number must be greater then zero',) + <<< Finished > Current >> CurrentGetattr vim.current.xxx:AttributeError:('xxx',) *************** *** 1086,1094 **** --- 1181,1194 ---- vim.current.window = True:TypeError:('expected vim.Window object, but got bool',) vim.current.tabpage = True:TypeError:('expected vim.TabPage object, but got bool',) vim.current.xxx = True:AttributeError:('xxx',) + ['/testdir'] + '/testdir' 2,xx before after + pythonx/topmodule/__init__.py + pythonx/topmodule/submodule/__init__.py + pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py vim.command("throw 'abcN'"):error:('abcN',) Exe("throw 'def'"):error:('def',) vim.eval("Exe('throw ''ghi''')"):error:('ghi',) *** ../vim-7.3.1235/src/testdir/test87.in 2013-06-23 14:37:00.000000000 +0200 --- src/testdir/test87.in 2013-06-23 16:26:40.000000000 +0200 *************** *** 290,296 **** :" threading :let l = [0] :py3 l=vim.bindeval('l') ! :py3 < Output") cb.append(">> OutputSetattr") ee('del sys.stdout.softspace') ! ee('sys.stdout.softspace = []') ee('sys.stdout.attr = None') cb.append(">> OutputWrite") ee('sys.stdout.write(None)') --- 913,980 ---- 'FailingIterNext()', )) + def number_test(expr, natural=False, unsigned=False): + if natural: + unsigned = True + return subexpr_test(expr, 'NumberToLong', ( + '[]', + 'None', + ) + (('-1',) if unsigned else ()) + + (('0',) if natural else ())) + class FailingTrue(object): def __bool__(self): ! raise NotImplementedError('bool') class FailingIter(object): def __iter__(self): ! raise NotImplementedError('iter') class FailingIterNext(object): def __iter__(self): return self def __next__(self): ! raise NotImplementedError('next') class FailingMappingKey(object): def __getitem__(self, item): ! raise NotImplementedError('getitem:mappingkey') def keys(self): return list("abcH") class FailingMapping(object): def __getitem__(self): ! raise NotImplementedError('getitem:mapping') def keys(self): ! raise NotImplementedError('keys') class FailingList(list): def __getitem__(self, idx): if i == 2: ! raise NotImplementedError('getitem:list') else: return super(FailingList, self).__getitem__(idx) + class NoArgsCall(object): + def __call__(self): + pass + + class FailingCall(object): + def __call__(self, path): + raise NotImplementedError('call') + + class FailingNumber(object): + def __int__(self): + raise NotImplementedError('int') + cb.append("> Output") cb.append(">> OutputSetattr") ee('del sys.stdout.softspace') ! number_test('sys.stdout.softspace = %s', unsigned=True) ! number_test('sys.stderr.softspace = %s', unsigned=True) ee('sys.stdout.attr = None') cb.append(">> OutputWrite") ee('sys.stdout.write(None)') *************** *** 960,977 **** ee('sys.stdout.writelines([1])') iter_test('sys.stdout.writelines(%s)') cb.append("> VimCommand") ! ee('vim.command(1)') #! Not checked: vim->python exceptions translating: checked later cb.append("> VimToPython") #! Not checked: everything: needs errors in internal python functions cb.append("> VimEval") ! ee('vim.eval(1)') #! Not checked: everything: needs errors in internal python functions cb.append("> VimEvalPy") ! ee('vim.bindeval(1)') #! Not checked: vim->python exceptions translating: checked later cb.append("> VimStrwidth") ! ee('vim.strwidth(1)') cb.append("> Dictionary") cb.append(">> DictionaryConstructor") ee('vim.Dictionary("abcI")') --- 983,1016 ---- ee('sys.stdout.writelines([1])') iter_test('sys.stdout.writelines(%s)') cb.append("> VimCommand") ! stringtochars_test('vim.command(%s)') ! ee('vim.command("", 2)') #! Not checked: vim->python exceptions translating: checked later cb.append("> VimToPython") #! Not checked: everything: needs errors in internal python functions cb.append("> VimEval") ! stringtochars_test('vim.eval(%s)') ! ee('vim.eval("", FailingTrue())') #! Not checked: everything: needs errors in internal python functions cb.append("> VimEvalPy") ! stringtochars_test('vim.bindeval(%s)') ! ee('vim.eval("", 2)') #! Not checked: vim->python exceptions translating: checked later cb.append("> VimStrwidth") ! stringtochars_test('vim.strwidth(%s)') ! cb.append("> VimForeachRTP") ! ee('vim.foreach_rtp(None)') ! ee('vim.foreach_rtp(NoArgsCall())') ! ee('vim.foreach_rtp(FailingCall())') ! ee('vim.foreach_rtp(int, 2)') ! cb.append('> import') ! old_rtp = vim.options['rtp'] ! vim.options['rtp'] = os.getcwd().replace(',', '\\,').replace('\\', '\\\\') ! ee('import xxx_no_such_module_xxx') ! ee('import failing_import') ! ee('import failing') ! vim.options['rtp'] = old_rtp ! del old_rtp cb.append("> Dictionary") cb.append(">> DictionaryConstructor") ee('vim.Dictionary("abcI")') *************** *** 1050,1057 **** ee('vim.current.window.buffer = 0') ee('vim.current.window.cursor = (100000000, 100000000)') ee('vim.current.window.cursor = True') ! ee('vim.current.window.height = "abcK"') ! ee('vim.current.window.width = "abcL"') ee('vim.current.window.xxxxxx = True') cb.append("> WinList") cb.append(">> WinListItem") --- 1089,1096 ---- ee('vim.current.window.buffer = 0') ee('vim.current.window.cursor = (100000000, 100000000)') ee('vim.current.window.cursor = True') ! number_test('vim.current.window.height = %s', unsigned=True) ! number_test('vim.current.window.width = %s', unsigned=True) ee('vim.current.window.xxxxxx = True') cb.append("> WinList") cb.append(">> WinListItem") *************** *** 1059,1064 **** --- 1098,1104 ---- cb.append("> Buffer") cb.append(">> StringToLine (indirect)") ee('vim.current.buffer[0] = "\\na"') + ee('vim.current.buffer[0] = b"\\na"') cb.append(">> SetBufferLine (indirect)") ee('vim.current.buffer[0] = True') cb.append(">> SetBufferLineList (indirect)") *************** *** 1085,1092 **** ee('vim.current.buffer.range(1, 2, 3)') cb.append("> BufMap") cb.append(">> BufMapItem") - ee('vim.buffers[None]') ee('vim.buffers[100000000]') cb.append("> Current") cb.append(">> CurrentGetattr") ee('vim.current.xxx') --- 1125,1132 ---- ee('vim.current.buffer.range(1, 2, 3)') cb.append("> BufMap") cb.append(">> BufMapItem") ee('vim.buffers[100000000]') + number_test('vim.buffers[%s]', natural=True) cb.append("> Current") cb.append(">> CurrentGetattr") ee('vim.current.xxx') *************** *** 1110,1121 **** --- 1150,1165 ---- del convertfrompyobject_test del convertfrompymapping_test del iter_test + del number_test del FailingTrue del FailingIter del FailingIterNext del FailingMapping del FailingMappingKey del FailingList + del NoArgsCall + del FailingCall + del FailingNumber EOF :delfunction F :" *************** *** 1124,1129 **** --- 1168,1183 ---- sys.path.insert(0, os.path.join(os.getcwd(), 'python_before')) sys.path.append(os.path.join(os.getcwd(), 'python_after')) vim.options['rtp'] = os.getcwd().replace(',', '\\,').replace('\\', '\\\\') + l = [] + def callback(path): + l.append(os.path.relpath(path)) + vim.foreach_rtp(callback) + cb.append(repr(l)) + del l + def callback(path): + return os.path.relpath(path) + cb.append(repr(vim.foreach_rtp(callback))) + del callback from module import dir as d from modulex import ddir cb.append(d + ',' + ddir) *************** *** 1131,1140 **** --- 1185,1203 ---- cb.append(before.dir) import after cb.append(after.dir) + import topmodule as tm + import topmodule.submodule as tms + import topmodule.submodule.subsubmodule.subsubsubmodule as tmsss + cb.append(tm.__file__[-len('modulex/topmodule/__init__.py'):]) + cb.append(tms.__file__[-len('modulex/topmodule/submodule/__init__.py'):]) + cb.append(tmsss.__file__[-len('modulex/topmodule/submodule/subsubmodule/subsubsubmodule.py'):]) del before del after del d del ddir + del tm + del tms + del tmsss EOF :" :" Test exceptions *************** *** 1188,1193 **** --- 1251,1257 ---- :call garbagecollect(1) :" :/^start:/,$wq! test.out + :" vim: et ts=4 isk-=\: :call getchar() ENDTEST *** ../vim-7.3.1235/src/testdir/test87.ok 2013-06-23 14:37:00.000000000 +0200 --- src/testdir/test87.ok 2013-06-23 16:26:40.000000000 +0200 *************** *** 430,436 **** --- 430,445 ---- > Output >> OutputSetattr del sys.stdout.softspace:(, AttributeError("can't delete OutputObject attributes",)) + >>> Testing NumberToLong using sys.stdout.softspace = %s sys.stdout.softspace = []:(, TypeError('expected int() or something supporting coercing to int(), but got list',)) + sys.stdout.softspace = None:(, TypeError('expected int() or something supporting coercing to int(), but got NoneType',)) + sys.stdout.softspace = -1:(, ValueError('number must be greater or equal to zero',)) + <<< Finished + >>> Testing NumberToLong using sys.stderr.softspace = %s + sys.stderr.softspace = []:(, TypeError('expected int() or something supporting coercing to int(), but got list',)) + sys.stderr.softspace = None:(, TypeError('expected int() or something supporting coercing to int(), but got NoneType',)) + sys.stderr.softspace = -1:(, ValueError('number must be greater or equal to zero',)) + <<< Finished sys.stdout.attr = None:(, AttributeError('invalid attribute: attr',)) >> OutputWrite sys.stdout.write(None):(, TypeError("Can't convert 'NoneType' object to str implicitly",)) *************** *** 438,461 **** sys.stdout.writelines(None):(, TypeError("'NoneType' object is not iterable",)) sys.stdout.writelines([1]):(, TypeError("Can't convert 'int' object to str implicitly",)) >>> Testing *Iter* using sys.stdout.writelines(%s) ! sys.stdout.writelines(FailingIter()):(, NotImplementedError()) ! sys.stdout.writelines(FailingIterNext()):(, NotImplementedError()) <<< Finished > VimCommand vim.command(1):(, TypeError('expected bytes() or str() instance, but got int',)) > VimToPython > VimEval vim.eval(1):(, TypeError('expected bytes() or str() instance, but got int',)) > VimEvalPy vim.bindeval(1):(, TypeError('expected bytes() or str() instance, but got int',)) > VimStrwidth vim.strwidth(1):(, TypeError('expected bytes() or str() instance, but got int',)) > Dictionary >> DictionaryConstructor vim.Dictionary("abcI"):(, ValueError('expected sequence element of size 2, but got sequence of size 1',)) >> DictionarySetattr del d.locked:(, AttributeError('cannot delete vim.Dictionary attributes',)) ! d.locked = FailingTrue():(, NotImplementedError()) vim.vvars.locked = False:(, TypeError('cannot modify fixed dictionary',)) d.scope = True:(, AttributeError('cannot set attribute scope',)) d.xxx = True:(, AttributeError('cannot set attribute xxx',)) --- 447,498 ---- sys.stdout.writelines(None):(, TypeError("'NoneType' object is not iterable",)) sys.stdout.writelines([1]):(, TypeError("Can't convert 'int' object to str implicitly",)) >>> Testing *Iter* using sys.stdout.writelines(%s) ! sys.stdout.writelines(FailingIter()):(, NotImplementedError('iter',)) ! sys.stdout.writelines(FailingIterNext()):(, NotImplementedError('next',)) <<< Finished > VimCommand + >>> Testing StringToChars using vim.command(%s) vim.command(1):(, TypeError('expected bytes() or str() instance, but got int',)) + vim.command(b"\0"):(, TypeError('expected bytes with no null',)) + vim.command("\0"):(, TypeError('expected bytes with no null',)) + <<< Finished + vim.command("", 2):(, TypeError('command() takes exactly one argument (2 given)',)) > VimToPython > VimEval + >>> Testing StringToChars using vim.eval(%s) vim.eval(1):(, TypeError('expected bytes() or str() instance, but got int',)) + vim.eval(b"\0"):(, TypeError('expected bytes with no null',)) + vim.eval("\0"):(, TypeError('expected bytes with no null',)) + <<< Finished + vim.eval("", FailingTrue()):(, TypeError('function takes exactly 1 argument (2 given)',)) > VimEvalPy + >>> Testing StringToChars using vim.bindeval(%s) vim.bindeval(1):(, TypeError('expected bytes() or str() instance, but got int',)) + vim.bindeval(b"\0"):(, TypeError('expected bytes with no null',)) + vim.bindeval("\0"):(, TypeError('expected bytes with no null',)) + <<< Finished + vim.eval("", 2):(, TypeError('function takes exactly 1 argument (2 given)',)) > VimStrwidth + >>> Testing StringToChars using vim.strwidth(%s) vim.strwidth(1):(, TypeError('expected bytes() or str() instance, but got int',)) + vim.strwidth(b"\0"):(, TypeError('expected bytes with no null',)) + vim.strwidth("\0"):(, TypeError('expected bytes with no null',)) + <<< Finished + > VimForeachRTP + vim.foreach_rtp(None):(, TypeError("'NoneType' object is not callable",)) + vim.foreach_rtp(NoArgsCall()):(, TypeError('__call__() takes exactly 1 positional argument (2 given)',)) + vim.foreach_rtp(FailingCall()):(, NotImplementedError('call',)) + vim.foreach_rtp(int, 2):(, TypeError('foreach_rtp() takes exactly one argument (2 given)',)) + > import + import xxx_no_such_module_xxx:(, ImportError('No module named xxx_no_such_module_xxx',)) + import failing_import:(, ImportError('No module named failing_import',)) + import failing:(, ImportError('No module named failing',)) > Dictionary >> DictionaryConstructor vim.Dictionary("abcI"):(, ValueError('expected sequence element of size 2, but got sequence of size 1',)) >> DictionarySetattr del d.locked:(, AttributeError('cannot delete vim.Dictionary attributes',)) ! d.locked = FailingTrue():(, NotImplementedError('bool',)) vim.vvars.locked = False:(, TypeError('cannot modify fixed dictionary',)) d.scope = True:(, AttributeError('cannot set attribute scope',)) d.xxx = True:(, AttributeError('cannot set attribute xxx',)) *************** *** 494,507 **** <<< Finished >>> Testing *Iter* using d["a"] = {"abcF" : %s} d["a"] = {"abcF" : FailingIter()}:(, TypeError('unable to convert FailingIter to vim structure',)) ! d["a"] = {"abcF" : FailingIterNext()}:(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using d["a"] = {"abcF" : %s} d["a"] = {"abcF" : None}:(, TypeError('unable to convert NoneType to vim structure',)) d["a"] = {"abcF" : {b"": 1}}:(, ValueError('empty keys are not allowed',)) d["a"] = {"abcF" : {"": 1}}:(, ValueError('empty keys are not allowed',)) ! d["a"] = {"abcF" : FailingMapping()}:(, NotImplementedError()) ! d["a"] = {"abcF" : FailingMappingKey()}:(, NotImplementedError()) <<< Finished >>> Testing StringToChars using d["a"] = Mapping({%s : 1}) d["a"] = Mapping({1 : 1}):(, TypeError('expected bytes() or str() instance, but got int',)) --- 531,545 ---- <<< Finished >>> Testing *Iter* using d["a"] = {"abcF" : %s} d["a"] = {"abcF" : FailingIter()}:(, TypeError('unable to convert FailingIter to vim structure',)) ! d["a"] = {"abcF" : FailingIterNext()}:(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using d["a"] = {"abcF" : %s} d["a"] = {"abcF" : None}:(, TypeError('unable to convert NoneType to vim structure',)) d["a"] = {"abcF" : {b"": 1}}:(, ValueError('empty keys are not allowed',)) d["a"] = {"abcF" : {"": 1}}:(, ValueError('empty keys are not allowed',)) ! d["a"] = {"abcF" : FailingMapping()}:(, NotImplementedError('keys',)) ! d["a"] = {"abcF" : FailingMappingKey()}:(, NotImplementedError('getitem:mappingkey',)) ! d["a"] = {"abcF" : FailingNumber()}:(, NotImplementedError('int',)) <<< Finished >>> Testing StringToChars using d["a"] = Mapping({%s : 1}) d["a"] = Mapping({1 : 1}):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 520,553 **** <<< Finished >>> Testing *Iter* using d["a"] = Mapping({"abcG" : %s}) d["a"] = Mapping({"abcG" : FailingIter()}):(, TypeError('unable to convert FailingIter to vim structure',)) ! d["a"] = Mapping({"abcG" : FailingIterNext()}):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abcG" : %s}) d["a"] = Mapping({"abcG" : None}):(, TypeError('unable to convert NoneType to vim structure',)) d["a"] = Mapping({"abcG" : {b"": 1}}):(, ValueError('empty keys are not allowed',)) d["a"] = Mapping({"abcG" : {"": 1}}):(, ValueError('empty keys are not allowed',)) ! d["a"] = Mapping({"abcG" : FailingMapping()}):(, NotImplementedError()) ! d["a"] = Mapping({"abcG" : FailingMappingKey()}):(, NotImplementedError()) <<< Finished >>> Testing *Iter* using d["a"] = %s d["a"] = FailingIter():(, TypeError('unable to convert FailingIter to vim structure',)) ! d["a"] = FailingIterNext():(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using d["a"] = %s d["a"] = None:(, TypeError('unable to convert NoneType to vim structure',)) d["a"] = {b"": 1}:(, ValueError('empty keys are not allowed',)) d["a"] = {"": 1}:(, ValueError('empty keys are not allowed',)) ! d["a"] = FailingMapping():(, NotImplementedError()) ! d["a"] = FailingMappingKey():(, NotImplementedError()) <<< Finished >> DictionaryUpdate >>> kwargs >>> iter ! d.update(FailingMapping()):(, NotImplementedError()) ! d.update([FailingIterNext()]):(, NotImplementedError()) >>> Testing *Iter* using d.update(%s) ! d.update(FailingIter()):(, NotImplementedError()) ! d.update(FailingIterNext()):(, NotImplementedError()) <<< Finished >>> Testing StringToChars using d.update({%s : 1}) d.update({1 : 1}):(, TypeError('expected bytes() or str() instance, but got int',)) --- 558,593 ---- <<< Finished >>> Testing *Iter* using d["a"] = Mapping({"abcG" : %s}) d["a"] = Mapping({"abcG" : FailingIter()}):(, TypeError('unable to convert FailingIter to vim structure',)) ! d["a"] = Mapping({"abcG" : FailingIterNext()}):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abcG" : %s}) d["a"] = Mapping({"abcG" : None}):(, TypeError('unable to convert NoneType to vim structure',)) d["a"] = Mapping({"abcG" : {b"": 1}}):(, ValueError('empty keys are not allowed',)) d["a"] = Mapping({"abcG" : {"": 1}}):(, ValueError('empty keys are not allowed',)) ! d["a"] = Mapping({"abcG" : FailingMapping()}):(, NotImplementedError('keys',)) ! d["a"] = Mapping({"abcG" : FailingMappingKey()}):(, NotImplementedError('getitem:mappingkey',)) ! d["a"] = Mapping({"abcG" : FailingNumber()}):(, NotImplementedError('int',)) <<< Finished >>> Testing *Iter* using d["a"] = %s d["a"] = FailingIter():(, TypeError('unable to convert FailingIter to vim structure',)) ! d["a"] = FailingIterNext():(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using d["a"] = %s d["a"] = None:(, TypeError('unable to convert NoneType to vim structure',)) d["a"] = {b"": 1}:(, ValueError('empty keys are not allowed',)) d["a"] = {"": 1}:(, ValueError('empty keys are not allowed',)) ! d["a"] = FailingMapping():(, NotImplementedError('keys',)) ! d["a"] = FailingMappingKey():(, NotImplementedError('getitem:mappingkey',)) ! d["a"] = FailingNumber():(, NotImplementedError('int',)) <<< Finished >> DictionaryUpdate >>> kwargs >>> iter ! d.update(FailingMapping()):(, NotImplementedError('keys',)) ! d.update([FailingIterNext()]):(, NotImplementedError('next',)) >>> Testing *Iter* using d.update(%s) ! d.update(FailingIter()):(, NotImplementedError('iter',)) ! d.update(FailingIterNext()):(, NotImplementedError('next',)) <<< Finished >>> Testing StringToChars using d.update({%s : 1}) d.update({1 : 1}):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 566,579 **** <<< Finished >>> Testing *Iter* using d.update({"abcF" : %s}) d.update({"abcF" : FailingIter()}):(, TypeError('unable to convert FailingIter to vim structure',)) ! d.update({"abcF" : FailingIterNext()}):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using d.update({"abcF" : %s}) d.update({"abcF" : None}):(, TypeError('unable to convert NoneType to vim structure',)) d.update({"abcF" : {b"": 1}}):(, ValueError('empty keys are not allowed',)) d.update({"abcF" : {"": 1}}):(, ValueError('empty keys are not allowed',)) ! d.update({"abcF" : FailingMapping()}):(, NotImplementedError()) ! d.update({"abcF" : FailingMappingKey()}):(, NotImplementedError()) <<< Finished >>> Testing StringToChars using d.update(Mapping({%s : 1})) d.update(Mapping({1 : 1})):(, TypeError('expected bytes() or str() instance, but got int',)) --- 606,620 ---- <<< Finished >>> Testing *Iter* using d.update({"abcF" : %s}) d.update({"abcF" : FailingIter()}):(, TypeError('unable to convert FailingIter to vim structure',)) ! d.update({"abcF" : FailingIterNext()}):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using d.update({"abcF" : %s}) d.update({"abcF" : None}):(, TypeError('unable to convert NoneType to vim structure',)) d.update({"abcF" : {b"": 1}}):(, ValueError('empty keys are not allowed',)) d.update({"abcF" : {"": 1}}):(, ValueError('empty keys are not allowed',)) ! d.update({"abcF" : FailingMapping()}):(, NotImplementedError('keys',)) ! d.update({"abcF" : FailingMappingKey()}):(, NotImplementedError('getitem:mappingkey',)) ! d.update({"abcF" : FailingNumber()}):(, NotImplementedError('int',)) <<< Finished >>> Testing StringToChars using d.update(Mapping({%s : 1})) d.update(Mapping({1 : 1})):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 592,616 **** <<< Finished >>> Testing *Iter* using d.update(Mapping({"abcG" : %s})) d.update(Mapping({"abcG" : FailingIter()})):(, TypeError('unable to convert FailingIter to vim structure',)) ! d.update(Mapping({"abcG" : FailingIterNext()})):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using d.update(Mapping({"abcG" : %s})) d.update(Mapping({"abcG" : None})):(, TypeError('unable to convert NoneType to vim structure',)) d.update(Mapping({"abcG" : {b"": 1}})):(, ValueError('empty keys are not allowed',)) d.update(Mapping({"abcG" : {"": 1}})):(, ValueError('empty keys are not allowed',)) ! d.update(Mapping({"abcG" : FailingMapping()})):(, NotImplementedError()) ! d.update(Mapping({"abcG" : FailingMappingKey()})):(, NotImplementedError()) <<< Finished >>> Testing *Iter* using d.update(%s) ! d.update(FailingIter()):(, NotImplementedError()) ! d.update(FailingIterNext()):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using d.update(%s) d.update(None):(, TypeError("'NoneType' object is not iterable",)) d.update({b"": 1}):(, ValueError('empty keys are not allowed',)) d.update({"": 1}):(, ValueError('empty keys are not allowed',)) ! d.update(FailingMapping()):(, NotImplementedError()) ! d.update(FailingMappingKey()):(, NotImplementedError()) <<< Finished >>> Testing StringToChars using d.update(((%s, 0),)) d.update(((1, 0),)):(, TypeError('expected bytes() or str() instance, but got int',)) --- 633,659 ---- <<< Finished >>> Testing *Iter* using d.update(Mapping({"abcG" : %s})) d.update(Mapping({"abcG" : FailingIter()})):(, TypeError('unable to convert FailingIter to vim structure',)) ! d.update(Mapping({"abcG" : FailingIterNext()})):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using d.update(Mapping({"abcG" : %s})) d.update(Mapping({"abcG" : None})):(, TypeError('unable to convert NoneType to vim structure',)) d.update(Mapping({"abcG" : {b"": 1}})):(, ValueError('empty keys are not allowed',)) d.update(Mapping({"abcG" : {"": 1}})):(, ValueError('empty keys are not allowed',)) ! d.update(Mapping({"abcG" : FailingMapping()})):(, NotImplementedError('keys',)) ! d.update(Mapping({"abcG" : FailingMappingKey()})):(, NotImplementedError('getitem:mappingkey',)) ! d.update(Mapping({"abcG" : FailingNumber()})):(, NotImplementedError('int',)) <<< Finished >>> Testing *Iter* using d.update(%s) ! d.update(FailingIter()):(, NotImplementedError('iter',)) ! d.update(FailingIterNext()):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using d.update(%s) d.update(None):(, TypeError("'NoneType' object is not iterable",)) d.update({b"": 1}):(, ValueError('empty keys are not allowed',)) d.update({"": 1}):(, ValueError('empty keys are not allowed',)) ! d.update(FailingMapping()):(, NotImplementedError('keys',)) ! d.update(FailingMappingKey()):(, NotImplementedError('getitem:mappingkey',)) ! d.update(FailingNumber()):(, TypeError("'FailingNumber' object is not iterable",)) <<< Finished >>> Testing StringToChars using d.update(((%s, 0),)) d.update(((1, 0),)):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 634,647 **** <<< Finished >>> Testing *Iter* using d.update((("a", {"abcF" : %s}),)) d.update((("a", {"abcF" : FailingIter()}),)):(, TypeError('unable to convert FailingIter to vim structure',)) ! d.update((("a", {"abcF" : FailingIterNext()}),)):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", {"abcF" : %s}),)) d.update((("a", {"abcF" : None}),)):(, TypeError('unable to convert NoneType to vim structure',)) d.update((("a", {"abcF" : {b"": 1}}),)):(, ValueError('empty keys are not allowed',)) d.update((("a", {"abcF" : {"": 1}}),)):(, ValueError('empty keys are not allowed',)) ! d.update((("a", {"abcF" : FailingMapping()}),)):(, NotImplementedError()) ! d.update((("a", {"abcF" : FailingMappingKey()}),)):(, NotImplementedError()) <<< Finished >>> Testing StringToChars using d.update((("a", Mapping({%s : 1})),)) d.update((("a", Mapping({1 : 1})),)):(, TypeError('expected bytes() or str() instance, but got int',)) --- 677,691 ---- <<< Finished >>> Testing *Iter* using d.update((("a", {"abcF" : %s}),)) d.update((("a", {"abcF" : FailingIter()}),)):(, TypeError('unable to convert FailingIter to vim structure',)) ! d.update((("a", {"abcF" : FailingIterNext()}),)):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", {"abcF" : %s}),)) d.update((("a", {"abcF" : None}),)):(, TypeError('unable to convert NoneType to vim structure',)) d.update((("a", {"abcF" : {b"": 1}}),)):(, ValueError('empty keys are not allowed',)) d.update((("a", {"abcF" : {"": 1}}),)):(, ValueError('empty keys are not allowed',)) ! d.update((("a", {"abcF" : FailingMapping()}),)):(, NotImplementedError('keys',)) ! d.update((("a", {"abcF" : FailingMappingKey()}),)):(, NotImplementedError('getitem:mappingkey',)) ! d.update((("a", {"abcF" : FailingNumber()}),)):(, NotImplementedError('int',)) <<< Finished >>> Testing StringToChars using d.update((("a", Mapping({%s : 1})),)) d.update((("a", Mapping({1 : 1})),)):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 660,684 **** <<< Finished >>> Testing *Iter* using d.update((("a", Mapping({"abcG" : %s})),)) d.update((("a", Mapping({"abcG" : FailingIter()})),)):(, TypeError('unable to convert FailingIter to vim structure',)) ! d.update((("a", Mapping({"abcG" : FailingIterNext()})),)):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abcG" : %s})),)) d.update((("a", Mapping({"abcG" : None})),)):(, TypeError('unable to convert NoneType to vim structure',)) d.update((("a", Mapping({"abcG" : {b"": 1}})),)):(, ValueError('empty keys are not allowed',)) d.update((("a", Mapping({"abcG" : {"": 1}})),)):(, ValueError('empty keys are not allowed',)) ! d.update((("a", Mapping({"abcG" : FailingMapping()})),)):(, NotImplementedError()) ! d.update((("a", Mapping({"abcG" : FailingMappingKey()})),)):(, NotImplementedError()) <<< Finished >>> Testing *Iter* using d.update((("a", %s),)) d.update((("a", FailingIter()),)):(, TypeError('unable to convert FailingIter to vim structure',)) ! d.update((("a", FailingIterNext()),)):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", %s),)) d.update((("a", None),)):(, TypeError('unable to convert NoneType to vim structure',)) d.update((("a", {b"": 1}),)):(, ValueError('empty keys are not allowed',)) d.update((("a", {"": 1}),)):(, ValueError('empty keys are not allowed',)) ! d.update((("a", FailingMapping()),)):(, NotImplementedError()) ! d.update((("a", FailingMappingKey()),)):(, NotImplementedError()) <<< Finished >> DictionaryPopItem d.popitem(1, 2):(, TypeError('popitem() takes no arguments (2 given)',)) --- 704,730 ---- <<< Finished >>> Testing *Iter* using d.update((("a", Mapping({"abcG" : %s})),)) d.update((("a", Mapping({"abcG" : FailingIter()})),)):(, TypeError('unable to convert FailingIter to vim structure',)) ! d.update((("a", Mapping({"abcG" : FailingIterNext()})),)):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abcG" : %s})),)) d.update((("a", Mapping({"abcG" : None})),)):(, TypeError('unable to convert NoneType to vim structure',)) d.update((("a", Mapping({"abcG" : {b"": 1}})),)):(, ValueError('empty keys are not allowed',)) d.update((("a", Mapping({"abcG" : {"": 1}})),)):(, ValueError('empty keys are not allowed',)) ! d.update((("a", Mapping({"abcG" : FailingMapping()})),)):(, NotImplementedError('keys',)) ! d.update((("a", Mapping({"abcG" : FailingMappingKey()})),)):(, NotImplementedError('getitem:mappingkey',)) ! d.update((("a", Mapping({"abcG" : FailingNumber()})),)):(, NotImplementedError('int',)) <<< Finished >>> Testing *Iter* using d.update((("a", %s),)) d.update((("a", FailingIter()),)):(, TypeError('unable to convert FailingIter to vim structure',)) ! d.update((("a", FailingIterNext()),)):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using d.update((("a", %s),)) d.update((("a", None),)):(, TypeError('unable to convert NoneType to vim structure',)) d.update((("a", {b"": 1}),)):(, ValueError('empty keys are not allowed',)) d.update((("a", {"": 1}),)):(, ValueError('empty keys are not allowed',)) ! d.update((("a", FailingMapping()),)):(, NotImplementedError('keys',)) ! d.update((("a", FailingMappingKey()),)):(, NotImplementedError('getitem:mappingkey',)) ! d.update((("a", FailingNumber()),)):(, NotImplementedError('int',)) <<< Finished >> DictionaryPopItem d.popitem(1, 2):(, TypeError('popitem() takes no arguments (2 given)',)) *************** *** 689,696 **** vim.List(1, 2):(, TypeError('function takes at most 1 argument (2 given)',)) vim.List(a=1):(, TypeError('list constructor does not accept keyword arguments',)) >>> Testing *Iter* using vim.List(%s) ! vim.List(FailingIter()):(, NotImplementedError()) ! vim.List(FailingIterNext()):(, NotImplementedError()) <<< Finished >>> Testing StringToChars using vim.List([{%s : 1}]) vim.List([{1 : 1}]):(, TypeError('expected bytes() or str() instance, but got int',)) --- 735,742 ---- vim.List(1, 2):(, TypeError('function takes at most 1 argument (2 given)',)) vim.List(a=1):(, TypeError('list constructor does not accept keyword arguments',)) >>> Testing *Iter* using vim.List(%s) ! vim.List(FailingIter()):(, NotImplementedError('iter',)) ! vim.List(FailingIterNext()):(, NotImplementedError('next',)) <<< Finished >>> Testing StringToChars using vim.List([{%s : 1}]) vim.List([{1 : 1}]):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 709,722 **** <<< Finished >>> Testing *Iter* using vim.List([{"abcF" : %s}]) vim.List([{"abcF" : FailingIter()}]):(, TypeError('unable to convert FailingIter to vim structure',)) ! vim.List([{"abcF" : FailingIterNext()}]):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using vim.List([{"abcF" : %s}]) vim.List([{"abcF" : None}]):(, TypeError('unable to convert NoneType to vim structure',)) vim.List([{"abcF" : {b"": 1}}]):(, ValueError('empty keys are not allowed',)) vim.List([{"abcF" : {"": 1}}]):(, ValueError('empty keys are not allowed',)) ! vim.List([{"abcF" : FailingMapping()}]):(, NotImplementedError()) ! vim.List([{"abcF" : FailingMappingKey()}]):(, NotImplementedError()) <<< Finished >>> Testing StringToChars using vim.List([Mapping({%s : 1})]) vim.List([Mapping({1 : 1})]):(, TypeError('expected bytes() or str() instance, but got int',)) --- 755,769 ---- <<< Finished >>> Testing *Iter* using vim.List([{"abcF" : %s}]) vim.List([{"abcF" : FailingIter()}]):(, TypeError('unable to convert FailingIter to vim structure',)) ! vim.List([{"abcF" : FailingIterNext()}]):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using vim.List([{"abcF" : %s}]) vim.List([{"abcF" : None}]):(, TypeError('unable to convert NoneType to vim structure',)) vim.List([{"abcF" : {b"": 1}}]):(, ValueError('empty keys are not allowed',)) vim.List([{"abcF" : {"": 1}}]):(, ValueError('empty keys are not allowed',)) ! vim.List([{"abcF" : FailingMapping()}]):(, NotImplementedError('keys',)) ! vim.List([{"abcF" : FailingMappingKey()}]):(, NotImplementedError('getitem:mappingkey',)) ! vim.List([{"abcF" : FailingNumber()}]):(, NotImplementedError('int',)) <<< Finished >>> Testing StringToChars using vim.List([Mapping({%s : 1})]) vim.List([Mapping({1 : 1})]):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 735,759 **** <<< Finished >>> Testing *Iter* using vim.List([Mapping({"abcG" : %s})]) vim.List([Mapping({"abcG" : FailingIter()})]):(, TypeError('unable to convert FailingIter to vim structure',)) ! vim.List([Mapping({"abcG" : FailingIterNext()})]):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using vim.List([Mapping({"abcG" : %s})]) vim.List([Mapping({"abcG" : None})]):(, TypeError('unable to convert NoneType to vim structure',)) vim.List([Mapping({"abcG" : {b"": 1}})]):(, ValueError('empty keys are not allowed',)) vim.List([Mapping({"abcG" : {"": 1}})]):(, ValueError('empty keys are not allowed',)) ! vim.List([Mapping({"abcG" : FailingMapping()})]):(, NotImplementedError()) ! vim.List([Mapping({"abcG" : FailingMappingKey()})]):(, NotImplementedError()) <<< Finished >>> Testing *Iter* using vim.List([%s]) vim.List([FailingIter()]):(, TypeError('unable to convert FailingIter to vim structure',)) ! vim.List([FailingIterNext()]):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using vim.List([%s]) vim.List([None]):(, TypeError('unable to convert NoneType to vim structure',)) vim.List([{b"": 1}]):(, ValueError('empty keys are not allowed',)) vim.List([{"": 1}]):(, ValueError('empty keys are not allowed',)) ! vim.List([FailingMapping()]):(, NotImplementedError()) ! vim.List([FailingMappingKey()]):(, NotImplementedError()) <<< Finished >> ListItem l[1000]:(, IndexError('list index out of range',)) --- 782,808 ---- <<< Finished >>> Testing *Iter* using vim.List([Mapping({"abcG" : %s})]) vim.List([Mapping({"abcG" : FailingIter()})]):(, TypeError('unable to convert FailingIter to vim structure',)) ! vim.List([Mapping({"abcG" : FailingIterNext()})]):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using vim.List([Mapping({"abcG" : %s})]) vim.List([Mapping({"abcG" : None})]):(, TypeError('unable to convert NoneType to vim structure',)) vim.List([Mapping({"abcG" : {b"": 1}})]):(, ValueError('empty keys are not allowed',)) vim.List([Mapping({"abcG" : {"": 1}})]):(, ValueError('empty keys are not allowed',)) ! vim.List([Mapping({"abcG" : FailingMapping()})]):(, NotImplementedError('keys',)) ! vim.List([Mapping({"abcG" : FailingMappingKey()})]):(, NotImplementedError('getitem:mappingkey',)) ! vim.List([Mapping({"abcG" : FailingNumber()})]):(, NotImplementedError('int',)) <<< Finished >>> Testing *Iter* using vim.List([%s]) vim.List([FailingIter()]):(, TypeError('unable to convert FailingIter to vim structure',)) ! vim.List([FailingIterNext()]):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using vim.List([%s]) vim.List([None]):(, TypeError('unable to convert NoneType to vim structure',)) vim.List([{b"": 1}]):(, ValueError('empty keys are not allowed',)) vim.List([{"": 1}]):(, ValueError('empty keys are not allowed',)) ! vim.List([FailingMapping()]):(, NotImplementedError('keys',)) ! vim.List([FailingMappingKey()]):(, NotImplementedError('getitem:mappingkey',)) ! vim.List([FailingNumber()]):(, NotImplementedError('int',)) <<< Finished >> ListItem l[1000]:(, IndexError('list index out of range',)) *************** *** 763,770 **** >> ListAssSlice ll[1:100] = "abcJ":(, error('list is locked',)) >>> Testing *Iter* using l[:] = %s ! l[:] = FailingIter():(, NotImplementedError()) ! l[:] = FailingIterNext()::(, NotImplementedError()) <<< Finished >>> Testing StringToChars using l[:] = [{%s : 1}] l[:] = [{1 : 1}]:(, TypeError('expected bytes() or str() instance, but got int',)) --- 812,819 ---- >> ListAssSlice ll[1:100] = "abcJ":(, error('list is locked',)) >>> Testing *Iter* using l[:] = %s ! l[:] = FailingIter():(, NotImplementedError('iter',)) ! l[:] = FailingIterNext():(, NotImplementedError('next',)) <<< Finished >>> Testing StringToChars using l[:] = [{%s : 1}] l[:] = [{1 : 1}]:(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 783,796 **** <<< Finished >>> Testing *Iter* using l[:] = [{"abcF" : %s}] l[:] = [{"abcF" : FailingIter()}]:(, TypeError('unable to convert FailingIter to vim structure',)) ! l[:] = [{"abcF" : FailingIterNext()}]:(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using l[:] = [{"abcF" : %s}] l[:] = [{"abcF" : None}]:(, TypeError('unable to convert NoneType to vim structure',)) l[:] = [{"abcF" : {b"": 1}}]:(, ValueError('empty keys are not allowed',)) l[:] = [{"abcF" : {"": 1}}]:(, ValueError('empty keys are not allowed',)) ! l[:] = [{"abcF" : FailingMapping()}]:(, NotImplementedError()) ! l[:] = [{"abcF" : FailingMappingKey()}]:(, NotImplementedError()) <<< Finished >>> Testing StringToChars using l[:] = [Mapping({%s : 1})] l[:] = [Mapping({1 : 1})]:(, TypeError('expected bytes() or str() instance, but got int',)) --- 832,846 ---- <<< Finished >>> Testing *Iter* using l[:] = [{"abcF" : %s}] l[:] = [{"abcF" : FailingIter()}]:(, TypeError('unable to convert FailingIter to vim structure',)) ! l[:] = [{"abcF" : FailingIterNext()}]:(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using l[:] = [{"abcF" : %s}] l[:] = [{"abcF" : None}]:(, TypeError('unable to convert NoneType to vim structure',)) l[:] = [{"abcF" : {b"": 1}}]:(, ValueError('empty keys are not allowed',)) l[:] = [{"abcF" : {"": 1}}]:(, ValueError('empty keys are not allowed',)) ! l[:] = [{"abcF" : FailingMapping()}]:(, NotImplementedError('keys',)) ! l[:] = [{"abcF" : FailingMappingKey()}]:(, NotImplementedError('getitem:mappingkey',)) ! l[:] = [{"abcF" : FailingNumber()}]:(, NotImplementedError('int',)) <<< Finished >>> Testing StringToChars using l[:] = [Mapping({%s : 1})] l[:] = [Mapping({1 : 1})]:(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 809,838 **** <<< Finished >>> Testing *Iter* using l[:] = [Mapping({"abcG" : %s})] l[:] = [Mapping({"abcG" : FailingIter()})]:(, TypeError('unable to convert FailingIter to vim structure',)) ! l[:] = [Mapping({"abcG" : FailingIterNext()})]:(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abcG" : %s})] l[:] = [Mapping({"abcG" : None})]:(, TypeError('unable to convert NoneType to vim structure',)) l[:] = [Mapping({"abcG" : {b"": 1}})]:(, ValueError('empty keys are not allowed',)) l[:] = [Mapping({"abcG" : {"": 1}})]:(, ValueError('empty keys are not allowed',)) ! l[:] = [Mapping({"abcG" : FailingMapping()})]:(, NotImplementedError()) ! l[:] = [Mapping({"abcG" : FailingMappingKey()})]:(, NotImplementedError()) <<< Finished >>> Testing *Iter* using l[:] = [%s] l[:] = [FailingIter()]:(, TypeError('unable to convert FailingIter to vim structure',)) ! l[:] = [FailingIterNext()]:(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using l[:] = [%s] l[:] = [None]:(, TypeError('unable to convert NoneType to vim structure',)) l[:] = [{b"": 1}]:(, ValueError('empty keys are not allowed',)) l[:] = [{"": 1}]:(, ValueError('empty keys are not allowed',)) ! l[:] = [FailingMapping()]:(, NotImplementedError()) ! l[:] = [FailingMappingKey()]:(, NotImplementedError()) <<< Finished >> ListConcatInPlace >>> Testing *Iter* using l.extend(%s) ! l.extend(FailingIter()):(, NotImplementedError()) ! l.extend(FailingIterNext()):(, NotImplementedError()) <<< Finished >>> Testing StringToChars using l.extend([{%s : 1}]) l.extend([{1 : 1}]):(, TypeError('expected bytes() or str() instance, but got int',)) --- 859,890 ---- <<< Finished >>> Testing *Iter* using l[:] = [Mapping({"abcG" : %s})] l[:] = [Mapping({"abcG" : FailingIter()})]:(, TypeError('unable to convert FailingIter to vim structure',)) ! l[:] = [Mapping({"abcG" : FailingIterNext()})]:(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abcG" : %s})] l[:] = [Mapping({"abcG" : None})]:(, TypeError('unable to convert NoneType to vim structure',)) l[:] = [Mapping({"abcG" : {b"": 1}})]:(, ValueError('empty keys are not allowed',)) l[:] = [Mapping({"abcG" : {"": 1}})]:(, ValueError('empty keys are not allowed',)) ! l[:] = [Mapping({"abcG" : FailingMapping()})]:(, NotImplementedError('keys',)) ! l[:] = [Mapping({"abcG" : FailingMappingKey()})]:(, NotImplementedError('getitem:mappingkey',)) ! l[:] = [Mapping({"abcG" : FailingNumber()})]:(, NotImplementedError('int',)) <<< Finished >>> Testing *Iter* using l[:] = [%s] l[:] = [FailingIter()]:(, TypeError('unable to convert FailingIter to vim structure',)) ! l[:] = [FailingIterNext()]:(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using l[:] = [%s] l[:] = [None]:(, TypeError('unable to convert NoneType to vim structure',)) l[:] = [{b"": 1}]:(, ValueError('empty keys are not allowed',)) l[:] = [{"": 1}]:(, ValueError('empty keys are not allowed',)) ! l[:] = [FailingMapping()]:(, NotImplementedError('keys',)) ! l[:] = [FailingMappingKey()]:(, NotImplementedError('getitem:mappingkey',)) ! l[:] = [FailingNumber()]:(, NotImplementedError('int',)) <<< Finished >> ListConcatInPlace >>> Testing *Iter* using l.extend(%s) ! l.extend(FailingIter()):(, NotImplementedError('iter',)) ! l.extend(FailingIterNext()):(, NotImplementedError('next',)) <<< Finished >>> Testing StringToChars using l.extend([{%s : 1}]) l.extend([{1 : 1}]):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 851,864 **** <<< Finished >>> Testing *Iter* using l.extend([{"abcF" : %s}]) l.extend([{"abcF" : FailingIter()}]):(, TypeError('unable to convert FailingIter to vim structure',)) ! l.extend([{"abcF" : FailingIterNext()}]):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using l.extend([{"abcF" : %s}]) l.extend([{"abcF" : None}]):(, TypeError('unable to convert NoneType to vim structure',)) l.extend([{"abcF" : {b"": 1}}]):(, ValueError('empty keys are not allowed',)) l.extend([{"abcF" : {"": 1}}]):(, ValueError('empty keys are not allowed',)) ! l.extend([{"abcF" : FailingMapping()}]):(, NotImplementedError()) ! l.extend([{"abcF" : FailingMappingKey()}]):(, NotImplementedError()) <<< Finished >>> Testing StringToChars using l.extend([Mapping({%s : 1})]) l.extend([Mapping({1 : 1})]):(, TypeError('expected bytes() or str() instance, but got int',)) --- 903,917 ---- <<< Finished >>> Testing *Iter* using l.extend([{"abcF" : %s}]) l.extend([{"abcF" : FailingIter()}]):(, TypeError('unable to convert FailingIter to vim structure',)) ! l.extend([{"abcF" : FailingIterNext()}]):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using l.extend([{"abcF" : %s}]) l.extend([{"abcF" : None}]):(, TypeError('unable to convert NoneType to vim structure',)) l.extend([{"abcF" : {b"": 1}}]):(, ValueError('empty keys are not allowed',)) l.extend([{"abcF" : {"": 1}}]):(, ValueError('empty keys are not allowed',)) ! l.extend([{"abcF" : FailingMapping()}]):(, NotImplementedError('keys',)) ! l.extend([{"abcF" : FailingMappingKey()}]):(, NotImplementedError('getitem:mappingkey',)) ! l.extend([{"abcF" : FailingNumber()}]):(, NotImplementedError('int',)) <<< Finished >>> Testing StringToChars using l.extend([Mapping({%s : 1})]) l.extend([Mapping({1 : 1})]):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 877,905 **** <<< Finished >>> Testing *Iter* using l.extend([Mapping({"abcG" : %s})]) l.extend([Mapping({"abcG" : FailingIter()})]):(, TypeError('unable to convert FailingIter to vim structure',)) ! l.extend([Mapping({"abcG" : FailingIterNext()})]):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using l.extend([Mapping({"abcG" : %s})]) l.extend([Mapping({"abcG" : None})]):(, TypeError('unable to convert NoneType to vim structure',)) l.extend([Mapping({"abcG" : {b"": 1}})]):(, ValueError('empty keys are not allowed',)) l.extend([Mapping({"abcG" : {"": 1}})]):(, ValueError('empty keys are not allowed',)) ! l.extend([Mapping({"abcG" : FailingMapping()})]):(, NotImplementedError()) ! l.extend([Mapping({"abcG" : FailingMappingKey()})]):(, NotImplementedError()) <<< Finished >>> Testing *Iter* using l.extend([%s]) l.extend([FailingIter()]):(, TypeError('unable to convert FailingIter to vim structure',)) ! l.extend([FailingIterNext()]):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using l.extend([%s]) l.extend([None]):(, TypeError('unable to convert NoneType to vim structure',)) l.extend([{b"": 1}]):(, ValueError('empty keys are not allowed',)) l.extend([{"": 1}]):(, ValueError('empty keys are not allowed',)) ! l.extend([FailingMapping()]):(, NotImplementedError()) ! l.extend([FailingMappingKey()]):(, NotImplementedError()) <<< Finished >> ListSetattr del l.locked:(, AttributeError('cannot delete vim.List attributes',)) ! l.locked = FailingTrue():(, NotImplementedError()) l.xxx = True:(, AttributeError('cannot set attribute xxx',)) > Function >> FunctionConstructor --- 930,960 ---- <<< Finished >>> Testing *Iter* using l.extend([Mapping({"abcG" : %s})]) l.extend([Mapping({"abcG" : FailingIter()})]):(, TypeError('unable to convert FailingIter to vim structure',)) ! l.extend([Mapping({"abcG" : FailingIterNext()})]):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using l.extend([Mapping({"abcG" : %s})]) l.extend([Mapping({"abcG" : None})]):(, TypeError('unable to convert NoneType to vim structure',)) l.extend([Mapping({"abcG" : {b"": 1}})]):(, ValueError('empty keys are not allowed',)) l.extend([Mapping({"abcG" : {"": 1}})]):(, ValueError('empty keys are not allowed',)) ! l.extend([Mapping({"abcG" : FailingMapping()})]):(, NotImplementedError('keys',)) ! l.extend([Mapping({"abcG" : FailingMappingKey()})]):(, NotImplementedError('getitem:mappingkey',)) ! l.extend([Mapping({"abcG" : FailingNumber()})]):(, NotImplementedError('int',)) <<< Finished >>> Testing *Iter* using l.extend([%s]) l.extend([FailingIter()]):(, TypeError('unable to convert FailingIter to vim structure',)) ! l.extend([FailingIterNext()]):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using l.extend([%s]) l.extend([None]):(, TypeError('unable to convert NoneType to vim structure',)) l.extend([{b"": 1}]):(, ValueError('empty keys are not allowed',)) l.extend([{"": 1}]):(, ValueError('empty keys are not allowed',)) ! l.extend([FailingMapping()]):(, NotImplementedError('keys',)) ! l.extend([FailingMappingKey()]):(, NotImplementedError('getitem:mappingkey',)) ! l.extend([FailingNumber()]):(, NotImplementedError('int',)) <<< Finished >> ListSetattr del l.locked:(, AttributeError('cannot delete vim.List attributes',)) ! l.locked = FailingTrue():(, NotImplementedError('bool',)) l.xxx = True:(, AttributeError('cannot set attribute xxx',)) > Function >> FunctionConstructor *************** *** 924,937 **** <<< Finished >>> Testing *Iter* using f({"abcF" : %s}) f({"abcF" : FailingIter()}):(, TypeError('unable to convert FailingIter to vim structure',)) ! f({"abcF" : FailingIterNext()}):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using f({"abcF" : %s}) f({"abcF" : None}):(, TypeError('unable to convert NoneType to vim structure',)) f({"abcF" : {b"": 1}}):(, ValueError('empty keys are not allowed',)) f({"abcF" : {"": 1}}):(, ValueError('empty keys are not allowed',)) ! f({"abcF" : FailingMapping()}):(, NotImplementedError()) ! f({"abcF" : FailingMappingKey()}):(, NotImplementedError()) <<< Finished >>> Testing StringToChars using f(Mapping({%s : 1})) f(Mapping({1 : 1})):(, TypeError('expected bytes() or str() instance, but got int',)) --- 979,993 ---- <<< Finished >>> Testing *Iter* using f({"abcF" : %s}) f({"abcF" : FailingIter()}):(, TypeError('unable to convert FailingIter to vim structure',)) ! f({"abcF" : FailingIterNext()}):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using f({"abcF" : %s}) f({"abcF" : None}):(, TypeError('unable to convert NoneType to vim structure',)) f({"abcF" : {b"": 1}}):(, ValueError('empty keys are not allowed',)) f({"abcF" : {"": 1}}):(, ValueError('empty keys are not allowed',)) ! f({"abcF" : FailingMapping()}):(, NotImplementedError('keys',)) ! f({"abcF" : FailingMappingKey()}):(, NotImplementedError('getitem:mappingkey',)) ! f({"abcF" : FailingNumber()}):(, NotImplementedError('int',)) <<< Finished >>> Testing StringToChars using f(Mapping({%s : 1})) f(Mapping({1 : 1})):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 950,974 **** <<< Finished >>> Testing *Iter* using f(Mapping({"abcG" : %s})) f(Mapping({"abcG" : FailingIter()})):(, TypeError('unable to convert FailingIter to vim structure',)) ! f(Mapping({"abcG" : FailingIterNext()})):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using f(Mapping({"abcG" : %s})) f(Mapping({"abcG" : None})):(, TypeError('unable to convert NoneType to vim structure',)) f(Mapping({"abcG" : {b"": 1}})):(, ValueError('empty keys are not allowed',)) f(Mapping({"abcG" : {"": 1}})):(, ValueError('empty keys are not allowed',)) ! f(Mapping({"abcG" : FailingMapping()})):(, NotImplementedError()) ! f(Mapping({"abcG" : FailingMappingKey()})):(, NotImplementedError()) <<< Finished >>> Testing *Iter* using f(%s) f(FailingIter()):(, TypeError('unable to convert FailingIter to vim structure',)) ! f(FailingIterNext()):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using f(%s) f(None):(, TypeError('unable to convert NoneType to vim structure',)) f({b"": 1}):(, ValueError('empty keys are not allowed',)) f({"": 1}):(, ValueError('empty keys are not allowed',)) ! f(FailingMapping()):(, NotImplementedError()) ! f(FailingMappingKey()):(, NotImplementedError()) <<< Finished >>> Testing StringToChars using fd(self={%s : 1}) fd(self={1 : 1}):(, TypeError('expected bytes() or str() instance, but got int',)) --- 1006,1032 ---- <<< Finished >>> Testing *Iter* using f(Mapping({"abcG" : %s})) f(Mapping({"abcG" : FailingIter()})):(, TypeError('unable to convert FailingIter to vim structure',)) ! f(Mapping({"abcG" : FailingIterNext()})):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using f(Mapping({"abcG" : %s})) f(Mapping({"abcG" : None})):(, TypeError('unable to convert NoneType to vim structure',)) f(Mapping({"abcG" : {b"": 1}})):(, ValueError('empty keys are not allowed',)) f(Mapping({"abcG" : {"": 1}})):(, ValueError('empty keys are not allowed',)) ! f(Mapping({"abcG" : FailingMapping()})):(, NotImplementedError('keys',)) ! f(Mapping({"abcG" : FailingMappingKey()})):(, NotImplementedError('getitem:mappingkey',)) ! f(Mapping({"abcG" : FailingNumber()})):(, NotImplementedError('int',)) <<< Finished >>> Testing *Iter* using f(%s) f(FailingIter()):(, TypeError('unable to convert FailingIter to vim structure',)) ! f(FailingIterNext()):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using f(%s) f(None):(, TypeError('unable to convert NoneType to vim structure',)) f({b"": 1}):(, ValueError('empty keys are not allowed',)) f({"": 1}):(, ValueError('empty keys are not allowed',)) ! f(FailingMapping()):(, NotImplementedError('keys',)) ! f(FailingMappingKey()):(, NotImplementedError('getitem:mappingkey',)) ! f(FailingNumber()):(, NotImplementedError('int',)) <<< Finished >>> Testing StringToChars using fd(self={%s : 1}) fd(self={1 : 1}):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 987,1000 **** <<< Finished >>> Testing *Iter* using fd(self={"abcF" : %s}) fd(self={"abcF" : FailingIter()}):(, TypeError('unable to convert FailingIter to vim structure',)) ! fd(self={"abcF" : FailingIterNext()}):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using fd(self={"abcF" : %s}) fd(self={"abcF" : None}):(, TypeError('unable to convert NoneType to vim structure',)) fd(self={"abcF" : {b"": 1}}):(, ValueError('empty keys are not allowed',)) fd(self={"abcF" : {"": 1}}):(, ValueError('empty keys are not allowed',)) ! fd(self={"abcF" : FailingMapping()}):(, NotImplementedError()) ! fd(self={"abcF" : FailingMappingKey()}):(, NotImplementedError()) <<< Finished >>> Testing StringToChars using fd(self=Mapping({%s : 1})) fd(self=Mapping({1 : 1})):(, TypeError('expected bytes() or str() instance, but got int',)) --- 1045,1059 ---- <<< Finished >>> Testing *Iter* using fd(self={"abcF" : %s}) fd(self={"abcF" : FailingIter()}):(, TypeError('unable to convert FailingIter to vim structure',)) ! fd(self={"abcF" : FailingIterNext()}):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using fd(self={"abcF" : %s}) fd(self={"abcF" : None}):(, TypeError('unable to convert NoneType to vim structure',)) fd(self={"abcF" : {b"": 1}}):(, ValueError('empty keys are not allowed',)) fd(self={"abcF" : {"": 1}}):(, ValueError('empty keys are not allowed',)) ! fd(self={"abcF" : FailingMapping()}):(, NotImplementedError('keys',)) ! fd(self={"abcF" : FailingMappingKey()}):(, NotImplementedError('getitem:mappingkey',)) ! fd(self={"abcF" : FailingNumber()}):(, NotImplementedError('int',)) <<< Finished >>> Testing StringToChars using fd(self=Mapping({%s : 1})) fd(self=Mapping({1 : 1})):(, TypeError('expected bytes() or str() instance, but got int',)) *************** *** 1013,1026 **** <<< Finished >>> Testing *Iter* using fd(self=Mapping({"abcG" : %s})) fd(self=Mapping({"abcG" : FailingIter()})):(, TypeError('unable to convert FailingIter to vim structure',)) ! fd(self=Mapping({"abcG" : FailingIterNext()})):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyObject using fd(self=Mapping({"abcG" : %s})) fd(self=Mapping({"abcG" : None})):(, TypeError('unable to convert NoneType to vim structure',)) fd(self=Mapping({"abcG" : {b"": 1}})):(, ValueError('empty keys are not allowed',)) fd(self=Mapping({"abcG" : {"": 1}})):(, ValueError('empty keys are not allowed',)) ! fd(self=Mapping({"abcG" : FailingMapping()})):(, NotImplementedError()) ! fd(self=Mapping({"abcG" : FailingMappingKey()})):(, NotImplementedError()) <<< Finished >>> Testing *Iter* using fd(self=%s) fd(self=FailingIter()):(, TypeError('unable to convert FailingIter to vim dictionary',)) --- 1072,1086 ---- <<< Finished >>> Testing *Iter* using fd(self=Mapping({"abcG" : %s})) fd(self=Mapping({"abcG" : FailingIter()})):(, TypeError('unable to convert FailingIter to vim structure',)) ! fd(self=Mapping({"abcG" : FailingIterNext()})):(, NotImplementedError('next',)) <<< Finished >>> Testing ConvertFromPyObject using fd(self=Mapping({"abcG" : %s})) fd(self=Mapping({"abcG" : None})):(, TypeError('unable to convert NoneType to vim structure',)) fd(self=Mapping({"abcG" : {b"": 1}})):(, ValueError('empty keys are not allowed',)) fd(self=Mapping({"abcG" : {"": 1}})):(, ValueError('empty keys are not allowed',)) ! fd(self=Mapping({"abcG" : FailingMapping()})):(, NotImplementedError('keys',)) ! fd(self=Mapping({"abcG" : FailingMappingKey()})):(, NotImplementedError('getitem:mappingkey',)) ! fd(self=Mapping({"abcG" : FailingNumber()})):(, NotImplementedError('int',)) <<< Finished >>> Testing *Iter* using fd(self=%s) fd(self=FailingIter()):(, TypeError('unable to convert FailingIter to vim dictionary',)) *************** *** 1030,1037 **** fd(self=None):(, TypeError('unable to convert NoneType to vim dictionary',)) fd(self={b"": 1}):(, ValueError('empty keys are not allowed',)) fd(self={"": 1}):(, ValueError('empty keys are not allowed',)) ! fd(self=FailingMapping()):(, NotImplementedError()) ! fd(self=FailingMappingKey()):(, NotImplementedError()) <<< Finished >>> Testing ConvertFromPyMapping using fd(self=%s) fd(self=[]):(, AttributeError('keys',)) --- 1090,1098 ---- fd(self=None):(, TypeError('unable to convert NoneType to vim dictionary',)) fd(self={b"": 1}):(, ValueError('empty keys are not allowed',)) fd(self={"": 1}):(, ValueError('empty keys are not allowed',)) ! fd(self=FailingMapping()):(, NotImplementedError('keys',)) ! fd(self=FailingMappingKey()):(, NotImplementedError('getitem:mappingkey',)) ! fd(self=FailingNumber()):(, TypeError('unable to convert FailingNumber to vim dictionary',)) <<< Finished >>> Testing ConvertFromPyMapping using fd(self=%s) fd(self=[]):(, AttributeError('keys',)) *************** *** 1049,1056 **** vim.current.window.buffer = 0:(, TypeError('readonly attribute: buffer',)) vim.current.window.cursor = (100000000, 100000000):(, error('cursor position outside buffer',)) vim.current.window.cursor = True:(, TypeError('argument must be 2-item sequence, not bool',)) ! vim.current.window.height = "abcK":(, TypeError('expected int() or something supporting coercing to int(), but got str',)) ! vim.current.window.width = "abcL":(, TypeError('expected int() or something supporting coercing to int(), but got str',)) vim.current.window.xxxxxx = True:(, AttributeError('xxxxxx',)) > WinList >> WinListItem --- 1110,1125 ---- vim.current.window.buffer = 0:(, TypeError('readonly attribute: buffer',)) vim.current.window.cursor = (100000000, 100000000):(, error('cursor position outside buffer',)) vim.current.window.cursor = True:(, TypeError('argument must be 2-item sequence, not bool',)) ! >>> Testing NumberToLong using vim.current.window.height = %s ! vim.current.window.height = []:(, TypeError('expected int() or something supporting coercing to int(), but got list',)) ! vim.current.window.height = None:(, TypeError('expected int() or something supporting coercing to int(), but got NoneType',)) ! vim.current.window.height = -1:(, ValueError('number must be greater or equal to zero',)) ! <<< Finished ! >>> Testing NumberToLong using vim.current.window.width = %s ! vim.current.window.width = []:(, TypeError('expected int() or something supporting coercing to int(), but got list',)) ! vim.current.window.width = None:(, TypeError('expected int() or something supporting coercing to int(), but got NoneType',)) ! vim.current.window.width = -1:(, ValueError('number must be greater or equal to zero',)) ! <<< Finished vim.current.window.xxxxxx = True:(, AttributeError('xxxxxx',)) > WinList >> WinListItem *************** *** 1058,1063 **** --- 1127,1133 ---- > Buffer >> StringToLine (indirect) vim.current.buffer[0] = "\na":(, error('string cannot contain newlines',)) + vim.current.buffer[0] = b"\na":(, error('string cannot contain newlines',)) >> SetBufferLine (indirect) vim.current.buffer[0] = True:(, TypeError('bad argument type for built-in operation',)) >> SetBufferLineList (indirect) *************** *** 1084,1091 **** vim.current.buffer.range(1, 2, 3):(, TypeError('function takes exactly 2 arguments (3 given)',)) > BufMap >> BufMapItem - vim.buffers[None]:(, TypeError('expected int() or something supporting coercing to int(), but got NoneType',)) vim.buffers[100000000]:(, KeyError(100000000,)) > Current >> CurrentGetattr vim.current.xxx:(, AttributeError("'vim.currentdata' object has no attribute 'xxx'",)) --- 1154,1166 ---- vim.current.buffer.range(1, 2, 3):(, TypeError('function takes exactly 2 arguments (3 given)',)) > BufMap >> BufMapItem vim.buffers[100000000]:(, KeyError(100000000,)) + >>> Testing NumberToLong using vim.buffers[%s] + vim.buffers[[]]:(, TypeError('expected int() or something supporting coercing to int(), but got list',)) + vim.buffers[None]:(, TypeError('expected int() or something supporting coercing to int(), but got NoneType',)) + vim.buffers[-1]:(, ValueError('number must be greater then zero',)) + vim.buffers[0]:(, ValueError('number must be greater then zero',)) + <<< Finished > Current >> CurrentGetattr vim.current.xxx:(, AttributeError("'vim.currentdata' object has no attribute 'xxx'",)) *************** *** 1095,1103 **** --- 1170,1183 ---- vim.current.window = True:(, TypeError('expected vim.Window object, but got bool',)) vim.current.tabpage = True:(, TypeError('expected vim.TabPage object, but got bool',)) vim.current.xxx = True:(, AttributeError('xxx',)) + ['.'] + '.' 3,xx before after + pythonx/topmodule/__init__.py + pythonx/topmodule/submodule/__init__.py + pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py vim.command("throw 'abcN'"):(, error('abcN',)) Exe("throw 'def'"):(, error('def',)) vim.eval("Exe('throw ''ghi''')"):(, error('ghi',)) *** ../vim-7.3.1235/src/testdir/pythonx/topmodule/__init__.py 1970-01-01 01:00:00.000000000 +0100 --- src/testdir/pythonx/topmodule/__init__.py 2013-06-23 16:23:50.000000000 +0200 *************** *** 0 **** --- 1 ---- + # *** ../vim-7.3.1235/src/testdir/pythonx/topmodule/submodule/__init__.py 1970-01-01 01:00:00.000000000 +0100 --- src/testdir/pythonx/topmodule/submodule/__init__.py 2013-06-23 16:23:50.000000000 +0200 *************** *** 0 **** --- 1 ---- + # *** ../vim-7.3.1235/src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py 1970-01-01 01:00:00.000000000 +0100 --- src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py 2013-06-23 16:23:51.000000000 +0200 *************** *** 0 **** --- 1 ---- + # *** ../vim-7.3.1235/src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py 1970-01-01 01:00:00.000000000 +0100 --- src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py 2013-06-23 16:23:51.000000000 +0200 *************** *** 0 **** --- 1 ---- + # *** ../vim-7.3.1235/src/version.c 2013-06-23 16:16:13.000000000 +0200 --- src/version.c 2013-06-23 16:35:04.000000000 +0200 *************** *** 730,731 **** --- 730,733 ---- { /* Add new patch number below this line */ + /**/ + 1236, /**/ -- Microsoft: "Windows NT 4.0 now has the same user-interface as Windows 95" Windows 95: "Press CTRL-ALT-DEL to reboot" Windows NT 4.0: "Press CTRL-ALT-DEL to login" /// 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 ///