diff @pyobject/pyobject.m @ 408:f833e29b2c12

Simplify conversion where existing Python object argument expected (fixes issue #67) * __py_struct_from_dict__.cc (F__py_isinstance__, F__py_struct_from_dict__): Use pytave::pyobject_unwrap_object and simplify surrounding code. * oct-py-types.cc (pytave::extract_py_scalar_map): Raise Octave errors instead of throwing exceptions, reword error messages. * @pyobject/pyobject.m: Add %!error tests for struct conversion failure.
author Mike Miller <mtmiller@octave.org>
date Tue, 02 May 2017 10:06:14 -0700
parents 6c316b5f30f7
children 8a26a4e649ba
line wrap: on
line diff
--- a/@pyobject/pyobject.m	Mon May 01 09:15:40 2017 -0700
+++ b/@pyobject/pyobject.m	Tue May 02 10:06:14 2017 -0700
@@ -409,6 +409,11 @@
 %! c = struct (b);
 %! assert (c, a)
 
+%!error struct (pyeval ("{1:2, 3:4}"));
+%!error struct (pyobject ("this is not a dict"))
+%!error struct (pyobject ({1, 2, 3}))
+%!error struct (pyobject ())
+
 ## Octave fails to resolve function overloads via function handles
 %!xtest
 %! fn = @double;