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