Karsten Hopp 04684c
To: vim_dev@googlegroups.com
Karsten Hopp 04684c
Subject: Patch 7.3.1230
Karsten Hopp 04684c
Fcc: outbox
Karsten Hopp 04684c
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 04684c
Mime-Version: 1.0
Karsten Hopp 04684c
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 04684c
Content-Transfer-Encoding: 8bit
Karsten Hopp 04684c
------------
Karsten Hopp 04684c
Karsten Hopp 04684c
Patch 7.3.1230
Karsten Hopp 04684c
Problem:    Python: Exception messages are not clear.
Karsten Hopp 04684c
Solution:   Make exception messages more verbose. (ZyX)
Karsten Hopp 04684c
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
Karsten Hopp 04684c
	    src/testdir/test86.ok, src/testdir/test87.ok
Karsten Hopp 04684c
Karsten Hopp 04684c
Karsten Hopp 04684c
*** ../vim-7.3.1229/src/if_py_both.h	2013-06-23 13:28:11.000000000 +0200
Karsten Hopp 04684c
--- src/if_py_both.h	2013-06-23 13:31:16.000000000 +0200
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 29,37 ****
Karsten Hopp 04684c
--- 29,53 ----
Karsten Hopp 04684c
  #define PyErr_SET_STRING(exc, str) PyErr_SetString(exc, _(str))
Karsten Hopp 04684c
  #define PyErr_SetVim(str) PyErr_SetString(VimError, str)
Karsten Hopp 04684c
  #define PyErr_SET_VIM(str) PyErr_SET_STRING(VimError, str)
Karsten Hopp 04684c
+ #define PyErr_FORMAT(exc, str, tail) PyErr_Format(exc, _(str), tail)
Karsten Hopp 04684c
+ #define PyErr_VIM_FORMAT(str, tail) PyErr_FORMAT(VimError, str, tail)
Karsten Hopp 04684c
+ 
Karsten Hopp 04684c
+ #define Py_TYPE_NAME(obj) (obj->ob_type->tp_name == NULL \
Karsten Hopp 04684c
+ 	? "(NULL)" \
Karsten Hopp 04684c
+ 	: obj->ob_type->tp_name)
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  #define RAISE_NO_EMPTY_KEYS PyErr_SET_STRING(PyExc_ValueError, \
Karsten Hopp 04684c
  						"empty keys are not allowed")
Karsten Hopp 04684c
+ #define RAISE_LOCKED(type) PyErr_SET_VIM(_(type " is locked"))
Karsten Hopp 04684c
+ #define RAISE_LOCKED_DICTIONARY RAISE_LOCKED("dictionary")
Karsten Hopp 04684c
+ #define RAISE_LOCKED_LIST RAISE_LOCKED("list")
Karsten Hopp 04684c
+ #define RAISE_UNDO_FAIL PyErr_SET_VIM("cannot save undo information")
Karsten Hopp 04684c
+ #define RAISE_LINE_FAIL(act) PyErr_SET_VIM("cannot " act " line")
Karsten Hopp 04684c
+ #define RAISE_KEY_ADD_FAIL(key) \
Karsten Hopp 04684c
+     PyErr_VIM_FORMAT("failed to add key '%s' to dictionary", key)
Karsten Hopp 04684c
+ #define RAISE_INVALID_INDEX_TYPE(idx) \
Karsten Hopp 04684c
+     PyErr_FORMAT(PyExc_TypeError, "index must be int or slice, not %s", \
Karsten Hopp 04684c
+ 	    Py_TYPE_NAME(idx));
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  #define INVALID_BUFFER_VALUE ((buf_T *)(-1))
Karsten Hopp 04684c
  #define INVALID_WINDOW_VALUE ((win_T *)(-1))
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 122,128 ****
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError, "object must be string");
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 138,150 ----
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_FORMAT(PyExc_TypeError,
Karsten Hopp 04684c
! #if PY_MAJOR_VERSION < 3
Karsten Hopp 04684c
! 		"expected str() or unicode() instance, but got %s"
Karsten Hopp 04684c
! #else
Karsten Hopp 04684c
! 		"expected bytes() or str() instance, but got %s"
Karsten Hopp 04684c
! #endif
Karsten Hopp 04684c
! 		, Py_TYPE_NAME(object));
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 231,237 ****
Karsten Hopp 04684c
  	return 0;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
!     PyErr_SET_STRING(PyExc_AttributeError, "invalid attribute");
Karsten Hopp 04684c
      return -1;
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 253,259 ----
Karsten Hopp 04684c
  	return 0;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
!     PyErr_FORMAT(PyExc_AttributeError, "invalid attribute: %s", name);
Karsten Hopp 04684c
      return -1;
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 967,977 ****
Karsten Hopp 04684c
  {
Karsten Hopp 04684c
      PyObject	*fd, *pathname, *description;
Karsten Hopp 04684c
  
Karsten Hopp 04684c
!     if (!PyTuple_Check(find_module_result)
Karsten Hopp 04684c
! 	    || PyTuple_GET_SIZE(find_module_result) != 3)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError,
Karsten Hopp 04684c
! 		"expected 3-tuple as imp.find_module() result");
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 989,1007 ----
Karsten Hopp 04684c
  {
Karsten Hopp 04684c
      PyObject	*fd, *pathname, *description;
Karsten Hopp 04684c
  
Karsten Hopp 04684c
!     if (!PyTuple_Check(find_module_result))
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_FORMAT(PyExc_TypeError,
Karsten Hopp 04684c
! 		"expected 3-tuple as imp.find_module() result, but got %s",
Karsten Hopp 04684c
! 		Py_TYPE_NAME(find_module_result));
Karsten Hopp 04684c
! 	return NULL;
Karsten Hopp 04684c
!     }
Karsten Hopp 04684c
!     if (PyTuple_GET_SIZE(find_module_result) != 3)
Karsten Hopp 04684c
!     {
Karsten Hopp 04684c
! 	PyErr_FORMAT(PyExc_TypeError,
Karsten Hopp 04684c
! 		"expected 3-tuple as imp.find_module() result, but got "
Karsten Hopp 04684c
! 		"tuple of size %d",
Karsten Hopp 04684c
! 		(int) PyTuple_GET_SIZE(find_module_result));
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1377,1383 ****
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_AttributeError, "cannot set this attribute");
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
--- 1407,1413 ----
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_FORMAT(PyExc_AttributeError, "cannot set attribute %s", name);
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1459,1465 ****
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
  	if (dict->dv_lock)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("dict is locked");
Karsten Hopp 04684c
  	    Py_DECREF(r);
Karsten Hopp 04684c
  	    return NULL;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
--- 1489,1495 ----
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
  	if (dict->dv_lock)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    RAISE_LOCKED_DICTIONARY;
Karsten Hopp 04684c
  	    Py_DECREF(r);
Karsten Hopp 04684c
  	    return NULL;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1562,1568 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (dict->dv_lock)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_VIM("dict is locked");
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 1592,1598 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (dict->dv_lock)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	RAISE_LOCKED_DICTIONARY;
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1614,1623 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (dict_add(dict, di) == FAIL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
- 	    Py_XDECREF(todecref);
Karsten Hopp 04684c
  	    vim_free(di);
Karsten Hopp 04684c
  	    dictitem_free(di);
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("failed to add key to dictionary");
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
--- 1644,1653 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (dict_add(dict, di) == FAIL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
  	    vim_free(di);
Karsten Hopp 04684c
  	    dictitem_free(di);
Karsten Hopp 04684c
! 	    RAISE_KEY_ADD_FAIL(key);
Karsten Hopp 04684c
! 	    Py_XDECREF(todecref);
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1725,1731 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (dict->dv_lock)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_VIM("dict is locked");
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 1755,1761 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (dict->dv_lock)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	RAISE_LOCKED_DICTIONARY;
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1781,1788 ****
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
  		    Py_DECREF(iterator);
Karsten Hopp 04684c
  		    Py_DECREF(fast);
Karsten Hopp 04684c
! 		    PyErr_SET_STRING(PyExc_ValueError,
Karsten Hopp 04684c
! 			    "expected sequence element of size 2");
Karsten Hopp 04684c
  		    return NULL;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 1811,1820 ----
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
  		    Py_DECREF(iterator);
Karsten Hopp 04684c
  		    Py_DECREF(fast);
Karsten Hopp 04684c
! 		    PyErr_FORMAT(PyExc_ValueError,
Karsten Hopp 04684c
! 			    "expected sequence element of size 2, "
Karsten Hopp 04684c
! 			    "but got sequence of size %d",
Karsten Hopp 04684c
! 			    PySequence_Fast_GET_SIZE(fast));
Karsten Hopp 04684c
  		    return NULL;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1823,1831 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  		if (dict_add(dict, di) == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
  		    Py_DECREF(iterator);
Karsten Hopp 04684c
  		    dictitem_free(di);
Karsten Hopp 04684c
- 		    PyErr_SET_VIM("failed to add key to dictionary");
Karsten Hopp 04684c
  		    return NULL;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  	    }
Karsten Hopp 04684c
--- 1855,1863 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  		if (dict_add(dict, di) == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
+ 		    RAISE_KEY_ADD_FAIL(di->di_key);
Karsten Hopp 04684c
  		    Py_DECREF(iterator);
Karsten Hopp 04684c
  		    dictitem_free(di);
Karsten Hopp 04684c
  		    return NULL;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  	    }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 2085,2091 ****
Karsten Hopp 04684c
      li = list_find(self->list, (long) index);
Karsten Hopp 04684c
      if (li == NULL)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_VIM("internal error: failed to get vim list item");
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      return ConvertToPyObject(&li->li_tv);
Karsten Hopp 04684c
--- 2117,2125 ----
Karsten Hopp 04684c
      li = list_find(self->list, (long) index);
Karsten Hopp 04684c
      if (li == NULL)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	/* No more suitable format specifications in python-2.3 */
Karsten Hopp 04684c
! 	PyErr_VIM_FORMAT("internal error: failed to get vim list item %d",
Karsten Hopp 04684c
! 		(int) index);
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      return ConvertToPyObject(&li->li_tv);
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 2198,2204 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (l->lv_lock)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_VIM("list is locked");
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      if (index>length || (index==length && obj==NULL))
Karsten Hopp 04684c
--- 2232,2238 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (l->lv_lock)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	RAISE_LOCKED_LIST;
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      if (index>length || (index==length && obj==NULL))
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 2252,2258 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (l->lv_lock)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_VIM("list is locked");
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 2286,2292 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (l->lv_lock)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	RAISE_LOCKED_LIST;
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 2265,2271 ****
Karsten Hopp 04684c
  	li = list_find(l, (long) first);
Karsten Hopp 04684c
  	if (li == NULL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("internal error: no vim list item");
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  	if (last > first)
Karsten Hopp 04684c
--- 2299,2305 ----
Karsten Hopp 04684c
  	li = list_find(l, (long) first);
Karsten Hopp 04684c
  	if (li == NULL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_VIM_FORMAT("internal error: no vim list item %d", (int)first);
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  	if (last > first)
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 2315,2321 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (l->lv_lock)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_VIM("list is locked");
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 2349,2355 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (l->lv_lock)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	RAISE_LOCKED_LIST;
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 2375,2381 ****
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_AttributeError, "cannot set this attribute");
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
--- 2409,2415 ----
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_FORMAT(PyExc_AttributeError, "cannot set attribute %s", name);
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 2410,2417 ****
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
  	if (!translated_function_exists(name))
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_SET_STRING(PyExc_ValueError,
Karsten Hopp 04684c
! 		    "unnamed function does not exist");
Karsten Hopp 04684c
  	    return NULL;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  	self->name = vim_strsave(name);
Karsten Hopp 04684c
--- 2444,2451 ----
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
  	if (!translated_function_exists(name))
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_FORMAT(PyExc_ValueError,
Karsten Hopp 04684c
! 		    "unnamed function %s does not exist", name);
Karsten Hopp 04684c
  	    return NULL;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  	self->name = vim_strsave(name);
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 2422,2428 ****
Karsten Hopp 04684c
  				    vim_strchr(name, AUTOLOAD_CHAR) == NULL))
Karsten Hopp 04684c
  		== NULL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_SET_STRING(PyExc_ValueError, "function does not exist");
Karsten Hopp 04684c
  	    return NULL;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 2456,2462 ----
Karsten Hopp 04684c
  				    vim_strchr(name, AUTOLOAD_CHAR) == NULL))
Karsten Hopp 04684c
  		== NULL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_FORMAT(PyExc_ValueError, "function %s does not exist", name);
Karsten Hopp 04684c
  	    return NULL;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 2515,2521 ****
Karsten Hopp 04684c
      else if (error != OK)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
  	result = NULL;
Karsten Hopp 04684c
! 	PyErr_SET_VIM("failed to run function");
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
  	result = ConvertToPyObject(&rettv);
Karsten Hopp 04684c
--- 2549,2555 ----
Karsten Hopp 04684c
      else if (error != OK)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
  	result = NULL;
Karsten Hopp 04684c
! 	PyErr_VIM_FORMAT("failed to run function %s", (char *)name);
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
  	result = ConvertToPyObject(&rettv);
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 2770,2783 ****
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
  	if (self->opt_type == SREQ_GLOBAL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_SET_STRING(PyExc_ValueError, "unable to unset global option");
Karsten Hopp 04684c
  	    Py_XDECREF(todecref);
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  	else if (!(flags & SOPT_GLOBAL))
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_SET_STRING(PyExc_ValueError, "unable to unset option "
Karsten Hopp 04684c
! 					       "without global value");
Karsten Hopp 04684c
  	    Py_XDECREF(todecref);
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
--- 2804,2819 ----
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
  	if (self->opt_type == SREQ_GLOBAL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_FORMAT(PyExc_ValueError,
Karsten Hopp 04684c
! 		    "unable to unset global option %s", key);
Karsten Hopp 04684c
  	    Py_XDECREF(todecref);
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  	else if (!(flags & SOPT_GLOBAL))
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_FORMAT(PyExc_ValueError,
Karsten Hopp 04684c
! 		    "unable to unset option %s "
Karsten Hopp 04684c
! 		    "which does not have global value", key);
Karsten Hopp 04684c
  	    Py_XDECREF(todecref);
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 3195,3201 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (strcmp(name, "buffer") == 0)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError, "readonly attribute");
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else if (strcmp(name, "cursor") == 0)
Karsten Hopp 04684c
--- 3231,3237 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
      if (strcmp(name, "buffer") == 0)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError, "readonly attribute: buffer");
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else if (strcmp(name, "cursor") == 0)
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 3558,3566 ****
Karsten Hopp 04684c
  	VimTryStart();
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_savedel((linenr_T)n, 1L) == FAIL)
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("cannot save undo information");
Karsten Hopp 04684c
  	else if (ml_delete((linenr_T)n, FALSE) == FAIL)
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("cannot delete line");
Karsten Hopp 04684c
  	else
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
  	    if (buf == savebuf)
Karsten Hopp 04684c
--- 3594,3602 ----
Karsten Hopp 04684c
  	VimTryStart();
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_savedel((linenr_T)n, 1L) == FAIL)
Karsten Hopp 04684c
! 	    RAISE_UNDO_FAIL;
Karsten Hopp 04684c
  	else if (ml_delete((linenr_T)n, FALSE) == FAIL)
Karsten Hopp 04684c
! 	    RAISE_LINE_FAIL("delete");
Karsten Hopp 04684c
  	else
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
  	    if (buf == savebuf)
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 3594,3605 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_savesub((linenr_T)n) == FAIL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("cannot save undo information");
Karsten Hopp 04684c
  	    vim_free(save);
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  	else if (ml_replace((linenr_T)n, (char_u *)save, FALSE) == FAIL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("cannot replace line");
Karsten Hopp 04684c
  	    vim_free(save);
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  	else
Karsten Hopp 04684c
--- 3630,3641 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_savesub((linenr_T)n) == FAIL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    RAISE_UNDO_FAIL;
Karsten Hopp 04684c
  	    vim_free(save);
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  	else if (ml_replace((linenr_T)n, (char_u *)save, FALSE) == FAIL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    RAISE_LINE_FAIL("replace");
Karsten Hopp 04684c
  	    vim_free(save);
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  	else
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 3654,3667 ****
Karsten Hopp 04684c
  	switch_buffer(&savebuf, buf);
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_savedel((linenr_T)lo, (long)n) == FAIL)
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("cannot save undo information");
Karsten Hopp 04684c
  	else
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
  	    for (i = 0; i < n; ++i)
Karsten Hopp 04684c
  	    {
Karsten Hopp 04684c
  		if (ml_delete((linenr_T)lo, FALSE) == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
! 		    PyErr_SET_VIM("cannot delete line");
Karsten Hopp 04684c
  		    break;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  	    }
Karsten Hopp 04684c
--- 3690,3703 ----
Karsten Hopp 04684c
  	switch_buffer(&savebuf, buf);
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_savedel((linenr_T)lo, (long)n) == FAIL)
Karsten Hopp 04684c
! 	    RAISE_UNDO_FAIL;
Karsten Hopp 04684c
  	else
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
  	    for (i = 0; i < n; ++i)
Karsten Hopp 04684c
  	    {
Karsten Hopp 04684c
  		if (ml_delete((linenr_T)lo, FALSE) == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
! 		    RAISE_LINE_FAIL("delete");
Karsten Hopp 04684c
  		    break;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  	    }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 3722,3728 ****
Karsten Hopp 04684c
  	switch_buffer(&savebuf, buf);
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_save((linenr_T)(lo-1), (linenr_T)hi) == FAIL)
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("cannot save undo information");
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	/* If the size of the range is reducing (ie, new_len < old_len) we
Karsten Hopp 04684c
  	 * need to delete some old_len. We do this at the start, by
Karsten Hopp 04684c
--- 3758,3764 ----
Karsten Hopp 04684c
  	switch_buffer(&savebuf, buf);
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_save((linenr_T)(lo-1), (linenr_T)hi) == FAIL)
Karsten Hopp 04684c
! 	    RAISE_UNDO_FAIL;
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	/* If the size of the range is reducing (ie, new_len < old_len) we
Karsten Hopp 04684c
  	 * need to delete some old_len. We do this at the start, by
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 3733,3739 ****
Karsten Hopp 04684c
  	    for (i = 0; i < old_len - new_len; ++i)
Karsten Hopp 04684c
  		if (ml_delete((linenr_T)lo, FALSE) == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
! 		    PyErr_SET_VIM("cannot delete line");
Karsten Hopp 04684c
  		    break;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  	    extra -= i;
Karsten Hopp 04684c
--- 3769,3775 ----
Karsten Hopp 04684c
  	    for (i = 0; i < old_len - new_len; ++i)
Karsten Hopp 04684c
  		if (ml_delete((linenr_T)lo, FALSE) == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
! 		    RAISE_LINE_FAIL("delete");
Karsten Hopp 04684c
  		    break;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  	    extra -= i;
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 3749,3755 ****
Karsten Hopp 04684c
  		if (ml_replace((linenr_T)(lo+i), (char_u *)array[i], FALSE)
Karsten Hopp 04684c
  								      == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
! 		    PyErr_SET_VIM("cannot replace line");
Karsten Hopp 04684c
  		    break;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
--- 3785,3791 ----
Karsten Hopp 04684c
  		if (ml_replace((linenr_T)(lo+i), (char_u *)array[i], FALSE)
Karsten Hopp 04684c
  								      == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
! 		    RAISE_LINE_FAIL("replace");
Karsten Hopp 04684c
  		    break;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 3767,3773 ****
Karsten Hopp 04684c
  		if (ml_append((linenr_T)(lo + i - 1),
Karsten Hopp 04684c
  					(char_u *)array[i], 0, FALSE) == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
! 		    PyErr_SET_VIM("cannot insert line");
Karsten Hopp 04684c
  		    break;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  		vim_free(array[i]);
Karsten Hopp 04684c
--- 3803,3809 ----
Karsten Hopp 04684c
  		if (ml_append((linenr_T)(lo + i - 1),
Karsten Hopp 04684c
  					(char_u *)array[i], 0, FALSE) == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
! 		    RAISE_LINE_FAIL("insert");
Karsten Hopp 04684c
  		    break;
Karsten Hopp 04684c
  		}
Karsten Hopp 04684c
  		vim_free(array[i]);
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 3844,3852 ****
Karsten Hopp 04684c
  	switch_buffer(&savebuf, buf);
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_save((linenr_T)n, (linenr_T)(n+1)) == FAIL)
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("cannot save undo information");
Karsten Hopp 04684c
  	else if (ml_append((linenr_T)n, (char_u *)str, 0, FALSE) == FAIL)
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("cannot insert line");
Karsten Hopp 04684c
  	else
Karsten Hopp 04684c
  	    appended_lines_mark((linenr_T)n, 1L);
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 3880,3888 ----
Karsten Hopp 04684c
  	switch_buffer(&savebuf, buf);
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_save((linenr_T)n, (linenr_T)(n+1)) == FAIL)
Karsten Hopp 04684c
! 	    RAISE_UNDO_FAIL;
Karsten Hopp 04684c
  	else if (ml_append((linenr_T)n, (char_u *)str, 0, FALSE) == FAIL)
Karsten Hopp 04684c
! 	    RAISE_LINE_FAIL("insert");
Karsten Hopp 04684c
  	else
Karsten Hopp 04684c
  	    appended_lines_mark((linenr_T)n, 1L);
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 3895,3901 ****
Karsten Hopp 04684c
  	switch_buffer(&savebuf, buf);
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_save((linenr_T)n, (linenr_T)(n + 1)) == FAIL)
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("cannot save undo information");
Karsten Hopp 04684c
  	else
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
  	    for (i = 0; i < size; ++i)
Karsten Hopp 04684c
--- 3931,3937 ----
Karsten Hopp 04684c
  	switch_buffer(&savebuf, buf);
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (u_save((linenr_T)n, (linenr_T)(n + 1)) == FAIL)
Karsten Hopp 04684c
! 	    RAISE_UNDO_FAIL;
Karsten Hopp 04684c
  	else
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
  	    for (i = 0; i < size; ++i)
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 3903,3909 ****
Karsten Hopp 04684c
  		if (ml_append((linenr_T)(n + i),
Karsten Hopp 04684c
  					(char_u *)array[i], 0, FALSE) == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
! 		    PyErr_SET_VIM("cannot insert line");
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  		    /* Free the rest of the lines */
Karsten Hopp 04684c
  		    while (i < size)
Karsten Hopp 04684c
--- 3939,3945 ----
Karsten Hopp 04684c
  		if (ml_append((linenr_T)(n + i),
Karsten Hopp 04684c
  					(char_u *)array[i], 0, FALSE) == FAIL)
Karsten Hopp 04684c
  		{
Karsten Hopp 04684c
! 		    RAISE_LINE_FAIL("insert");
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  		    /* Free the rest of the lines */
Karsten Hopp 04684c
  		    while (i < size)
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 4668,4674 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (value->ob_type != &BufferType)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_SET_STRING(PyExc_TypeError, "expected vim.Buffer object");
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 4704,4712 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (value->ob_type != &BufferType)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_FORMAT(PyExc_TypeError,
Karsten Hopp 04684c
! 		    "expected vim.Buffer object, but got %s",
Karsten Hopp 04684c
! 		    Py_TYPE_NAME(value));
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 4681,4687 ****
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
  	    if (VimTryEnd())
Karsten Hopp 04684c
  		return -1;
Karsten Hopp 04684c
! 	    PyErr_SET_VIM("failed to switch to given buffer");
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 4719,4725 ----
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
  	    if (VimTryEnd())
Karsten Hopp 04684c
  		return -1;
Karsten Hopp 04684c
! 	    PyErr_VIM_FORMAT("failed to switch to buffer %d", count);
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 4693,4699 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (value->ob_type != &WindowType)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_SET_STRING(PyExc_TypeError, "expected vim.Window object");
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 4731,4739 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (value->ob_type != &WindowType)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_FORMAT(PyExc_TypeError,
Karsten Hopp 04684c
! 		    "expected vim.Window object, but got %s",
Karsten Hopp 04684c
! 		    Py_TYPE_NAME(value));
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 4725,4731 ****
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
  	if (value->ob_type != &TabPageType)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_SET_STRING(PyExc_TypeError, "expected vim.TabPage object");
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
--- 4765,4773 ----
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
  	if (value->ob_type != &TabPageType)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
! 	    PyErr_FORMAT(PyExc_TypeError,
Karsten Hopp 04684c
! 		    "expected vim.TabPage object, but got %s",
Karsten Hopp 04684c
! 		    Py_TYPE_NAME(value));
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
  
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 5003,5012 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (dict_add(dict, di) == FAIL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
  	    clear_tv(&di->di_tv);
Karsten Hopp 04684c
  	    vim_free(di);
Karsten Hopp 04684c
  	    dict_unref(dict);
Karsten Hopp 04684c
- 	    PyErr_SET_VIM("failed to add key to dictionary");
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
--- 5045,5054 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (dict_add(dict, di) == FAIL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
+ 	    RAISE_KEY_ADD_FAIL(di->di_key);
Karsten Hopp 04684c
  	    clear_tv(&di->di_tv);
Karsten Hopp 04684c
  	    vim_free(di);
Karsten Hopp 04684c
  	    dict_unref(dict);
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 5105,5114 ****
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (dict_add(dict, di) == FAIL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
  	    Py_DECREF(iterator);
Karsten Hopp 04684c
  	    dictitem_free(di);
Karsten Hopp 04684c
  	    dict_unref(dict);
Karsten Hopp 04684c
- 	    PyErr_SET_VIM("failed to add key to dictionary");
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
--- 5147,5156 ----
Karsten Hopp 04684c
  
Karsten Hopp 04684c
  	if (dict_add(dict, di) == FAIL)
Karsten Hopp 04684c
  	{
Karsten Hopp 04684c
+ 	    RAISE_KEY_ADD_FAIL(di->di_key);
Karsten Hopp 04684c
  	    Py_DECREF(iterator);
Karsten Hopp 04684c
  	    dictitem_free(di);
Karsten Hopp 04684c
  	    dict_unref(dict);
Karsten Hopp 04684c
  	    return -1;
Karsten Hopp 04684c
  	}
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 5216,5223 ****
Karsten Hopp 04684c
  	r = convert_dl(obj, tv, pymap_to_tv, lookup_dict);
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError,
Karsten Hopp 04684c
! 		"unable to convert object to vim dictionary");
Karsten Hopp 04684c
  	r = -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      Py_DECREF(lookup_dict);
Karsten Hopp 04684c
--- 5258,5266 ----
Karsten Hopp 04684c
  	r = convert_dl(obj, tv, pymap_to_tv, lookup_dict);
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_FORMAT(PyExc_TypeError,
Karsten Hopp 04684c
! 		"unable to convert %s to vim dictionary",
Karsten Hopp 04684c
! 		Py_TYPE_NAME(obj));
Karsten Hopp 04684c
  	r = -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      Py_DECREF(lookup_dict);
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 5326,5333 ****
Karsten Hopp 04684c
  	return convert_dl(obj, tv, pymap_to_tv, lookup_dict);
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError,
Karsten Hopp 04684c
! 		"unable to convert to vim structure");
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      return 0;
Karsten Hopp 04684c
--- 5369,5377 ----
Karsten Hopp 04684c
  	return convert_dl(obj, tv, pymap_to_tv, lookup_dict);
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_FORMAT(PyExc_TypeError,
Karsten Hopp 04684c
! 		"unable to convert %s to vim structure",
Karsten Hopp 04684c
! 		Py_TYPE_NAME(obj));
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      return 0;
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 5338,5344 ****
Karsten Hopp 04684c
  {
Karsten Hopp 04684c
      if (tv == NULL)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_VIM("NULL reference passed");
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      switch (tv->v_type)
Karsten Hopp 04684c
--- 5382,5388 ----
Karsten Hopp 04684c
  {
Karsten Hopp 04684c
      if (tv == NULL)
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_VIM("internal error: NULL reference passed");
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      switch (tv->v_type)
Karsten Hopp 04684c
*** ../vim-7.3.1229/src/if_python3.c	2013-06-23 13:28:11.000000000 +0200
Karsten Hopp 04684c
--- src/if_python3.c	2013-06-23 13:31:16.000000000 +0200
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 122,127 ****
Karsten Hopp 04684c
--- 122,128 ----
Karsten Hopp 04684c
  # define PyDict_SetItemString py3_PyDict_SetItemString
Karsten Hopp 04684c
  # define PyErr_BadArgument py3_PyErr_BadArgument
Karsten Hopp 04684c
  # define PyErr_Clear py3_PyErr_Clear
Karsten Hopp 04684c
+ # define PyErr_Format py3_PyErr_Format
Karsten Hopp 04684c
  # define PyErr_PrintEx py3_PyErr_PrintEx
Karsten Hopp 04684c
  # define PyErr_NoMemory py3_PyErr_NoMemory
Karsten Hopp 04684c
  # define PyErr_Occurred py3_PyErr_Occurred
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 337,342 ****
Karsten Hopp 04684c
--- 338,344 ----
Karsten Hopp 04684c
  static void* (*py3_PyMem_Malloc)(size_t);
Karsten Hopp 04684c
  static int (*py3_Py_IsInitialized)(void);
Karsten Hopp 04684c
  static void (*py3_PyErr_Clear)(void);
Karsten Hopp 04684c
+ static PyObject* (*py3_PyErr_Format)(PyObject *, const char *, ...);
Karsten Hopp 04684c
  static void (*py3_PyErr_PrintEx)(int);
Karsten Hopp 04684c
  static PyObject*(*py3__PyObject_Init)(PyObject *, PyTypeObject *);
Karsten Hopp 04684c
  static iternextfunc py3__PyObject_NextNotImplemented;
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 485,490 ****
Karsten Hopp 04684c
--- 487,493 ----
Karsten Hopp 04684c
      {"_Py_FalseStruct", (PYTHON_PROC*)&py3__Py_FalseStruct},
Karsten Hopp 04684c
      {"_Py_TrueStruct", (PYTHON_PROC*)&py3__Py_TrueStruct},
Karsten Hopp 04684c
      {"PyErr_Clear", (PYTHON_PROC*)&py3_PyErr_Clear},
Karsten Hopp 04684c
+     {"PyErr_Format", (PYTHON_PROC*)&py3_PyErr_Format},
Karsten Hopp 04684c
      {"PyErr_PrintEx", (PYTHON_PROC*)&py3_PyErr_PrintEx},
Karsten Hopp 04684c
      {"PyObject_Init", (PYTHON_PROC*)&py3__PyObject_Init},
Karsten Hopp 04684c
      {"PyModule_AddObject", (PYTHON_PROC*)&py3_PyModule_AddObject},
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1169,1175 ****
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError, "index must be int or slice");
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
--- 1172,1178 ----
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	RAISE_INVALID_INDEX_TYPE(idx);
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1203,1209 ****
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError, "index must be int or slice");
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
--- 1206,1212 ----
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	RAISE_INVALID_INDEX_TYPE(idx);
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1285,1291 ****
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError, "index must be int or slice");
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
--- 1288,1294 ----
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	RAISE_INVALID_INDEX_TYPE(idx);
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1312,1318 ****
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError, "index must be int or slice");
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
--- 1315,1321 ----
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	RAISE_INVALID_INDEX_TYPE(idx);
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1491,1497 ****
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError, "index must be int or slice");
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
--- 1494,1500 ----
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	RAISE_INVALID_INDEX_TYPE(idx);
Karsten Hopp 04684c
  	return NULL;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1515,1521 ****
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	PyErr_SET_STRING(PyExc_TypeError, "index must be int or slice");
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
--- 1518,1524 ----
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
      else
Karsten Hopp 04684c
      {
Karsten Hopp 04684c
! 	RAISE_INVALID_INDEX_TYPE(idx);
Karsten Hopp 04684c
  	return -1;
Karsten Hopp 04684c
      }
Karsten Hopp 04684c
  }
Karsten Hopp 04684c
*** ../vim-7.3.1229/src/if_python.c	2013-06-23 13:11:14.000000000 +0200
Karsten Hopp 04684c
--- src/if_python.c	2013-06-23 13:31:16.000000000 +0200
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 160,165 ****
Karsten Hopp 04684c
--- 160,166 ----
Karsten Hopp 04684c
  # define PyErr_BadArgument dll_PyErr_BadArgument
Karsten Hopp 04684c
  # define PyErr_NewException dll_PyErr_NewException
Karsten Hopp 04684c
  # define PyErr_Clear dll_PyErr_Clear
Karsten Hopp 04684c
+ # define PyErr_Format dll_PyErr_Format
Karsten Hopp 04684c
  # define PyErr_PrintEx dll_PyErr_PrintEx
Karsten Hopp 04684c
  # define PyErr_NoMemory dll_PyErr_NoMemory
Karsten Hopp 04684c
  # define PyErr_Occurred dll_PyErr_Occurred
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 301,306 ****
Karsten Hopp 04684c
--- 302,308 ----
Karsten Hopp 04684c
  static int(*dll_PyErr_BadArgument)(void);
Karsten Hopp 04684c
  static PyObject *(*dll_PyErr_NewException)(char *, PyObject *, PyObject *);
Karsten Hopp 04684c
  static void(*dll_PyErr_Clear)(void);
Karsten Hopp 04684c
+ static PyObject*(*dll_PyErr_Format)(PyObject *, const char *, ...);
Karsten Hopp 04684c
  static void(*dll_PyErr_PrintEx)(int);
Karsten Hopp 04684c
  static PyObject*(*dll_PyErr_NoMemory)(void);
Karsten Hopp 04684c
  static PyObject*(*dll_PyErr_Occurred)(void);
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 473,478 ****
Karsten Hopp 04684c
--- 475,481 ----
Karsten Hopp 04684c
      {"PyErr_BadArgument", (PYTHON_PROC*)&dll_PyErr_BadArgument},
Karsten Hopp 04684c
      {"PyErr_NewException", (PYTHON_PROC*)&dll_PyErr_NewException},
Karsten Hopp 04684c
      {"PyErr_Clear", (PYTHON_PROC*)&dll_PyErr_Clear},
Karsten Hopp 04684c
+     {"PyErr_Format", (PYTHON_PROC*)&dll_PyErr_Format},
Karsten Hopp 04684c
      {"PyErr_PrintEx", (PYTHON_PROC*)&dll_PyErr_PrintEx},
Karsten Hopp 04684c
      {"PyErr_NoMemory", (PYTHON_PROC*)&dll_PyErr_NoMemory},
Karsten Hopp 04684c
      {"PyErr_Occurred", (PYTHON_PROC*)&dll_PyErr_Occurred},
Karsten Hopp 04684c
*** ../vim-7.3.1229/src/testdir/test86.ok	2013-06-23 13:00:40.000000000 +0200
Karsten Hopp 04684c
--- src/testdir/test86.ok	2013-06-23 13:44:43.000000000 +0200
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 439,544 ****
Karsten Hopp 04684c
  >> OutputSetattr
Karsten Hopp 04684c
  del sys.stdout.softspace:AttributeError:("can't delete OutputObject attributes",)
Karsten Hopp 04684c
  sys.stdout.softspace = []:TypeError:('softspace must be an integer',)
Karsten Hopp 04684c
! sys.stdout.attr = None:AttributeError:('invalid attribute',)
Karsten Hopp 04684c
  >> OutputWrite
Karsten Hopp 04684c
  sys.stdout.write(None):TypeError:('coercing to Unicode: need string or buffer, NoneType found',)
Karsten Hopp 04684c
  >> OutputWriteLines
Karsten Hopp 04684c
  sys.stdout.writelines(None):TypeError:("'NoneType' object is not iterable",)
Karsten Hopp 04684c
  sys.stdout.writelines([1]):TypeError:('coercing to Unicode: need string or buffer, int found',)
Karsten Hopp 04684c
  > VimCommand
Karsten Hopp 04684c
! vim.command(1):TypeError:('object must be string',)
Karsten Hopp 04684c
  > VimToPython
Karsten Hopp 04684c
  > VimEval
Karsten Hopp 04684c
! vim.eval(1):TypeError:('object must be string',)
Karsten Hopp 04684c
  > VimEvalPy
Karsten Hopp 04684c
! vim.bindeval(1):TypeError:('object must be string',)
Karsten Hopp 04684c
  > VimStrwidth
Karsten Hopp 04684c
! vim.strwidth(1):TypeError:('object must be string',)
Karsten Hopp 04684c
  > Dictionary
Karsten Hopp 04684c
  >> DictionaryConstructor
Karsten Hopp 04684c
! vim.Dictionary("abc"):ValueError:('expected sequence element of size 2',)
Karsten Hopp 04684c
  >> DictionarySetattr
Karsten Hopp 04684c
  del d.locked:AttributeError:('cannot delete vim.Dictionary attributes',)
Karsten Hopp 04684c
  d.locked = FailingTrue():NotImplementedError:()
Karsten Hopp 04684c
  vim.vvars.locked = False:TypeError:('cannot modify fixed dictionary',)
Karsten Hopp 04684c
! d.scope = True:AttributeError:('cannot set this attribute',)
Karsten Hopp 04684c
! d.xxx = True:AttributeError:('cannot set this attribute',)
Karsten Hopp 04684c
  >> _DictionaryItem
Karsten Hopp 04684c
  d.get("a", 2, 3):TypeError:('function takes at most 2 arguments (3 given)',)
Karsten Hopp 04684c
  >>> Testing StringToChars using d.get(%s)
Karsten Hopp 04684c
! d.get(1):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.get(u"\0"):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.get("\0"):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  d.pop("a"):KeyError:('a',)
Karsten Hopp 04684c
! dl.pop("a"):error:('dict is locked',)
Karsten Hopp 04684c
  >> DictionaryIterNext
Karsten Hopp 04684c
  for i in ned: ned["a"] = 1:RuntimeError:('hashtab changed during iteration',)
Karsten Hopp 04684c
  >> DictionaryAssItem
Karsten Hopp 04684c
! dl["b"] = 1:error:('dict is locked',)
Karsten Hopp 04684c
  >>> Testing StringToChars using d[%s] = 1
Karsten Hopp 04684c
! d[1] = 1:TypeError:('object must be string',)
Karsten Hopp 04684c
  d[u"\0"] = 1:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["\0"] = 1:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {%s : 1}
Karsten Hopp 04684c
! d["a"] = {1 : 1}:TypeError:('object must be string',)
Karsten Hopp 04684c
  d["a"] = {u"\0" : 1}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = {"\0" : 1}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {"abc" : {%s : 1}}
Karsten Hopp 04684c
! d["a"] = {"abc" : {1 : 1}}:TypeError:('object must be string',)
Karsten Hopp 04684c
  d["a"] = {"abc" : {u"\0" : 1}}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = {"abc" : {"\0" : 1}}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {"abc" : Mapping({%s : 1})}
Karsten Hopp 04684c
! d["a"] = {"abc" : Mapping({1 : 1})}:TypeError:('object must be string',)
Karsten Hopp 04684c
  d["a"] = {"abc" : Mapping({u"\0" : 1})}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = {"abc" : Mapping({"\0" : 1})}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = {"abc" : %s}
Karsten Hopp 04684c
! d["a"] = {"abc" : FailingIter()}:TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingIterNext()}:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = {"abc" : %s}
Karsten Hopp 04684c
! d["a"] = {"abc" : None}:TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d["a"] = {"abc" : {"": 1}}:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = {"abc" : {u"": 1}}:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingMapping()}:NotImplementedError:()
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingMappingKey()}:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({%s : 1})
Karsten Hopp 04684c
! d["a"] = Mapping({1 : 1}):TypeError:('object must be string',)
Karsten Hopp 04684c
  d["a"] = Mapping({u"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = Mapping({"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({"abc" : {%s : 1}})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : {1 : 1}}):TypeError:('object must be string',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {u"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : Mapping({1 : 1})}):TypeError:('object must be string',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = Mapping({"abc" : %s})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingIterNext()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abc" : %s})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : None}):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {u"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingMapping()}):NotImplementedError:()
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingMappingKey()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = %s
Karsten Hopp 04684c
! d["a"] = FailingIter():TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d["a"] = FailingIterNext():NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = %s
Karsten Hopp 04684c
! d["a"] = None:TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d["a"] = {"": 1}:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = {u"": 1}:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = FailingMapping():NotImplementedError:()
Karsten Hopp 04684c
--- 439,544 ----
Karsten Hopp 04684c
  >> OutputSetattr
Karsten Hopp 04684c
  del sys.stdout.softspace:AttributeError:("can't delete OutputObject attributes",)
Karsten Hopp 04684c
  sys.stdout.softspace = []:TypeError:('softspace must be an integer',)
Karsten Hopp 04684c
! sys.stdout.attr = None:AttributeError:('invalid attribute: attr',)
Karsten Hopp 04684c
  >> OutputWrite
Karsten Hopp 04684c
  sys.stdout.write(None):TypeError:('coercing to Unicode: need string or buffer, NoneType found',)
Karsten Hopp 04684c
  >> OutputWriteLines
Karsten Hopp 04684c
  sys.stdout.writelines(None):TypeError:("'NoneType' object is not iterable",)
Karsten Hopp 04684c
  sys.stdout.writelines([1]):TypeError:('coercing to Unicode: need string or buffer, int found',)
Karsten Hopp 04684c
  > VimCommand
Karsten Hopp 04684c
! vim.command(1):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  > VimToPython
Karsten Hopp 04684c
  > VimEval
Karsten Hopp 04684c
! vim.eval(1):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  > VimEvalPy
Karsten Hopp 04684c
! vim.bindeval(1):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  > VimStrwidth
Karsten Hopp 04684c
! vim.strwidth(1):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  > Dictionary
Karsten Hopp 04684c
  >> DictionaryConstructor
Karsten Hopp 04684c
! vim.Dictionary("abc"):ValueError:('expected sequence element of size 2, but got sequence of size 1',)
Karsten Hopp 04684c
  >> DictionarySetattr
Karsten Hopp 04684c
  del d.locked:AttributeError:('cannot delete vim.Dictionary attributes',)
Karsten Hopp 04684c
  d.locked = FailingTrue():NotImplementedError:()
Karsten Hopp 04684c
  vim.vvars.locked = False:TypeError:('cannot modify fixed dictionary',)
Karsten Hopp 04684c
! d.scope = True:AttributeError:('cannot set attribute scope',)
Karsten Hopp 04684c
! d.xxx = True:AttributeError:('cannot set attribute xxx',)
Karsten Hopp 04684c
  >> _DictionaryItem
Karsten Hopp 04684c
  d.get("a", 2, 3):TypeError:('function takes at most 2 arguments (3 given)',)
Karsten Hopp 04684c
  >>> Testing StringToChars using d.get(%s)
Karsten Hopp 04684c
! d.get(1):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.get(u"\0"):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.get("\0"):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  d.pop("a"):KeyError:('a',)
Karsten Hopp 04684c
! dl.pop("a"):error:('dictionary is locked',)
Karsten Hopp 04684c
  >> DictionaryIterNext
Karsten Hopp 04684c
  for i in ned: ned["a"] = 1:RuntimeError:('hashtab changed during iteration',)
Karsten Hopp 04684c
  >> DictionaryAssItem
Karsten Hopp 04684c
! dl["b"] = 1:error:('dictionary is locked',)
Karsten Hopp 04684c
  >>> Testing StringToChars using d[%s] = 1
Karsten Hopp 04684c
! d[1] = 1:TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d[u"\0"] = 1:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["\0"] = 1:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {%s : 1}
Karsten Hopp 04684c
! d["a"] = {1 : 1}:TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d["a"] = {u"\0" : 1}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = {"\0" : 1}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {"abc" : {%s : 1}}
Karsten Hopp 04684c
! d["a"] = {"abc" : {1 : 1}}:TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d["a"] = {"abc" : {u"\0" : 1}}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = {"abc" : {"\0" : 1}}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {"abc" : Mapping({%s : 1})}
Karsten Hopp 04684c
! d["a"] = {"abc" : Mapping({1 : 1})}:TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d["a"] = {"abc" : Mapping({u"\0" : 1})}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = {"abc" : Mapping({"\0" : 1})}:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = {"abc" : %s}
Karsten Hopp 04684c
! d["a"] = {"abc" : FailingIter()}:TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingIterNext()}:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = {"abc" : %s}
Karsten Hopp 04684c
! d["a"] = {"abc" : None}:TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  d["a"] = {"abc" : {"": 1}}:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = {"abc" : {u"": 1}}:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingMapping()}:NotImplementedError:()
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingMappingKey()}:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({%s : 1})
Karsten Hopp 04684c
! d["a"] = Mapping({1 : 1}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d["a"] = Mapping({u"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = Mapping({"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({"abc" : {%s : 1}})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : {1 : 1}}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {u"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : Mapping({1 : 1})}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = Mapping({"abc" : %s})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingIterNext()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abc" : %s})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : None}):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {u"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingMapping()}):NotImplementedError:()
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingMappingKey()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = %s
Karsten Hopp 04684c
! d["a"] = FailingIter():TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  d["a"] = FailingIterNext():NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = %s
Karsten Hopp 04684c
! d["a"] = None:TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  d["a"] = {"": 1}:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = {u"": 1}:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d["a"] = FailingMapping():NotImplementedError:()
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 550,601 ****
Karsten Hopp 04684c
  d.update(FailingMapping()):NotImplementedError:()
Karsten Hopp 04684c
  d.update([FailingIterNext()]):NotImplementedError:()
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({%s : 1})
Karsten Hopp 04684c
! d.update({1 : 1}):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update({u"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update({"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({"abc" : {%s : 1}})
Karsten Hopp 04684c
! d.update({"abc" : {1 : 1}}):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update({"abc" : {u"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update({"abc" : {"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! d.update({"abc" : Mapping({1 : 1})}):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update({"abc" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update({"abc" : %s})
Karsten Hopp 04684c
! d.update({"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d.update({"abc" : FailingIterNext()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update({"abc" : %s})
Karsten Hopp 04684c
! d.update({"abc" : None}):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d.update({"abc" : {"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update({"abc" : {u"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update({"abc" : FailingMapping()}):NotImplementedError:()
Karsten Hopp 04684c
  d.update({"abc" : FailingMappingKey()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({%s : 1}))
Karsten Hopp 04684c
! d.update(Mapping({1 : 1})):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update(Mapping({u"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update(Mapping({"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : {1 : 1}})):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {u"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : Mapping({1 : 1})})):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : Mapping({u"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : FailingIter()})):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : None})):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {u"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : FailingMapping()})):NotImplementedError:()
Karsten Hopp 04684c
--- 550,601 ----
Karsten Hopp 04684c
  d.update(FailingMapping()):NotImplementedError:()
Karsten Hopp 04684c
  d.update([FailingIterNext()]):NotImplementedError:()
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({%s : 1})
Karsten Hopp 04684c
! d.update({1 : 1}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update({u"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update({"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({"abc" : {%s : 1}})
Karsten Hopp 04684c
! d.update({"abc" : {1 : 1}}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update({"abc" : {u"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update({"abc" : {"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! d.update({"abc" : Mapping({1 : 1})}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update({"abc" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update({"abc" : %s})
Karsten Hopp 04684c
! d.update({"abc" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  d.update({"abc" : FailingIterNext()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update({"abc" : %s})
Karsten Hopp 04684c
! d.update({"abc" : None}):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  d.update({"abc" : {"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update({"abc" : {u"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update({"abc" : FailingMapping()}):NotImplementedError:()
Karsten Hopp 04684c
  d.update({"abc" : FailingMappingKey()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({%s : 1}))
Karsten Hopp 04684c
! d.update(Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update(Mapping({u"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update(Mapping({"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : {1 : 1}})):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {u"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : Mapping({1 : 1})})):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : Mapping({u"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : FailingIter()})):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : None})):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {u"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update(Mapping({"abc" : FailingMapping()})):NotImplementedError:()
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 613,680 ****
Karsten Hopp 04684c
  d.update(FailingMappingKey()):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(((%s, 0),))
Karsten Hopp 04684c
! d.update(((1, 0),)):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update(((u"\0", 0),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("\0", 0),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {%s : 1}),))
Karsten Hopp 04684c
! d.update((("a", {1 : 1}),)):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update((("a", {u"\0" : 1}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", {"\0" : 1}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {"abc" : {%s : 1}}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : {1 : 1}}),)):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : {u"\0" : 1}}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : {"\0" : 1}}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {"abc" : Mapping({%s : 1})}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : Mapping({1 : 1})}),)):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : Mapping({u"\0" : 1})}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : Mapping({"\0" : 1})}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", {"abc" : %s}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : FailingIter()}),)):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingIterNext()}),)):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", {"abc" : %s}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : None}),)):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : {"": 1}}),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : {u"": 1}}),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingMapping()}),)):NotImplementedError:()
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingMappingKey()}),)):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({%s : 1})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({1 : 1})),)):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update((("a", Mapping({u"\0" : 1})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"\0" : 1})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({"abc" : {%s : 1}})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : {1 : 1}})),)):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {u"\0" : 1}})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {"\0" : 1}})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({"abc" : Mapping({%s : 1})})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : Mapping({1 : 1})})),)):TypeError:('object must be string',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : Mapping({u"\0" : 1})})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : Mapping({"\0" : 1})})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", Mapping({"abc" : %s})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : FailingIter()})),)):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingIterNext()})),)):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abc" : %s})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : None})),)):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {"": 1}})),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {u"": 1}})),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingMapping()})),)):NotImplementedError:()
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingMappingKey()})),)):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", %s),))
Karsten Hopp 04684c
! d.update((("a", FailingIter()),)):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d.update((("a", FailingIterNext()),)):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", %s),))
Karsten Hopp 04684c
! d.update((("a", None),)):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  d.update((("a", {"": 1}),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", {u"": 1}),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", FailingMapping()),)):NotImplementedError:()
Karsten Hopp 04684c
--- 613,680 ----
Karsten Hopp 04684c
  d.update(FailingMappingKey()):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(((%s, 0),))
Karsten Hopp 04684c
! d.update(((1, 0),)):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update(((u"\0", 0),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("\0", 0),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {%s : 1}),))
Karsten Hopp 04684c
! d.update((("a", {1 : 1}),)):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update((("a", {u"\0" : 1}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", {"\0" : 1}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {"abc" : {%s : 1}}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : {1 : 1}}),)):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : {u"\0" : 1}}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : {"\0" : 1}}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {"abc" : Mapping({%s : 1})}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : Mapping({1 : 1})}),)):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : Mapping({u"\0" : 1})}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : Mapping({"\0" : 1})}),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", {"abc" : %s}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : FailingIter()}),)):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingIterNext()}),)):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", {"abc" : %s}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : None}),)):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : {"": 1}}),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : {u"": 1}}),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingMapping()}),)):NotImplementedError:()
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingMappingKey()}),)):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({%s : 1})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({1 : 1})),)):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update((("a", Mapping({u"\0" : 1})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"\0" : 1})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({"abc" : {%s : 1}})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : {1 : 1}})),)):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {u"\0" : 1}})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {"\0" : 1}})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({"abc" : Mapping({%s : 1})})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : Mapping({1 : 1})})),)):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : Mapping({u"\0" : 1})})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : Mapping({"\0" : 1})})),)):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", Mapping({"abc" : %s})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : FailingIter()})),)):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingIterNext()})),)):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abc" : %s})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : None})),)):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {"": 1}})),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {u"": 1}})),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingMapping()})),)):NotImplementedError:()
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingMappingKey()})),)):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", %s),))
Karsten Hopp 04684c
! d.update((("a", FailingIter()),)):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  d.update((("a", FailingIterNext()),)):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", %s),))
Karsten Hopp 04684c
! d.update((("a", None),)):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  d.update((("a", {"": 1}),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", {u"": 1}),)):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  d.update((("a", FailingMapping()),)):NotImplementedError:()
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 689,751 ****
Karsten Hopp 04684c
  vim.List(1, 2):TypeError:('function takes at most 1 argument (2 given)',)
Karsten Hopp 04684c
  vim.List(a=1):TypeError:('list constructor does not accept keyword arguments',)
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{%s : 1}])
Karsten Hopp 04684c
! vim.List([{1 : 1}]):TypeError:('object must be string',)
Karsten Hopp 04684c
  vim.List([{u"\0" : 1}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([{"\0" : 1}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{"abc" : {%s : 1}}])
Karsten Hopp 04684c
! vim.List([{"abc" : {1 : 1}}]):TypeError:('object must be string',)
Karsten Hopp 04684c
  vim.List([{"abc" : {u"\0" : 1}}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([{"abc" : {"\0" : 1}}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{"abc" : Mapping({%s : 1})}])
Karsten Hopp 04684c
! vim.List([{"abc" : Mapping({1 : 1})}]):TypeError:('object must be string',)
Karsten Hopp 04684c
  vim.List([{"abc" : Mapping({u"\0" : 1})}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([{"abc" : Mapping({"\0" : 1})}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([{"abc" : %s}])
Karsten Hopp 04684c
! vim.List([{"abc" : FailingIter()}]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  vim.List([{"abc" : FailingIterNext()}]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([{"abc" : %s}])
Karsten Hopp 04684c
! vim.List([{"abc" : None}]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  vim.List([{"abc" : {"": 1}}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([{"abc" : {u"": 1}}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([{"abc" : FailingMapping()}]):NotImplementedError:()
Karsten Hopp 04684c
  vim.List([{"abc" : FailingMappingKey()}]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({%s : 1})])
Karsten Hopp 04684c
! vim.List([Mapping({1 : 1})]):TypeError:('object must be string',)
Karsten Hopp 04684c
  vim.List([Mapping({u"\0" : 1})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([Mapping({"\0" : 1})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({"abc" : {%s : 1}})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : {1 : 1}})]):TypeError:('object must be string',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {u"\0" : 1}})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {"\0" : 1}})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({"abc" : Mapping({%s : 1})})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : Mapping({1 : 1})})]):TypeError:('object must be string',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : Mapping({u"\0" : 1})})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : Mapping({"\0" : 1})})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : FailingIter()})]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingIterNext()})]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : None})]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {"": 1}})]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {u"": 1}})]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingMapping()})]):NotImplementedError:()
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingMappingKey()})]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([%s])
Karsten Hopp 04684c
! vim.List([FailingIter()]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  vim.List([FailingIterNext()]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([%s])
Karsten Hopp 04684c
! vim.List([None]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  vim.List([{"": 1}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([{u"": 1}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([FailingMapping()]):NotImplementedError:()
Karsten Hopp 04684c
--- 689,751 ----
Karsten Hopp 04684c
  vim.List(1, 2):TypeError:('function takes at most 1 argument (2 given)',)
Karsten Hopp 04684c
  vim.List(a=1):TypeError:('list constructor does not accept keyword arguments',)
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{%s : 1}])
Karsten Hopp 04684c
! vim.List([{1 : 1}]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  vim.List([{u"\0" : 1}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([{"\0" : 1}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{"abc" : {%s : 1}}])
Karsten Hopp 04684c
! vim.List([{"abc" : {1 : 1}}]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  vim.List([{"abc" : {u"\0" : 1}}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([{"abc" : {"\0" : 1}}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{"abc" : Mapping({%s : 1})}])
Karsten Hopp 04684c
! vim.List([{"abc" : Mapping({1 : 1})}]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  vim.List([{"abc" : Mapping({u"\0" : 1})}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([{"abc" : Mapping({"\0" : 1})}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([{"abc" : %s}])
Karsten Hopp 04684c
! vim.List([{"abc" : FailingIter()}]):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  vim.List([{"abc" : FailingIterNext()}]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([{"abc" : %s}])
Karsten Hopp 04684c
! vim.List([{"abc" : None}]):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  vim.List([{"abc" : {"": 1}}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([{"abc" : {u"": 1}}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([{"abc" : FailingMapping()}]):NotImplementedError:()
Karsten Hopp 04684c
  vim.List([{"abc" : FailingMappingKey()}]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({%s : 1})])
Karsten Hopp 04684c
! vim.List([Mapping({1 : 1})]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  vim.List([Mapping({u"\0" : 1})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([Mapping({"\0" : 1})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({"abc" : {%s : 1}})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : {1 : 1}})]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {u"\0" : 1}})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {"\0" : 1}})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({"abc" : Mapping({%s : 1})})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : Mapping({1 : 1})})]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : Mapping({u"\0" : 1})})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : Mapping({"\0" : 1})})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : FailingIter()})]):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingIterNext()})]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : None})]):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {"": 1}})]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {u"": 1}})]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingMapping()})]):NotImplementedError:()
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingMappingKey()})]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([%s])
Karsten Hopp 04684c
! vim.List([FailingIter()]):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  vim.List([FailingIterNext()]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([%s])
Karsten Hopp 04684c
! vim.List([None]):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  vim.List([{"": 1}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([{u"": 1}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  vim.List([FailingMapping()]):NotImplementedError:()
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 759,821 ****
Karsten Hopp 04684c
  >> ListAssSlice
Karsten Hopp 04684c
  ll[1:100] = "abc":error:('list is locked',)
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{%s : 1}]
Karsten Hopp 04684c
! l[:] = [{1 : 1}]:TypeError:('object must be string',)
Karsten Hopp 04684c
  l[:] = [{u"\0" : 1}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [{"\0" : 1}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{"abc" : {%s : 1}}]
Karsten Hopp 04684c
! l[:] = [{"abc" : {1 : 1}}]:TypeError:('object must be string',)
Karsten Hopp 04684c
  l[:] = [{"abc" : {u"\0" : 1}}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [{"abc" : {"\0" : 1}}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{"abc" : Mapping({%s : 1})}]
Karsten Hopp 04684c
! l[:] = [{"abc" : Mapping({1 : 1})}]:TypeError:('object must be string',)
Karsten Hopp 04684c
  l[:] = [{"abc" : Mapping({u"\0" : 1})}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [{"abc" : Mapping({"\0" : 1})}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [{"abc" : %s}]
Karsten Hopp 04684c
! l[:] = [{"abc" : FailingIter()}]:TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingIterNext()}]:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [{"abc" : %s}]
Karsten Hopp 04684c
! l[:] = [{"abc" : None}]:TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l[:] = [{"abc" : {"": 1}}]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [{"abc" : {u"": 1}}]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingMapping()}]:NotImplementedError:()
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingMappingKey()}]:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({%s : 1})]
Karsten Hopp 04684c
! l[:] = [Mapping({1 : 1})]:TypeError:('object must be string',)
Karsten Hopp 04684c
  l[:] = [Mapping({u"\0" : 1})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [Mapping({"\0" : 1})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({"abc" : {%s : 1}})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : {1 : 1}})]:TypeError:('object must be string',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {u"\0" : 1}})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {"\0" : 1}})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({"abc" : Mapping({%s : 1})})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : Mapping({1 : 1})})]:TypeError:('object must be string',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : Mapping({u"\0" : 1})})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : Mapping({"\0" : 1})})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [Mapping({"abc" : %s})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : FailingIter()})]:TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingIterNext()})]:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abc" : %s})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : None})]:TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {"": 1}})]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {u"": 1}})]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingMapping()})]:NotImplementedError:()
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingMappingKey()})]:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [%s]
Karsten Hopp 04684c
! l[:] = [FailingIter()]:TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l[:] = [FailingIterNext()]:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [%s]
Karsten Hopp 04684c
! l[:] = [None]:TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l[:] = [{"": 1}]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [{u"": 1}]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [FailingMapping()]:NotImplementedError:()
Karsten Hopp 04684c
--- 759,821 ----
Karsten Hopp 04684c
  >> ListAssSlice
Karsten Hopp 04684c
  ll[1:100] = "abc":error:('list is locked',)
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{%s : 1}]
Karsten Hopp 04684c
! l[:] = [{1 : 1}]:TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l[:] = [{u"\0" : 1}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [{"\0" : 1}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{"abc" : {%s : 1}}]
Karsten Hopp 04684c
! l[:] = [{"abc" : {1 : 1}}]:TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l[:] = [{"abc" : {u"\0" : 1}}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [{"abc" : {"\0" : 1}}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{"abc" : Mapping({%s : 1})}]
Karsten Hopp 04684c
! l[:] = [{"abc" : Mapping({1 : 1})}]:TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l[:] = [{"abc" : Mapping({u"\0" : 1})}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [{"abc" : Mapping({"\0" : 1})}]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [{"abc" : %s}]
Karsten Hopp 04684c
! l[:] = [{"abc" : FailingIter()}]:TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingIterNext()}]:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [{"abc" : %s}]
Karsten Hopp 04684c
! l[:] = [{"abc" : None}]:TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  l[:] = [{"abc" : {"": 1}}]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [{"abc" : {u"": 1}}]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingMapping()}]:NotImplementedError:()
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingMappingKey()}]:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({%s : 1})]
Karsten Hopp 04684c
! l[:] = [Mapping({1 : 1})]:TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l[:] = [Mapping({u"\0" : 1})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [Mapping({"\0" : 1})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({"abc" : {%s : 1}})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : {1 : 1}})]:TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {u"\0" : 1}})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {"\0" : 1}})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({"abc" : Mapping({%s : 1})})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : Mapping({1 : 1})})]:TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : Mapping({u"\0" : 1})})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : Mapping({"\0" : 1})})]:TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [Mapping({"abc" : %s})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : FailingIter()})]:TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingIterNext()})]:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abc" : %s})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : None})]:TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {"": 1}})]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {u"": 1}})]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingMapping()})]:NotImplementedError:()
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingMappingKey()})]:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [%s]
Karsten Hopp 04684c
! l[:] = [FailingIter()]:TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  l[:] = [FailingIterNext()]:NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [%s]
Karsten Hopp 04684c
! l[:] = [None]:TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  l[:] = [{"": 1}]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [{u"": 1}]:ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l[:] = [FailingMapping()]:NotImplementedError:()
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 823,885 ****
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >> ListConcatInPlace
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{%s : 1}])
Karsten Hopp 04684c
! l.extend([{1 : 1}]):TypeError:('object must be string',)
Karsten Hopp 04684c
  l.extend([{u"\0" : 1}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([{"\0" : 1}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{"abc" : {%s : 1}}])
Karsten Hopp 04684c
! l.extend([{"abc" : {1 : 1}}]):TypeError:('object must be string',)
Karsten Hopp 04684c
  l.extend([{"abc" : {u"\0" : 1}}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([{"abc" : {"\0" : 1}}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{"abc" : Mapping({%s : 1})}])
Karsten Hopp 04684c
! l.extend([{"abc" : Mapping({1 : 1})}]):TypeError:('object must be string',)
Karsten Hopp 04684c
  l.extend([{"abc" : Mapping({u"\0" : 1})}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([{"abc" : Mapping({"\0" : 1})}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([{"abc" : %s}])
Karsten Hopp 04684c
! l.extend([{"abc" : FailingIter()}]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l.extend([{"abc" : FailingIterNext()}]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([{"abc" : %s}])
Karsten Hopp 04684c
! l.extend([{"abc" : None}]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l.extend([{"abc" : {"": 1}}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([{"abc" : {u"": 1}}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([{"abc" : FailingMapping()}]):NotImplementedError:()
Karsten Hopp 04684c
  l.extend([{"abc" : FailingMappingKey()}]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({%s : 1})])
Karsten Hopp 04684c
! l.extend([Mapping({1 : 1})]):TypeError:('object must be string',)
Karsten Hopp 04684c
  l.extend([Mapping({u"\0" : 1})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([Mapping({"\0" : 1})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({"abc" : {%s : 1}})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : {1 : 1}})]):TypeError:('object must be string',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {u"\0" : 1}})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {"\0" : 1}})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({"abc" : Mapping({%s : 1})})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : Mapping({1 : 1})})]):TypeError:('object must be string',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : Mapping({u"\0" : 1})})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : Mapping({"\0" : 1})})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : FailingIter()})]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingIterNext()})]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : None})]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {"": 1}})]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {u"": 1}})]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingMapping()})]):NotImplementedError:()
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingMappingKey()})]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([%s])
Karsten Hopp 04684c
! l.extend([FailingIter()]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l.extend([FailingIterNext()]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([%s])
Karsten Hopp 04684c
! l.extend([None]):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  l.extend([{"": 1}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([{u"": 1}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([FailingMapping()]):NotImplementedError:()
Karsten Hopp 04684c
--- 823,885 ----
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >> ListConcatInPlace
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{%s : 1}])
Karsten Hopp 04684c
! l.extend([{1 : 1}]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l.extend([{u"\0" : 1}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([{"\0" : 1}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{"abc" : {%s : 1}}])
Karsten Hopp 04684c
! l.extend([{"abc" : {1 : 1}}]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l.extend([{"abc" : {u"\0" : 1}}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([{"abc" : {"\0" : 1}}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{"abc" : Mapping({%s : 1})}])
Karsten Hopp 04684c
! l.extend([{"abc" : Mapping({1 : 1})}]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l.extend([{"abc" : Mapping({u"\0" : 1})}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([{"abc" : Mapping({"\0" : 1})}]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([{"abc" : %s}])
Karsten Hopp 04684c
! l.extend([{"abc" : FailingIter()}]):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  l.extend([{"abc" : FailingIterNext()}]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([{"abc" : %s}])
Karsten Hopp 04684c
! l.extend([{"abc" : None}]):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  l.extend([{"abc" : {"": 1}}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([{"abc" : {u"": 1}}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([{"abc" : FailingMapping()}]):NotImplementedError:()
Karsten Hopp 04684c
  l.extend([{"abc" : FailingMappingKey()}]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({%s : 1})])
Karsten Hopp 04684c
! l.extend([Mapping({1 : 1})]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l.extend([Mapping({u"\0" : 1})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([Mapping({"\0" : 1})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({"abc" : {%s : 1}})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : {1 : 1}})]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {u"\0" : 1}})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {"\0" : 1}})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({"abc" : Mapping({%s : 1})})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : Mapping({1 : 1})})]):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : Mapping({u"\0" : 1})})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : Mapping({"\0" : 1})})]):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : FailingIter()})]):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingIterNext()})]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : None})]):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {"": 1}})]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {u"": 1}})]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingMapping()})]):NotImplementedError:()
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingMappingKey()})]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([%s])
Karsten Hopp 04684c
! l.extend([FailingIter()]):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  l.extend([FailingIterNext()]):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([%s])
Karsten Hopp 04684c
! l.extend([None]):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  l.extend([{"": 1}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([{u"": 1}]):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  l.extend([FailingMapping()]):NotImplementedError:()
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 888,1028 ****
Karsten Hopp 04684c
  >> ListSetattr
Karsten Hopp 04684c
  del l.locked:AttributeError:('cannot delete vim.List attributes',)
Karsten Hopp 04684c
  l.locked = FailingTrue():NotImplementedError:()
Karsten Hopp 04684c
! l.xxx = True:AttributeError:('cannot set this attribute',)
Karsten Hopp 04684c
  > Function
Karsten Hopp 04684c
  >> FunctionConstructor
Karsten Hopp 04684c
! vim.Function("123"):ValueError:('unnamed function does not exist',)
Karsten Hopp 04684c
! vim.Function("xxx_non_existent_function_xxx"):ValueError:('function does not exist',)
Karsten Hopp 04684c
  vim.Function("xxx#non#existent#function#xxx"):NOT FAILED
Karsten Hopp 04684c
  >> FunctionCall
Karsten Hopp 04684c
  >>> Testing StringToChars using f({%s : 1})
Karsten Hopp 04684c
! f({1 : 1}):TypeError:('object must be string',)
Karsten Hopp 04684c
  f({u"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f({"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f({"abc" : {%s : 1}})
Karsten Hopp 04684c
! f({"abc" : {1 : 1}}):TypeError:('object must be string',)
Karsten Hopp 04684c
  f({"abc" : {u"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f({"abc" : {"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! f({"abc" : Mapping({1 : 1})}):TypeError:('object must be string',)
Karsten Hopp 04684c
  f({"abc" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f({"abc" : %s})
Karsten Hopp 04684c
! f({"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  f({"abc" : FailingIterNext()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f({"abc" : %s})
Karsten Hopp 04684c
! f({"abc" : None}):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  f({"abc" : {"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f({"abc" : {u"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f({"abc" : FailingMapping()}):NotImplementedError:()
Karsten Hopp 04684c
  f({"abc" : FailingMappingKey()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({%s : 1}))
Karsten Hopp 04684c
! f(Mapping({1 : 1})):TypeError:('object must be string',)
Karsten Hopp 04684c
  f(Mapping({u"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f(Mapping({"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! f(Mapping({"abc" : {1 : 1}})):TypeError:('object must be string',)
Karsten Hopp 04684c
  f(Mapping({"abc" : {u"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f(Mapping({"abc" : {"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! f(Mapping({"abc" : Mapping({1 : 1})})):TypeError:('object must be string',)
Karsten Hopp 04684c
  f(Mapping({"abc" : Mapping({u"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f(Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! f(Mapping({"abc" : FailingIter()})):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! f(Mapping({"abc" : None})):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  f(Mapping({"abc" : {"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f(Mapping({"abc" : {u"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingMapping()})):NotImplementedError:()
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingMappingKey()})):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f(%s)
Karsten Hopp 04684c
! f(FailingIter()):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  f(FailingIterNext()):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f(%s)
Karsten Hopp 04684c
! f(None):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  f({"": 1}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f({u"": 1}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f(FailingMapping()):NotImplementedError:()
Karsten Hopp 04684c
  f(FailingMappingKey()):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={%s : 1})
Karsten Hopp 04684c
! fd(self={1 : 1}):TypeError:('object must be string',)
Karsten Hopp 04684c
  fd(self={u"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self={"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={"abc" : {%s : 1}})
Karsten Hopp 04684c
! fd(self={"abc" : {1 : 1}}):TypeError:('object must be string',)
Karsten Hopp 04684c
  fd(self={"abc" : {u"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self={"abc" : {"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! fd(self={"abc" : Mapping({1 : 1})}):TypeError:('object must be string',)
Karsten Hopp 04684c
  fd(self={"abc" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self={"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self={"abc" : %s})
Karsten Hopp 04684c
! fd(self={"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  fd(self={"abc" : FailingIterNext()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self={"abc" : %s})
Karsten Hopp 04684c
! fd(self={"abc" : None}):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  fd(self={"abc" : {"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self={"abc" : {u"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self={"abc" : FailingMapping()}):NotImplementedError:()
Karsten Hopp 04684c
  fd(self={"abc" : FailingMappingKey()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({%s : 1}))
Karsten Hopp 04684c
! fd(self=Mapping({1 : 1})):TypeError:('object must be string',)
Karsten Hopp 04684c
  fd(self=Mapping({u"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self=Mapping({"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : {1 : 1}})):TypeError:('object must be string',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {u"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : Mapping({1 : 1})})):TypeError:('object must be string',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : Mapping({u"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self=Mapping({"abc" : %s}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : FailingIter()})):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self=Mapping({"abc" : %s}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : None})):TypeError:('unable to convert to vim structure',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {u"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingMapping()})):NotImplementedError:()
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingMappingKey()})):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self=%s)
Karsten Hopp 04684c
! fd(self=FailingIter()):TypeError:('unable to convert object to vim dictionary',)
Karsten Hopp 04684c
! fd(self=FailingIterNext()):TypeError:('unable to convert object to vim dictionary',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self=%s)
Karsten Hopp 04684c
! fd(self=None):TypeError:('unable to convert object to vim dictionary',)
Karsten Hopp 04684c
  fd(self={"": 1}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self={u"": 1}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self=FailingMapping()):NotImplementedError:()
Karsten Hopp 04684c
  fd(self=FailingMappingKey()):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyMapping using fd(self=%s)
Karsten Hopp 04684c
! fd(self=[]):TypeError:('unable to convert object to vim dictionary',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  > TabPage
Karsten Hopp 04684c
  >> TabPageAttr
Karsten Hopp 04684c
--- 888,1028 ----
Karsten Hopp 04684c
  >> ListSetattr
Karsten Hopp 04684c
  del l.locked:AttributeError:('cannot delete vim.List attributes',)
Karsten Hopp 04684c
  l.locked = FailingTrue():NotImplementedError:()
Karsten Hopp 04684c
! l.xxx = True:AttributeError:('cannot set attribute xxx',)
Karsten Hopp 04684c
  > Function
Karsten Hopp 04684c
  >> FunctionConstructor
Karsten Hopp 04684c
! vim.Function("123"):ValueError:('unnamed function 123 does not exist',)
Karsten Hopp 04684c
! vim.Function("xxx_non_existent_function_xxx"):ValueError:('function xxx_non_existent_function_xxx does not exist',)
Karsten Hopp 04684c
  vim.Function("xxx#non#existent#function#xxx"):NOT FAILED
Karsten Hopp 04684c
  >> FunctionCall
Karsten Hopp 04684c
  >>> Testing StringToChars using f({%s : 1})
Karsten Hopp 04684c
! f({1 : 1}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  f({u"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f({"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f({"abc" : {%s : 1}})
Karsten Hopp 04684c
! f({"abc" : {1 : 1}}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  f({"abc" : {u"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f({"abc" : {"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! f({"abc" : Mapping({1 : 1})}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  f({"abc" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f({"abc" : %s})
Karsten Hopp 04684c
! f({"abc" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  f({"abc" : FailingIterNext()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f({"abc" : %s})
Karsten Hopp 04684c
! f({"abc" : None}):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  f({"abc" : {"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f({"abc" : {u"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f({"abc" : FailingMapping()}):NotImplementedError:()
Karsten Hopp 04684c
  f({"abc" : FailingMappingKey()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({%s : 1}))
Karsten Hopp 04684c
! f(Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  f(Mapping({u"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f(Mapping({"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! f(Mapping({"abc" : {1 : 1}})):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  f(Mapping({"abc" : {u"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f(Mapping({"abc" : {"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! f(Mapping({"abc" : Mapping({1 : 1})})):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  f(Mapping({"abc" : Mapping({u"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  f(Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! f(Mapping({"abc" : FailingIter()})):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! f(Mapping({"abc" : None})):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  f(Mapping({"abc" : {"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f(Mapping({"abc" : {u"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingMapping()})):NotImplementedError:()
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingMappingKey()})):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f(%s)
Karsten Hopp 04684c
! f(FailingIter()):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  f(FailingIterNext()):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f(%s)
Karsten Hopp 04684c
! f(None):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  f({"": 1}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f({u"": 1}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  f(FailingMapping()):NotImplementedError:()
Karsten Hopp 04684c
  f(FailingMappingKey()):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={%s : 1})
Karsten Hopp 04684c
! fd(self={1 : 1}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  fd(self={u"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self={"\0" : 1}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={"abc" : {%s : 1}})
Karsten Hopp 04684c
! fd(self={"abc" : {1 : 1}}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  fd(self={"abc" : {u"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self={"abc" : {"\0" : 1}}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! fd(self={"abc" : Mapping({1 : 1})}):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  fd(self={"abc" : Mapping({u"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self={"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self={"abc" : %s})
Karsten Hopp 04684c
! fd(self={"abc" : FailingIter()}):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  fd(self={"abc" : FailingIterNext()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self={"abc" : %s})
Karsten Hopp 04684c
! fd(self={"abc" : None}):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  fd(self={"abc" : {"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self={"abc" : {u"": 1}}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self={"abc" : FailingMapping()}):NotImplementedError:()
Karsten Hopp 04684c
  fd(self={"abc" : FailingMappingKey()}):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({%s : 1}))
Karsten Hopp 04684c
! fd(self=Mapping({1 : 1})):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  fd(self=Mapping({u"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self=Mapping({"\0" : 1})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : {1 : 1}})):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {u"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {"\0" : 1}})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : Mapping({1 : 1})})):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : Mapping({u"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self=Mapping({"abc" : %s}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : FailingIter()})):TypeError:('unable to convert FailingIter to vim structure',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self=Mapping({"abc" : %s}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : None})):TypeError:('unable to convert NoneType to vim structure',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {u"": 1}})):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingMapping()})):NotImplementedError:()
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingMappingKey()})):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self=%s)
Karsten Hopp 04684c
! fd(self=FailingIter()):TypeError:('unable to convert FailingIter to vim dictionary',)
Karsten Hopp 04684c
! fd(self=FailingIterNext()):TypeError:('unable to convert FailingIterNext to vim dictionary',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self=%s)
Karsten Hopp 04684c
! fd(self=None):TypeError:('unable to convert NoneType to vim dictionary',)
Karsten Hopp 04684c
  fd(self={"": 1}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self={u"": 1}):ValueError:('empty keys are not allowed',)
Karsten Hopp 04684c
  fd(self=FailingMapping()):NotImplementedError:()
Karsten Hopp 04684c
  fd(self=FailingMappingKey()):NotImplementedError:()
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyMapping using fd(self=%s)
Karsten Hopp 04684c
! fd(self=[]):TypeError:('unable to convert list to vim dictionary',)
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  > TabPage
Karsten Hopp 04684c
  >> TabPageAttr
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1034,1040 ****
Karsten Hopp 04684c
  >> WindowAttr
Karsten Hopp 04684c
  vim.current.window.xxx:AttributeError:('xxx',)
Karsten Hopp 04684c
  >> WindowSetattr
Karsten Hopp 04684c
! vim.current.window.buffer = 0:TypeError:('readonly attribute',)
Karsten Hopp 04684c
  vim.current.window.cursor = (100000000, 100000000):error:('cursor position outside buffer',)
Karsten Hopp 04684c
  vim.current.window.cursor = True:TypeError:('argument must be 2-item sequence, not bool',)
Karsten Hopp 04684c
  vim.current.window.height = "abc":TypeError:('an integer is required',)
Karsten Hopp 04684c
--- 1034,1040 ----
Karsten Hopp 04684c
  >> WindowAttr
Karsten Hopp 04684c
  vim.current.window.xxx:AttributeError:('xxx',)
Karsten Hopp 04684c
  >> WindowSetattr
Karsten Hopp 04684c
! vim.current.window.buffer = 0:TypeError:('readonly attribute: buffer',)
Karsten Hopp 04684c
  vim.current.window.cursor = (100000000, 100000000):error:('cursor position outside buffer',)
Karsten Hopp 04684c
  vim.current.window.cursor = True:TypeError:('argument must be 2-item sequence, not bool',)
Karsten Hopp 04684c
  vim.current.window.height = "abc":TypeError:('an integer is required',)
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1062,1071 ****
Karsten Hopp 04684c
  >> BufferAttr
Karsten Hopp 04684c
  vim.current.buffer.xxx:AttributeError:('xxx',)
Karsten Hopp 04684c
  >> BufferSetattr
Karsten Hopp 04684c
! vim.current.buffer.name = True:TypeError:('object must be string',)
Karsten Hopp 04684c
  vim.current.buffer.xxx = True:AttributeError:('xxx',)
Karsten Hopp 04684c
  >> BufferMark
Karsten Hopp 04684c
! vim.current.buffer.mark(0):TypeError:('object must be string',)
Karsten Hopp 04684c
  vim.current.buffer.mark("abc"):ValueError:('mark name must be a single character',)
Karsten Hopp 04684c
  vim.current.buffer.mark("!"):error:('invalid mark name',)
Karsten Hopp 04684c
  >> BufferRange
Karsten Hopp 04684c
--- 1062,1071 ----
Karsten Hopp 04684c
  >> BufferAttr
Karsten Hopp 04684c
  vim.current.buffer.xxx:AttributeError:('xxx',)
Karsten Hopp 04684c
  >> BufferSetattr
Karsten Hopp 04684c
! vim.current.buffer.name = True:TypeError:('expected str() or unicode() instance, but got bool',)
Karsten Hopp 04684c
  vim.current.buffer.xxx = True:AttributeError:('xxx',)
Karsten Hopp 04684c
  >> BufferMark
Karsten Hopp 04684c
! vim.current.buffer.mark(0):TypeError:('expected str() or unicode() instance, but got int',)
Karsten Hopp 04684c
  vim.current.buffer.mark("abc"):ValueError:('mark name must be a single character',)
Karsten Hopp 04684c
  vim.current.buffer.mark("!"):error:('invalid mark name',)
Karsten Hopp 04684c
  >> BufferRange
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1079,1087 ****
Karsten Hopp 04684c
  vim.current.xxx:AttributeError:('xxx',)
Karsten Hopp 04684c
  >> CurrentSetattr
Karsten Hopp 04684c
  vim.current.line = True:TypeError:('bad argument type for built-in operation',)
Karsten Hopp 04684c
! vim.current.buffer = True:TypeError:('expected vim.Buffer object',)
Karsten Hopp 04684c
! vim.current.window = True:TypeError:('expected vim.Window object',)
Karsten Hopp 04684c
! vim.current.tabpage = True:TypeError:('expected vim.TabPage object',)
Karsten Hopp 04684c
  vim.current.xxx = True:AttributeError:('xxx',)
Karsten Hopp 04684c
  2,xx
Karsten Hopp 04684c
  before
Karsten Hopp 04684c
--- 1079,1087 ----
Karsten Hopp 04684c
  vim.current.xxx:AttributeError:('xxx',)
Karsten Hopp 04684c
  >> CurrentSetattr
Karsten Hopp 04684c
  vim.current.line = True:TypeError:('bad argument type for built-in operation',)
Karsten Hopp 04684c
! vim.current.buffer = True:TypeError:('expected vim.Buffer object, but got bool',)
Karsten Hopp 04684c
! vim.current.window = True:TypeError:('expected vim.Window object, but got bool',)
Karsten Hopp 04684c
! vim.current.tabpage = True:TypeError:('expected vim.TabPage object, but got bool',)
Karsten Hopp 04684c
  vim.current.xxx = True:AttributeError:('xxx',)
Karsten Hopp 04684c
  2,xx
Karsten Hopp 04684c
  before
Karsten Hopp 04684c
*** ../vim-7.3.1229/src/testdir/test87.ok	2013-06-23 13:00:40.000000000 +0200
Karsten Hopp 04684c
--- src/testdir/test87.ok	2013-06-23 13:31:16.000000000 +0200
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 428,434 ****
Karsten Hopp 04684c
  >> OutputSetattr
Karsten Hopp 04684c
  del sys.stdout.softspace:(<class 'AttributeError'>, AttributeError("can't delete OutputObject attributes",))
Karsten Hopp 04684c
  sys.stdout.softspace = []:(<class 'TypeError'>, TypeError('softspace must be an integer',))
Karsten Hopp 04684c
! sys.stdout.attr = None:(<class 'AttributeError'>, AttributeError('invalid attribute',))
Karsten Hopp 04684c
  >> OutputWrite
Karsten Hopp 04684c
  sys.stdout.write(None):(<class 'TypeError'>, TypeError("Can't convert 'NoneType' object to str implicitly",))
Karsten Hopp 04684c
  >> OutputWriteLines
Karsten Hopp 04684c
--- 428,434 ----
Karsten Hopp 04684c
  >> OutputSetattr
Karsten Hopp 04684c
  del sys.stdout.softspace:(<class 'AttributeError'>, AttributeError("can't delete OutputObject attributes",))
Karsten Hopp 04684c
  sys.stdout.softspace = []:(<class 'TypeError'>, TypeError('softspace must be an integer',))
Karsten Hopp 04684c
! sys.stdout.attr = None:(<class 'AttributeError'>, AttributeError('invalid attribute: attr',))
Karsten Hopp 04684c
  >> OutputWrite
Karsten Hopp 04684c
  sys.stdout.write(None):(<class 'TypeError'>, TypeError("Can't convert 'NoneType' object to str implicitly",))
Karsten Hopp 04684c
  >> OutputWriteLines
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 439,537 ****
Karsten Hopp 04684c
  sys.stdout.writelines(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  > VimCommand
Karsten Hopp 04684c
! vim.command(1):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  > VimToPython
Karsten Hopp 04684c
  > VimEval
Karsten Hopp 04684c
! vim.eval(1):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  > VimEvalPy
Karsten Hopp 04684c
! vim.bindeval(1):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  > VimStrwidth
Karsten Hopp 04684c
! vim.strwidth(1):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  > Dictionary
Karsten Hopp 04684c
  >> DictionaryConstructor
Karsten Hopp 04684c
! vim.Dictionary("abc"):(<class 'ValueError'>, ValueError('expected sequence element of size 2',))
Karsten Hopp 04684c
  >> DictionarySetattr
Karsten Hopp 04684c
  del d.locked:(<class 'AttributeError'>, AttributeError('cannot delete vim.Dictionary attributes',))
Karsten Hopp 04684c
  d.locked = FailingTrue():(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  vim.vvars.locked = False:(<class 'TypeError'>, TypeError('cannot modify fixed dictionary',))
Karsten Hopp 04684c
! d.scope = True:(<class 'AttributeError'>, AttributeError('cannot set this attribute',))
Karsten Hopp 04684c
! d.xxx = True:(<class 'AttributeError'>, AttributeError('cannot set this attribute',))
Karsten Hopp 04684c
  >> _DictionaryItem
Karsten Hopp 04684c
  d.get("a", 2, 3):(<class 'TypeError'>, TypeError('function takes at most 2 arguments (3 given)',))
Karsten Hopp 04684c
  >>> Testing StringToChars using d.get(%s)
Karsten Hopp 04684c
! d.get(1):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.get(b"\0"):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.get("\0"):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  d.pop("a"):(<class 'KeyError'>, KeyError('a',))
Karsten Hopp 04684c
! dl.pop("a"):(<class 'vim.error'>, error('dict is locked',))
Karsten Hopp 04684c
  >> DictionaryIterNext
Karsten Hopp 04684c
  for i in ned: ned["a"] = 1:(<class 'RuntimeError'>, RuntimeError('hashtab changed during iteration',))
Karsten Hopp 04684c
  >> DictionaryAssItem
Karsten Hopp 04684c
! dl["b"] = 1:(<class 'vim.error'>, error('dict is locked',))
Karsten Hopp 04684c
  >>> Testing StringToChars using d[%s] = 1
Karsten Hopp 04684c
! d[1] = 1:(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d[b"\0"] = 1:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["\0"] = 1:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {%s : 1}
Karsten Hopp 04684c
! d["a"] = {1 : 1}:(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d["a"] = {b"\0" : 1}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = {"\0" : 1}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {"abc" : {%s : 1}}
Karsten Hopp 04684c
! d["a"] = {"abc" : {1 : 1}}:(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d["a"] = {"abc" : {b"\0" : 1}}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = {"abc" : {"\0" : 1}}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {"abc" : Mapping({%s : 1})}
Karsten Hopp 04684c
! d["a"] = {"abc" : Mapping({1 : 1})}:(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d["a"] = {"abc" : Mapping({b"\0" : 1})}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = {"abc" : Mapping({"\0" : 1})}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = {"abc" : %s}
Karsten Hopp 04684c
! d["a"] = {"abc" : FailingIter()}:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingIterNext()}:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = {"abc" : %s}
Karsten Hopp 04684c
! d["a"] = {"abc" : None}:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d["a"] = {"abc" : {b"": 1}}:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = {"abc" : {"": 1}}:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingMapping()}:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingMappingKey()}:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({%s : 1})
Karsten Hopp 04684c
! d["a"] = Mapping({1 : 1}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d["a"] = Mapping({b"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = Mapping({"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({"abc" : {%s : 1}})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : {1 : 1}}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {b"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : Mapping({1 : 1})}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : Mapping({b"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = Mapping({"abc" : %s})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abc" : %s})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : None}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {b"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingMapping()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingMappingKey()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = %s
Karsten Hopp 04684c
! d["a"] = FailingIter():(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d["a"] = FailingIterNext():(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = %s
Karsten Hopp 04684c
! d["a"] = None:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d["a"] = {b"": 1}:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = {"": 1}:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = FailingMapping():(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
--- 439,537 ----
Karsten Hopp 04684c
  sys.stdout.writelines(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  > VimCommand
Karsten Hopp 04684c
! vim.command(1):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  > VimToPython
Karsten Hopp 04684c
  > VimEval
Karsten Hopp 04684c
! vim.eval(1):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  > VimEvalPy
Karsten Hopp 04684c
! vim.bindeval(1):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  > VimStrwidth
Karsten Hopp 04684c
! vim.strwidth(1):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  > Dictionary
Karsten Hopp 04684c
  >> DictionaryConstructor
Karsten Hopp 04684c
! vim.Dictionary("abc"):(<class 'ValueError'>, ValueError('expected sequence element of size 2, but got sequence of size 1',))
Karsten Hopp 04684c
  >> DictionarySetattr
Karsten Hopp 04684c
  del d.locked:(<class 'AttributeError'>, AttributeError('cannot delete vim.Dictionary attributes',))
Karsten Hopp 04684c
  d.locked = FailingTrue():(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  vim.vvars.locked = False:(<class 'TypeError'>, TypeError('cannot modify fixed dictionary',))
Karsten Hopp 04684c
! d.scope = True:(<class 'AttributeError'>, AttributeError('cannot set attribute scope',))
Karsten Hopp 04684c
! d.xxx = True:(<class 'AttributeError'>, AttributeError('cannot set attribute xxx',))
Karsten Hopp 04684c
  >> _DictionaryItem
Karsten Hopp 04684c
  d.get("a", 2, 3):(<class 'TypeError'>, TypeError('function takes at most 2 arguments (3 given)',))
Karsten Hopp 04684c
  >>> Testing StringToChars using d.get(%s)
Karsten Hopp 04684c
! d.get(1):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.get(b"\0"):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.get("\0"):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  d.pop("a"):(<class 'KeyError'>, KeyError('a',))
Karsten Hopp 04684c
! dl.pop("a"):(<class 'vim.error'>, error('dictionary is locked',))
Karsten Hopp 04684c
  >> DictionaryIterNext
Karsten Hopp 04684c
  for i in ned: ned["a"] = 1:(<class 'RuntimeError'>, RuntimeError('hashtab changed during iteration',))
Karsten Hopp 04684c
  >> DictionaryAssItem
Karsten Hopp 04684c
! dl["b"] = 1:(<class 'vim.error'>, error('dictionary is locked',))
Karsten Hopp 04684c
  >>> Testing StringToChars using d[%s] = 1
Karsten Hopp 04684c
! d[1] = 1:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d[b"\0"] = 1:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["\0"] = 1:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {%s : 1}
Karsten Hopp 04684c
! d["a"] = {1 : 1}:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d["a"] = {b"\0" : 1}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = {"\0" : 1}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {"abc" : {%s : 1}}
Karsten Hopp 04684c
! d["a"] = {"abc" : {1 : 1}}:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d["a"] = {"abc" : {b"\0" : 1}}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = {"abc" : {"\0" : 1}}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = {"abc" : Mapping({%s : 1})}
Karsten Hopp 04684c
! d["a"] = {"abc" : Mapping({1 : 1})}:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d["a"] = {"abc" : Mapping({b"\0" : 1})}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = {"abc" : Mapping({"\0" : 1})}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = {"abc" : %s}
Karsten Hopp 04684c
! d["a"] = {"abc" : FailingIter()}:(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingIterNext()}:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = {"abc" : %s}
Karsten Hopp 04684c
! d["a"] = {"abc" : None}:(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  d["a"] = {"abc" : {b"": 1}}:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = {"abc" : {"": 1}}:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingMapping()}:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  d["a"] = {"abc" : FailingMappingKey()}:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({%s : 1})
Karsten Hopp 04684c
! d["a"] = Mapping({1 : 1}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d["a"] = Mapping({b"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = Mapping({"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({"abc" : {%s : 1}})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : {1 : 1}}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {b"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d["a"] = Mapping({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : Mapping({1 : 1})}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : Mapping({b"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = Mapping({"abc" : %s})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abc" : %s})
Karsten Hopp 04684c
! d["a"] = Mapping({"abc" : None}):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {b"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : {"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingMapping()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  d["a"] = Mapping({"abc" : FailingMappingKey()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d["a"] = %s
Karsten Hopp 04684c
! d["a"] = FailingIter():(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  d["a"] = FailingIterNext():(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d["a"] = %s
Karsten Hopp 04684c
! d["a"] = None:(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  d["a"] = {b"": 1}:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = {"": 1}:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d["a"] = FailingMapping():(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 547,598 ****
Karsten Hopp 04684c
  d.update(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({%s : 1})
Karsten Hopp 04684c
! d.update({1 : 1}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update({b"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update({"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({"abc" : {%s : 1}})
Karsten Hopp 04684c
! d.update({"abc" : {1 : 1}}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update({"abc" : {b"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update({"abc" : {"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! d.update({"abc" : Mapping({1 : 1})}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update({"abc" : Mapping({b"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update({"abc" : %s})
Karsten Hopp 04684c
! d.update({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d.update({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update({"abc" : %s})
Karsten Hopp 04684c
! d.update({"abc" : None}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d.update({"abc" : {b"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update({"abc" : {"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update({"abc" : FailingMapping()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  d.update({"abc" : FailingMappingKey()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({%s : 1}))
Karsten Hopp 04684c
! d.update(Mapping({1 : 1})):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update(Mapping({b"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update(Mapping({"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : {1 : 1}})):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {b"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : Mapping({1 : 1})})):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : Mapping({b"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : None})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {b"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : FailingMapping()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
--- 547,598 ----
Karsten Hopp 04684c
  d.update(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({%s : 1})
Karsten Hopp 04684c
! d.update({1 : 1}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update({b"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update({"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({"abc" : {%s : 1}})
Karsten Hopp 04684c
! d.update({"abc" : {1 : 1}}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update({"abc" : {b"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update({"abc" : {"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! d.update({"abc" : Mapping({1 : 1})}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update({"abc" : Mapping({b"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update({"abc" : %s})
Karsten Hopp 04684c
! d.update({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  d.update({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update({"abc" : %s})
Karsten Hopp 04684c
! d.update({"abc" : None}):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  d.update({"abc" : {b"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update({"abc" : {"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update({"abc" : FailingMapping()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  d.update({"abc" : FailingMappingKey()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({%s : 1}))
Karsten Hopp 04684c
! d.update(Mapping({1 : 1})):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update(Mapping({b"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update(Mapping({"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : {1 : 1}})):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {b"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : Mapping({1 : 1})})):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : Mapping({b"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! d.update(Mapping({"abc" : None})):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {b"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : {"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update(Mapping({"abc" : FailingMapping()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 610,677 ****
Karsten Hopp 04684c
  d.update(FailingMappingKey()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(((%s, 0),))
Karsten Hopp 04684c
! d.update(((1, 0),)):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update(((b"\0", 0),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("\0", 0),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {%s : 1}),))
Karsten Hopp 04684c
! d.update((("a", {1 : 1}),)):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update((("a", {b"\0" : 1}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", {"\0" : 1}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {"abc" : {%s : 1}}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : {1 : 1}}),)):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : {b"\0" : 1}}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : {"\0" : 1}}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {"abc" : Mapping({%s : 1})}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : Mapping({1 : 1})}),)):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : Mapping({b"\0" : 1})}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : Mapping({"\0" : 1})}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", {"abc" : %s}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : FailingIter()}),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingIterNext()}),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", {"abc" : %s}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : None}),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : {b"": 1}}),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : {"": 1}}),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingMapping()}),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingMappingKey()}),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({%s : 1})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({1 : 1})),)):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update((("a", Mapping({b"\0" : 1})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"\0" : 1})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({"abc" : {%s : 1}})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : {1 : 1}})),)):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {b"\0" : 1}})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {"\0" : 1}})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({"abc" : Mapping({%s : 1})})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : Mapping({1 : 1})})),)):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : Mapping({b"\0" : 1})})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : Mapping({"\0" : 1})})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", Mapping({"abc" : %s})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : FailingIter()})),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingIterNext()})),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abc" : %s})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : None})),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {b"": 1}})),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {"": 1}})),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingMapping()})),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingMappingKey()})),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", %s),))
Karsten Hopp 04684c
! d.update((("a", FailingIter()),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d.update((("a", FailingIterNext()),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", %s),))
Karsten Hopp 04684c
! d.update((("a", None),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  d.update((("a", {b"": 1}),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", {"": 1}),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", FailingMapping()),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
--- 610,677 ----
Karsten Hopp 04684c
  d.update(FailingMappingKey()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update(((%s, 0),))
Karsten Hopp 04684c
! d.update(((1, 0),)):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update(((b"\0", 0),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("\0", 0),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {%s : 1}),))
Karsten Hopp 04684c
! d.update((("a", {1 : 1}),)):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update((("a", {b"\0" : 1}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", {"\0" : 1}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {"abc" : {%s : 1}}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : {1 : 1}}),)):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : {b"\0" : 1}}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : {"\0" : 1}}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", {"abc" : Mapping({%s : 1})}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : Mapping({1 : 1})}),)):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : Mapping({b"\0" : 1})}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : Mapping({"\0" : 1})}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", {"abc" : %s}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : FailingIter()}),)):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingIterNext()}),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", {"abc" : %s}),))
Karsten Hopp 04684c
! d.update((("a", {"abc" : None}),)):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : {b"": 1}}),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : {"": 1}}),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingMapping()}),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  d.update((("a", {"abc" : FailingMappingKey()}),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({%s : 1})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({1 : 1})),)):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update((("a", Mapping({b"\0" : 1})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"\0" : 1})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({"abc" : {%s : 1}})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : {1 : 1}})),)):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {b"\0" : 1}})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {"\0" : 1}})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using d.update((("a", Mapping({"abc" : Mapping({%s : 1})})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : Mapping({1 : 1})})),)):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : Mapping({b"\0" : 1})})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : Mapping({"\0" : 1})})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", Mapping({"abc" : %s})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : FailingIter()})),)):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingIterNext()})),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abc" : %s})),))
Karsten Hopp 04684c
! d.update((("a", Mapping({"abc" : None})),)):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {b"": 1}})),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : {"": 1}})),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingMapping()})),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  d.update((("a", Mapping({"abc" : FailingMappingKey()})),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using d.update((("a", %s),))
Karsten Hopp 04684c
! d.update((("a", FailingIter()),)):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  d.update((("a", FailingIterNext()),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using d.update((("a", %s),))
Karsten Hopp 04684c
! d.update((("a", None),)):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  d.update((("a", {b"": 1}),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", {"": 1}),)):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  d.update((("a", FailingMapping()),)):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 690,752 ****
Karsten Hopp 04684c
  vim.List(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{%s : 1}])
Karsten Hopp 04684c
! vim.List([{1 : 1}]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  vim.List([{b"\0" : 1}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([{"\0" : 1}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{"abc" : {%s : 1}}])
Karsten Hopp 04684c
! vim.List([{"abc" : {1 : 1}}]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  vim.List([{"abc" : {b"\0" : 1}}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([{"abc" : {"\0" : 1}}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{"abc" : Mapping({%s : 1})}])
Karsten Hopp 04684c
! vim.List([{"abc" : Mapping({1 : 1})}]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  vim.List([{"abc" : Mapping({b"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([{"abc" : Mapping({"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([{"abc" : %s}])
Karsten Hopp 04684c
! vim.List([{"abc" : FailingIter()}]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  vim.List([{"abc" : FailingIterNext()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([{"abc" : %s}])
Karsten Hopp 04684c
! vim.List([{"abc" : None}]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  vim.List([{"abc" : {b"": 1}}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([{"abc" : {"": 1}}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([{"abc" : FailingMapping()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  vim.List([{"abc" : FailingMappingKey()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({%s : 1})])
Karsten Hopp 04684c
! vim.List([Mapping({1 : 1})]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  vim.List([Mapping({b"\0" : 1})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([Mapping({"\0" : 1})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({"abc" : {%s : 1}})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : {1 : 1}})]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {b"\0" : 1}})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {"\0" : 1}})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({"abc" : Mapping({%s : 1})})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : Mapping({1 : 1})})]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : Mapping({b"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : Mapping({"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : FailingIter()})]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingIterNext()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : None})]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {b"": 1}})]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {"": 1}})]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingMapping()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingMappingKey()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([%s])
Karsten Hopp 04684c
! vim.List([FailingIter()]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  vim.List([FailingIterNext()]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([%s])
Karsten Hopp 04684c
! vim.List([None]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  vim.List([{b"": 1}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([{"": 1}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([FailingMapping()]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
--- 690,752 ----
Karsten Hopp 04684c
  vim.List(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{%s : 1}])
Karsten Hopp 04684c
! vim.List([{1 : 1}]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  vim.List([{b"\0" : 1}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([{"\0" : 1}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{"abc" : {%s : 1}}])
Karsten Hopp 04684c
! vim.List([{"abc" : {1 : 1}}]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  vim.List([{"abc" : {b"\0" : 1}}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([{"abc" : {"\0" : 1}}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([{"abc" : Mapping({%s : 1})}])
Karsten Hopp 04684c
! vim.List([{"abc" : Mapping({1 : 1})}]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  vim.List([{"abc" : Mapping({b"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([{"abc" : Mapping({"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([{"abc" : %s}])
Karsten Hopp 04684c
! vim.List([{"abc" : FailingIter()}]):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  vim.List([{"abc" : FailingIterNext()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([{"abc" : %s}])
Karsten Hopp 04684c
! vim.List([{"abc" : None}]):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  vim.List([{"abc" : {b"": 1}}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([{"abc" : {"": 1}}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([{"abc" : FailingMapping()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  vim.List([{"abc" : FailingMappingKey()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({%s : 1})])
Karsten Hopp 04684c
! vim.List([Mapping({1 : 1})]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  vim.List([Mapping({b"\0" : 1})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([Mapping({"\0" : 1})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({"abc" : {%s : 1}})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : {1 : 1}})]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {b"\0" : 1}})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {"\0" : 1}})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using vim.List([Mapping({"abc" : Mapping({%s : 1})})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : Mapping({1 : 1})})]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : Mapping({b"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : Mapping({"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : FailingIter()})]):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingIterNext()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! vim.List([Mapping({"abc" : None})]):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {b"": 1}})]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : {"": 1}})]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingMapping()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  vim.List([Mapping({"abc" : FailingMappingKey()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using vim.List([%s])
Karsten Hopp 04684c
! vim.List([FailingIter()]):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  vim.List([FailingIterNext()]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using vim.List([%s])
Karsten Hopp 04684c
! vim.List([None]):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  vim.List([{b"": 1}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([{"": 1}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  vim.List([FailingMapping()]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 764,826 ****
Karsten Hopp 04684c
  l[:] = FailingIterNext()::(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{%s : 1}]
Karsten Hopp 04684c
! l[:] = [{1 : 1}]:(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l[:] = [{b"\0" : 1}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [{"\0" : 1}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{"abc" : {%s : 1}}]
Karsten Hopp 04684c
! l[:] = [{"abc" : {1 : 1}}]:(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l[:] = [{"abc" : {b"\0" : 1}}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [{"abc" : {"\0" : 1}}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{"abc" : Mapping({%s : 1})}]
Karsten Hopp 04684c
! l[:] = [{"abc" : Mapping({1 : 1})}]:(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l[:] = [{"abc" : Mapping({b"\0" : 1})}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [{"abc" : Mapping({"\0" : 1})}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [{"abc" : %s}]
Karsten Hopp 04684c
! l[:] = [{"abc" : FailingIter()}]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingIterNext()}]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [{"abc" : %s}]
Karsten Hopp 04684c
! l[:] = [{"abc" : None}]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l[:] = [{"abc" : {b"": 1}}]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [{"abc" : {"": 1}}]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingMapping()}]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingMappingKey()}]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({%s : 1})]
Karsten Hopp 04684c
! l[:] = [Mapping({1 : 1})]:(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l[:] = [Mapping({b"\0" : 1})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [Mapping({"\0" : 1})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({"abc" : {%s : 1}})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : {1 : 1}})]:(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {b"\0" : 1}})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {"\0" : 1}})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({"abc" : Mapping({%s : 1})})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : Mapping({1 : 1})})]:(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : Mapping({b"\0" : 1})})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : Mapping({"\0" : 1})})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [Mapping({"abc" : %s})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : FailingIter()})]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingIterNext()})]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abc" : %s})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : None})]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {b"": 1}})]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {"": 1}})]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingMapping()})]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingMappingKey()})]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [%s]
Karsten Hopp 04684c
! l[:] = [FailingIter()]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l[:] = [FailingIterNext()]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [%s]
Karsten Hopp 04684c
! l[:] = [None]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l[:] = [{b"": 1}]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [{"": 1}]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [FailingMapping()]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
--- 764,826 ----
Karsten Hopp 04684c
  l[:] = FailingIterNext()::(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{%s : 1}]
Karsten Hopp 04684c
! l[:] = [{1 : 1}]:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l[:] = [{b"\0" : 1}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [{"\0" : 1}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{"abc" : {%s : 1}}]
Karsten Hopp 04684c
! l[:] = [{"abc" : {1 : 1}}]:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l[:] = [{"abc" : {b"\0" : 1}}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [{"abc" : {"\0" : 1}}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [{"abc" : Mapping({%s : 1})}]
Karsten Hopp 04684c
! l[:] = [{"abc" : Mapping({1 : 1})}]:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l[:] = [{"abc" : Mapping({b"\0" : 1})}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [{"abc" : Mapping({"\0" : 1})}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [{"abc" : %s}]
Karsten Hopp 04684c
! l[:] = [{"abc" : FailingIter()}]:(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingIterNext()}]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [{"abc" : %s}]
Karsten Hopp 04684c
! l[:] = [{"abc" : None}]:(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  l[:] = [{"abc" : {b"": 1}}]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [{"abc" : {"": 1}}]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingMapping()}]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  l[:] = [{"abc" : FailingMappingKey()}]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({%s : 1})]
Karsten Hopp 04684c
! l[:] = [Mapping({1 : 1})]:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l[:] = [Mapping({b"\0" : 1})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [Mapping({"\0" : 1})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({"abc" : {%s : 1}})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : {1 : 1}})]:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {b"\0" : 1}})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {"\0" : 1}})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l[:] = [Mapping({"abc" : Mapping({%s : 1})})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : Mapping({1 : 1})})]:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : Mapping({b"\0" : 1})})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : Mapping({"\0" : 1})})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [Mapping({"abc" : %s})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : FailingIter()})]:(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingIterNext()})]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abc" : %s})]
Karsten Hopp 04684c
! l[:] = [Mapping({"abc" : None})]:(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {b"": 1}})]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : {"": 1}})]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingMapping()})]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  l[:] = [Mapping({"abc" : FailingMappingKey()})]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l[:] = [%s]
Karsten Hopp 04684c
! l[:] = [FailingIter()]:(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  l[:] = [FailingIterNext()]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l[:] = [%s]
Karsten Hopp 04684c
! l[:] = [None]:(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  l[:] = [{b"": 1}]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [{"": 1}]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l[:] = [FailingMapping()]:(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 832,894 ****
Karsten Hopp 04684c
  l.extend(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{%s : 1}])
Karsten Hopp 04684c
! l.extend([{1 : 1}]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l.extend([{b"\0" : 1}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([{"\0" : 1}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{"abc" : {%s : 1}}])
Karsten Hopp 04684c
! l.extend([{"abc" : {1 : 1}}]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l.extend([{"abc" : {b"\0" : 1}}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([{"abc" : {"\0" : 1}}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{"abc" : Mapping({%s : 1})}])
Karsten Hopp 04684c
! l.extend([{"abc" : Mapping({1 : 1})}]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l.extend([{"abc" : Mapping({b"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([{"abc" : Mapping({"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([{"abc" : %s}])
Karsten Hopp 04684c
! l.extend([{"abc" : FailingIter()}]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l.extend([{"abc" : FailingIterNext()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([{"abc" : %s}])
Karsten Hopp 04684c
! l.extend([{"abc" : None}]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l.extend([{"abc" : {b"": 1}}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([{"abc" : {"": 1}}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([{"abc" : FailingMapping()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  l.extend([{"abc" : FailingMappingKey()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({%s : 1})])
Karsten Hopp 04684c
! l.extend([Mapping({1 : 1})]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l.extend([Mapping({b"\0" : 1})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([Mapping({"\0" : 1})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({"abc" : {%s : 1}})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : {1 : 1}})]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {b"\0" : 1}})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {"\0" : 1}})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({"abc" : Mapping({%s : 1})})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : Mapping({1 : 1})})]):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : Mapping({b"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : Mapping({"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : FailingIter()})]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingIterNext()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : None})]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {b"": 1}})]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {"": 1}})]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingMapping()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingMappingKey()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([%s])
Karsten Hopp 04684c
! l.extend([FailingIter()]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l.extend([FailingIterNext()]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([%s])
Karsten Hopp 04684c
! l.extend([None]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  l.extend([{b"": 1}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([{"": 1}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([FailingMapping()]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
--- 832,894 ----
Karsten Hopp 04684c
  l.extend(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{%s : 1}])
Karsten Hopp 04684c
! l.extend([{1 : 1}]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l.extend([{b"\0" : 1}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([{"\0" : 1}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{"abc" : {%s : 1}}])
Karsten Hopp 04684c
! l.extend([{"abc" : {1 : 1}}]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l.extend([{"abc" : {b"\0" : 1}}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([{"abc" : {"\0" : 1}}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([{"abc" : Mapping({%s : 1})}])
Karsten Hopp 04684c
! l.extend([{"abc" : Mapping({1 : 1})}]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l.extend([{"abc" : Mapping({b"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([{"abc" : Mapping({"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([{"abc" : %s}])
Karsten Hopp 04684c
! l.extend([{"abc" : FailingIter()}]):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  l.extend([{"abc" : FailingIterNext()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([{"abc" : %s}])
Karsten Hopp 04684c
! l.extend([{"abc" : None}]):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  l.extend([{"abc" : {b"": 1}}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([{"abc" : {"": 1}}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([{"abc" : FailingMapping()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  l.extend([{"abc" : FailingMappingKey()}]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({%s : 1})])
Karsten Hopp 04684c
! l.extend([Mapping({1 : 1})]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l.extend([Mapping({b"\0" : 1})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([Mapping({"\0" : 1})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({"abc" : {%s : 1}})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : {1 : 1}})]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {b"\0" : 1}})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {"\0" : 1}})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using l.extend([Mapping({"abc" : Mapping({%s : 1})})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : Mapping({1 : 1})})]):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : Mapping({b"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : Mapping({"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : FailingIter()})]):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingIterNext()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([Mapping({"abc" : %s})])
Karsten Hopp 04684c
! l.extend([Mapping({"abc" : None})]):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {b"": 1}})]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : {"": 1}})]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingMapping()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  l.extend([Mapping({"abc" : FailingMappingKey()})]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using l.extend([%s])
Karsten Hopp 04684c
! l.extend([FailingIter()]):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  l.extend([FailingIterNext()]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using l.extend([%s])
Karsten Hopp 04684c
! l.extend([None]):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  l.extend([{b"": 1}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([{"": 1}]):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  l.extend([FailingMapping()]):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 897,1030 ****
Karsten Hopp 04684c
  >> ListSetattr
Karsten Hopp 04684c
  del l.locked:(<class 'AttributeError'>, AttributeError('cannot delete vim.List attributes',))
Karsten Hopp 04684c
  l.locked = FailingTrue():(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
! l.xxx = True:(<class 'AttributeError'>, AttributeError('cannot set this attribute',))
Karsten Hopp 04684c
  > Function
Karsten Hopp 04684c
  >> FunctionConstructor
Karsten Hopp 04684c
! vim.Function("123"):(<class 'ValueError'>, ValueError('unnamed function does not exist',))
Karsten Hopp 04684c
! vim.Function("xxx_non_existent_function_xxx"):(<class 'ValueError'>, ValueError('function does not exist',))
Karsten Hopp 04684c
  vim.Function("xxx#non#existent#function#xxx"):NOT FAILED
Karsten Hopp 04684c
  >> FunctionCall
Karsten Hopp 04684c
  >>> Testing StringToChars using f({%s : 1})
Karsten Hopp 04684c
! f({1 : 1}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  f({b"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f({"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f({"abc" : {%s : 1}})
Karsten Hopp 04684c
! f({"abc" : {1 : 1}}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  f({"abc" : {b"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f({"abc" : {"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! f({"abc" : Mapping({1 : 1})}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  f({"abc" : Mapping({b"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f({"abc" : %s})
Karsten Hopp 04684c
! f({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  f({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f({"abc" : %s})
Karsten Hopp 04684c
! f({"abc" : None}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  f({"abc" : {b"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f({"abc" : {"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f({"abc" : FailingMapping()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  f({"abc" : FailingMappingKey()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({%s : 1}))
Karsten Hopp 04684c
! f(Mapping({1 : 1})):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  f(Mapping({b"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f(Mapping({"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! f(Mapping({"abc" : {1 : 1}})):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  f(Mapping({"abc" : {b"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f(Mapping({"abc" : {"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! f(Mapping({"abc" : Mapping({1 : 1})})):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  f(Mapping({"abc" : Mapping({b"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f(Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! f(Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! f(Mapping({"abc" : None})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  f(Mapping({"abc" : {b"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f(Mapping({"abc" : {"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingMapping()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingMappingKey()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f(%s)
Karsten Hopp 04684c
! f(FailingIter()):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  f(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f(%s)
Karsten Hopp 04684c
! f(None):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  f({b"": 1}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f({"": 1}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f(FailingMapping()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  f(FailingMappingKey()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={%s : 1})
Karsten Hopp 04684c
! fd(self={1 : 1}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  fd(self={b"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self={"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={"abc" : {%s : 1}})
Karsten Hopp 04684c
! fd(self={"abc" : {1 : 1}}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  fd(self={"abc" : {b"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self={"abc" : {"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! fd(self={"abc" : Mapping({1 : 1})}):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  fd(self={"abc" : Mapping({b"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self={"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self={"abc" : %s})
Karsten Hopp 04684c
! fd(self={"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  fd(self={"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self={"abc" : %s})
Karsten Hopp 04684c
! fd(self={"abc" : None}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  fd(self={"abc" : {b"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self={"abc" : {"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self={"abc" : FailingMapping()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  fd(self={"abc" : FailingMappingKey()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({%s : 1}))
Karsten Hopp 04684c
! fd(self=Mapping({1 : 1})):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  fd(self=Mapping({b"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self=Mapping({"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : {1 : 1}})):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {b"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : Mapping({1 : 1})})):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : Mapping({b"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self=Mapping({"abc" : %s}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self=Mapping({"abc" : %s}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : None})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {b"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingMapping()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingMappingKey()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self=%s)
Karsten Hopp 04684c
! fd(self=FailingIter()):(<class 'TypeError'>, TypeError('unable to convert object to vim dictionary',))
Karsten Hopp 04684c
! fd(self=FailingIterNext()):(<class 'TypeError'>, TypeError('unable to convert object to vim dictionary',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self=%s)
Karsten Hopp 04684c
! fd(self=None):(<class 'TypeError'>, TypeError('unable to convert object to vim dictionary',))
Karsten Hopp 04684c
  fd(self={b"": 1}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self={"": 1}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self=FailingMapping()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
--- 897,1030 ----
Karsten Hopp 04684c
  >> ListSetattr
Karsten Hopp 04684c
  del l.locked:(<class 'AttributeError'>, AttributeError('cannot delete vim.List attributes',))
Karsten Hopp 04684c
  l.locked = FailingTrue():(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
! l.xxx = True:(<class 'AttributeError'>, AttributeError('cannot set attribute xxx',))
Karsten Hopp 04684c
  > Function
Karsten Hopp 04684c
  >> FunctionConstructor
Karsten Hopp 04684c
! vim.Function("123"):(<class 'ValueError'>, ValueError('unnamed function 123 does not exist',))
Karsten Hopp 04684c
! vim.Function("xxx_non_existent_function_xxx"):(<class 'ValueError'>, ValueError('function xxx_non_existent_function_xxx does not exist',))
Karsten Hopp 04684c
  vim.Function("xxx#non#existent#function#xxx"):NOT FAILED
Karsten Hopp 04684c
  >> FunctionCall
Karsten Hopp 04684c
  >>> Testing StringToChars using f({%s : 1})
Karsten Hopp 04684c
! f({1 : 1}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  f({b"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f({"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f({"abc" : {%s : 1}})
Karsten Hopp 04684c
! f({"abc" : {1 : 1}}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  f({"abc" : {b"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f({"abc" : {"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f({"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! f({"abc" : Mapping({1 : 1})}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  f({"abc" : Mapping({b"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f({"abc" : %s})
Karsten Hopp 04684c
! f({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  f({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f({"abc" : %s})
Karsten Hopp 04684c
! f({"abc" : None}):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  f({"abc" : {b"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f({"abc" : {"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f({"abc" : FailingMapping()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  f({"abc" : FailingMappingKey()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({%s : 1}))
Karsten Hopp 04684c
! f(Mapping({1 : 1})):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  f(Mapping({b"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f(Mapping({"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! f(Mapping({"abc" : {1 : 1}})):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  f(Mapping({"abc" : {b"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f(Mapping({"abc" : {"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using f(Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! f(Mapping({"abc" : Mapping({1 : 1})})):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  f(Mapping({"abc" : Mapping({b"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  f(Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! f(Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f(Mapping({"abc" : %s}))
Karsten Hopp 04684c
! f(Mapping({"abc" : None})):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  f(Mapping({"abc" : {b"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f(Mapping({"abc" : {"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingMapping()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  f(Mapping({"abc" : FailingMappingKey()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using f(%s)
Karsten Hopp 04684c
! f(FailingIter()):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  f(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using f(%s)
Karsten Hopp 04684c
! f(None):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  f({b"": 1}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f({"": 1}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  f(FailingMapping()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  f(FailingMappingKey()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={%s : 1})
Karsten Hopp 04684c
! fd(self={1 : 1}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  fd(self={b"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self={"\0" : 1}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={"abc" : {%s : 1}})
Karsten Hopp 04684c
! fd(self={"abc" : {1 : 1}}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  fd(self={"abc" : {b"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self={"abc" : {"\0" : 1}}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self={"abc" : Mapping({%s : 1})})
Karsten Hopp 04684c
! fd(self={"abc" : Mapping({1 : 1})}):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  fd(self={"abc" : Mapping({b"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self={"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self={"abc" : %s})
Karsten Hopp 04684c
! fd(self={"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  fd(self={"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self={"abc" : %s})
Karsten Hopp 04684c
! fd(self={"abc" : None}):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  fd(self={"abc" : {b"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self={"abc" : {"": 1}}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self={"abc" : FailingMapping()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  fd(self={"abc" : FailingMappingKey()}):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({%s : 1}))
Karsten Hopp 04684c
! fd(self=Mapping({1 : 1})):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  fd(self=Mapping({b"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self=Mapping({"\0" : 1})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({"abc" : {%s : 1}}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : {1 : 1}})):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {b"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {"\0" : 1}})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing StringToChars using fd(self=Mapping({"abc" : Mapping({%s : 1})}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : Mapping({1 : 1})})):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : Mapping({b"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self=Mapping({"abc" : %s}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim structure',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self=Mapping({"abc" : %s}))
Karsten Hopp 04684c
! fd(self=Mapping({"abc" : None})):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim structure',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {b"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : {"": 1}})):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingMapping()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  fd(self=Mapping({"abc" : FailingMappingKey()})):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing *Iter* using fd(self=%s)
Karsten Hopp 04684c
! fd(self=FailingIter()):(<class 'TypeError'>, TypeError('unable to convert FailingIter to vim dictionary',))
Karsten Hopp 04684c
! fd(self=FailingIterNext()):(<class 'TypeError'>, TypeError('unable to convert FailingIterNext to vim dictionary',))
Karsten Hopp 04684c
  <<< Finished
Karsten Hopp 04684c
  >>> Testing ConvertFromPyObject using fd(self=%s)
Karsten Hopp 04684c
! fd(self=None):(<class 'TypeError'>, TypeError('unable to convert NoneType to vim dictionary',))
Karsten Hopp 04684c
  fd(self={b"": 1}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self={"": 1}):(<class 'ValueError'>, ValueError('empty keys are not allowed',))
Karsten Hopp 04684c
  fd(self=FailingMapping()):(<class 'NotImplementedError'>, NotImplementedError())
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1043,1049 ****
Karsten Hopp 04684c
  >> WindowAttr
Karsten Hopp 04684c
  vim.current.window.xxx:(<class 'AttributeError'>, AttributeError("'vim.window' object has no attribute 'xxx'",))
Karsten Hopp 04684c
  >> WindowSetattr
Karsten Hopp 04684c
! vim.current.window.buffer = 0:(<class 'TypeError'>, TypeError('readonly attribute',))
Karsten Hopp 04684c
  vim.current.window.cursor = (100000000, 100000000):(<class 'vim.error'>, error('cursor position outside buffer',))
Karsten Hopp 04684c
  vim.current.window.cursor = True:(<class 'TypeError'>, TypeError('argument must be 2-item sequence, not bool',))
Karsten Hopp 04684c
  vim.current.window.height = "abc":(<class 'TypeError'>, TypeError('an integer is required',))
Karsten Hopp 04684c
--- 1043,1049 ----
Karsten Hopp 04684c
  >> WindowAttr
Karsten Hopp 04684c
  vim.current.window.xxx:(<class 'AttributeError'>, AttributeError("'vim.window' object has no attribute 'xxx'",))
Karsten Hopp 04684c
  >> WindowSetattr
Karsten Hopp 04684c
! vim.current.window.buffer = 0:(<class 'TypeError'>, TypeError('readonly attribute: buffer',))
Karsten Hopp 04684c
  vim.current.window.cursor = (100000000, 100000000):(<class 'vim.error'>, error('cursor position outside buffer',))
Karsten Hopp 04684c
  vim.current.window.cursor = True:(<class 'TypeError'>, TypeError('argument must be 2-item sequence, not bool',))
Karsten Hopp 04684c
  vim.current.window.height = "abc":(<class 'TypeError'>, TypeError('an integer is required',))
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1071,1080 ****
Karsten Hopp 04684c
  >> BufferAttr
Karsten Hopp 04684c
  vim.current.buffer.xxx:(<class 'AttributeError'>, AttributeError("'vim.buffer' object has no attribute 'xxx'",))
Karsten Hopp 04684c
  >> BufferSetattr
Karsten Hopp 04684c
! vim.current.buffer.name = True:(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  vim.current.buffer.xxx = True:(<class 'AttributeError'>, AttributeError('xxx',))
Karsten Hopp 04684c
  >> BufferMark
Karsten Hopp 04684c
! vim.current.buffer.mark(0):(<class 'TypeError'>, TypeError('object must be string',))
Karsten Hopp 04684c
  vim.current.buffer.mark("abc"):(<class 'ValueError'>, ValueError('mark name must be a single character',))
Karsten Hopp 04684c
  vim.current.buffer.mark("!"):(<class 'vim.error'>, error('invalid mark name',))
Karsten Hopp 04684c
  >> BufferRange
Karsten Hopp 04684c
--- 1071,1080 ----
Karsten Hopp 04684c
  >> BufferAttr
Karsten Hopp 04684c
  vim.current.buffer.xxx:(<class 'AttributeError'>, AttributeError("'vim.buffer' object has no attribute 'xxx'",))
Karsten Hopp 04684c
  >> BufferSetattr
Karsten Hopp 04684c
! vim.current.buffer.name = True:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got bool',))
Karsten Hopp 04684c
  vim.current.buffer.xxx = True:(<class 'AttributeError'>, AttributeError('xxx',))
Karsten Hopp 04684c
  >> BufferMark
Karsten Hopp 04684c
! vim.current.buffer.mark(0):(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
Karsten Hopp 04684c
  vim.current.buffer.mark("abc"):(<class 'ValueError'>, ValueError('mark name must be a single character',))
Karsten Hopp 04684c
  vim.current.buffer.mark("!"):(<class 'vim.error'>, error('invalid mark name',))
Karsten Hopp 04684c
  >> BufferRange
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 1088,1096 ****
Karsten Hopp 04684c
  vim.current.xxx:(<class 'AttributeError'>, AttributeError("'vim.currentdata' object has no attribute 'xxx'",))
Karsten Hopp 04684c
  >> CurrentSetattr
Karsten Hopp 04684c
  vim.current.line = True:(<class 'TypeError'>, TypeError('bad argument type for built-in operation',))
Karsten Hopp 04684c
! vim.current.buffer = True:(<class 'TypeError'>, TypeError('expected vim.Buffer object',))
Karsten Hopp 04684c
! vim.current.window = True:(<class 'TypeError'>, TypeError('expected vim.Window object',))
Karsten Hopp 04684c
! vim.current.tabpage = True:(<class 'TypeError'>, TypeError('expected vim.TabPage object',))
Karsten Hopp 04684c
  vim.current.xxx = True:(<class 'AttributeError'>, AttributeError('xxx',))
Karsten Hopp 04684c
  3,xx
Karsten Hopp 04684c
  before
Karsten Hopp 04684c
--- 1088,1096 ----
Karsten Hopp 04684c
  vim.current.xxx:(<class 'AttributeError'>, AttributeError("'vim.currentdata' object has no attribute 'xxx'",))
Karsten Hopp 04684c
  >> CurrentSetattr
Karsten Hopp 04684c
  vim.current.line = True:(<class 'TypeError'>, TypeError('bad argument type for built-in operation',))
Karsten Hopp 04684c
! vim.current.buffer = True:(<class 'TypeError'>, TypeError('expected vim.Buffer object, but got bool',))
Karsten Hopp 04684c
! vim.current.window = True:(<class 'TypeError'>, TypeError('expected vim.Window object, but got bool',))
Karsten Hopp 04684c
! vim.current.tabpage = True:(<class 'TypeError'>, TypeError('expected vim.TabPage object, but got bool',))
Karsten Hopp 04684c
  vim.current.xxx = True:(<class 'AttributeError'>, AttributeError('xxx',))
Karsten Hopp 04684c
  3,xx
Karsten Hopp 04684c
  before
Karsten Hopp 04684c
*** ../vim-7.3.1229/src/version.c	2013-06-23 13:28:11.000000000 +0200
Karsten Hopp 04684c
--- src/version.c	2013-06-23 13:30:05.000000000 +0200
Karsten Hopp 04684c
***************
Karsten Hopp 04684c
*** 730,731 ****
Karsten Hopp 04684c
--- 730,733 ----
Karsten Hopp 04684c
  {   /* Add new patch number below this line */
Karsten Hopp 04684c
+ /**/
Karsten Hopp 04684c
+     1230,
Karsten Hopp 04684c
  /**/
Karsten Hopp 04684c
Karsten Hopp 04684c
-- 
Karsten Hopp 04684c
MAN:     You don't frighten us, English pig-dog!  Go and boil your bottoms,
Karsten Hopp 04684c
         son of a silly person.  I blow my nose on you, so-called Arthur-king,
Karsten Hopp 04684c
         you and your silly English K...kaniggets.
Karsten Hopp 04684c
   He puts hands to his ears and blows a raspberry.
Karsten Hopp 04684c
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
Karsten Hopp 04684c
Karsten Hopp 04684c
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 04684c
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 04684c
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 04684c
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///