diff --git a/src/gsi/gsi_test/gsiTest.cc b/src/gsi/gsi_test/gsiTest.cc
index c99eeab2c..105b23bac 100644
--- a/src/gsi/gsi_test/gsiTest.cc
+++ b/src/gsi/gsi_test/gsiTest.cc
@@ -834,6 +834,14 @@ static gsi::Class decl_a ("", "A",
#endif
gsi::method ("*a10_prot", &A::a10_d) +
gsi::method ("a10_f", &A::a10_f) +
+ gsi::method ("a10_s", &A::a10_s) +
+ gsi::method ("a10_us", &A::a10_us) +
+ gsi::method ("a10_i", &A::a10_i) +
+ gsi::method ("a10_l", &A::a10_l) +
+ gsi::method ("a10_ll", &A::a10_ll) +
+ gsi::method ("a10_ui", &A::a10_ui) +
+ gsi::method ("a10_ul", &A::a10_ul) +
+ gsi::method ("a10_ull", &A::a10_ull) +
gsi::method ("a10_fptr", &A::a10_fptr) +
gsi::method ("a10_dptr", &A::a10_dptr) +
gsi::method ("a10_iptr", &A::a10_iptr) +
@@ -874,6 +882,14 @@ static gsi::Class decl_a ("", "A",
gsi::method ("a10_cllref", &A::a10_cllref) +
gsi::method ("a10_cullref", &A::a10_cullref) +
gsi::method ("a10_csref", &A::a10_csref) +
+ gsi::method ("a11_s", &A::a11_s) +
+ gsi::method ("a11_us", &A::a11_us) +
+ gsi::method ("a11_i", &A::a11_i) +
+ gsi::method ("a11_l", &A::a11_l) +
+ gsi::method ("a11_ll", &A::a11_ll) +
+ gsi::method ("a11_ui", &A::a11_ui) +
+ gsi::method ("a11_ul", &A::a11_ul) +
+ gsi::method ("a11_ull", &A::a11_ull) +
gsi::method ("a_vp1", &A::a_vp1) +
gsi::method ("a_vp2", &A::a_vp2) +
gsi::method ("a9a", &A::a9a) +
diff --git a/src/gsi/gsi_test/gsiTest.h b/src/gsi/gsi_test/gsiTest.h
index a7e6938f6..c3c366815 100644
--- a/src/gsi/gsi_test/gsiTest.h
+++ b/src/gsi/gsi_test/gsiTest.h
@@ -155,6 +155,15 @@ struct A
bool a9a (int i) const { return i == 5; }
int a9b (bool f) const { return f ? 5 : -5; }
+ short a11_s (double f) { return short(f); }
+ unsigned short a11_us (double f) { return (unsigned short)(f); }
+ int a11_i (double f) { return int(f); }
+ unsigned int a11_ui (double f) { return (unsigned int)(f); }
+ long a11_l (double f) { return long(f); }
+ unsigned long a11_ul (double f) { return (unsigned long)(f); }
+ long long a11_ll (double f) { return (long long)(f); }
+ unsigned long long a11_ull (double f) { return (unsigned long long)(f); }
+
std::string a10_d (double f) { return tl::to_string (f); }
#if defined(HAVE_QT)
QByteArray a10_d_qba (double f) { return tl::to_qstring (tl::to_string (f)).toUtf8 (); }
@@ -162,6 +171,14 @@ struct A
QStringRef a10_d_qstrref (double f) { m_s = tl::to_qstring (tl::to_string (f)); return QStringRef (&m_s); }
#endif
std::string a10_f (float f) { return tl::to_string(f); }
+ std::string a10_s (short l) { return tl::to_string(int (l)); }
+ std::string a10_us (unsigned short l) { return tl::to_string(int (l)); }
+ std::string a10_i (int l) { return tl::to_string(l); }
+ std::string a10_ui (unsigned int l) { return tl::to_string(l); }
+ std::string a10_l (long l) { return tl::to_string(l); }
+ std::string a10_ul (unsigned long l) { return tl::to_string(l); }
+ std::string a10_ll (long long l) { return tl::to_string(l); }
+ std::string a10_ull (unsigned long long l) { return tl::to_string(l); }
std::string a10_fptr (float *f) { if (f) { *f += 5; return tl::to_string(*f); } else { return "nil"; } }
std::string a10_dptr (double *f) { if (f) { *f += 6; return tl::to_string(*f); } else { return "nil"; } }
std::string a10_iptr (int *f) { if (f) { *f += 7; return tl::to_string(*f); } else { return "nil"; } }
diff --git a/src/pya/pya/pyaConvert.h b/src/pya/pya/pyaConvert.h
index 4f24c077c..81624491a 100644
--- a/src/pya/pya/pyaConvert.h
+++ b/src/pya/pya/pyaConvert.h
@@ -320,7 +320,7 @@ template <> struct python2c_func : public python2c_func_cast struct python2c_func : public python2c_func_cast { };
template <> struct python2c_func : public python2c_func_cast { };
template <> struct python2c_func : public python2c_func_cast { };
-template <> struct python2c_func : public python2c_func_cast { };
+template <> struct python2c_func : public python2c_func_cast { };
template <> PYA_PUBLIC long long python2c_func::operator() (PyObject *rval);
template <> PYA_PUBLIC unsigned long long python2c_func::operator() (PyObject *rval);
@@ -540,7 +540,7 @@ struct c2python_func
{
PyObject *operator() (unsigned int c)
{
- return PyLong_FromLong (long (c));
+ return PyLong_FromUnsignedLong ((unsigned long) (c));
}
};
diff --git a/src/pya/unit_tests/pya.cc b/src/pya/unit_tests/pya.cc
index 38faf5e5a..3cecf497d 100644
--- a/src/pya/unit_tests/pya.cc
+++ b/src/pya/unit_tests/pya.cc
@@ -30,7 +30,7 @@
static void run_pythontest (tl::TestBase *_this, const std::string &fn);
-TEST (1)
+TEST (basic)
{
EXPECT_EQ (gsi::has_class ("Value"), true);
EXPECT_EQ (gsi::has_class ("DoesNotExist"), false);
diff --git a/src/rba/unit_tests/rba.cc b/src/rba/unit_tests/rba.cc
index 2e96d4e2b..196528f1f 100644
--- a/src/rba/unit_tests/rba.cc
+++ b/src/rba/unit_tests/rba.cc
@@ -30,7 +30,7 @@
// windows.h is included before ruby.h ...
#include "tlUnitTest.h"
-TEST (1)
+TEST (basic)
{
EXPECT_EQ (gsi::has_class ("Value"), true);
EXPECT_EQ (gsi::has_class ("DoesNotExist"), false);
diff --git a/testdata/python/basic.py b/testdata/python/basic.py
index ec7f58ef0..0f1293f6f 100644
--- a/testdata/python/basic.py
+++ b/testdata/python/basic.py
@@ -412,6 +412,26 @@ class BasicTest(unittest.TestCase):
self.assertEqual( a3.a1(), -11 )
self.assertEqual( a1.a10_d(5.2), "5.2" )
+ self.assertEqual( a1.a10_s(0x70000000), "0" )
+ self.assertEqual( a1.a10_s(0x7fffffff), "-1" )
+ self.assertEqual( a1.a10_us(0x70000000), "0" )
+ self.assertEqual( a1.a10_us(0x7fffffff), "65535" )
+ self.assertEqual( a1.a10_i(-0x80000000), "-2147483648" )
+ self.assertEqual( a1.a10_l(-0x80000000), "-2147483648" )
+ self.assertEqual( a1.a10_ll(-0x80000000), "-2147483648" )
+ self.assertEqual( a1.a10_ui(0xffffffff), "4294967295" )
+ self.assertEqual( a1.a10_ul(0xffffffff), "4294967295" )
+ self.assertEqual( a1.a10_ull(0xffffffff), "4294967295" )
+ self.assertEqual( a1.a11_s(0x70000000), 0 )
+ self.assertEqual( a1.a11_s(0x7fffffff), -1 )
+ self.assertEqual( a1.a11_us(0x70000000), 0 )
+ self.assertEqual( a1.a11_us(0x7fffffff), 65535 )
+ self.assertEqual( a1.a11_i(-0x80000000), -2147483648 )
+ self.assertEqual( a1.a11_l(-0x80000000), -2147483648 )
+ self.assertEqual( a1.a11_ll(-0x80000000), -2147483648 )
+ self.assertEqual( a1.a11_ui(0xffffffff), 4294967295 )
+ self.assertEqual( a1.a11_ul(0xffffffff), 4294967295 )
+ self.assertEqual( a1.a11_ull(0xffffffff), 4294967295 )
if "a10_d_qstr" in a1.__dict__:
self.assertEqual( a1.a10_d_qstr(5.25), "5.25" )
self.assertEqual( a1.a10_d_qstrref(5.2), "5.2" )
diff --git a/testdata/ruby/basic_testcore.rb b/testdata/ruby/basic_testcore.rb
index 8d9cd8493..ccacfe280 100644
--- a/testdata/ruby/basic_testcore.rb
+++ b/testdata/ruby/basic_testcore.rb
@@ -308,6 +308,27 @@ class Basic_TestClass < TestBase
assert_equal( a2.a1, 11 )
assert_equal( a3.a1, -11 )
+ assert_equal( a1.a10_s(0x70000000), "0" )
+ assert_equal( a1.a10_s(0x7fffffff), "-1" )
+ assert_equal( a1.a10_us(0x70000000), "0" )
+ assert_equal( a1.a10_us(0x7fffffff), "65535" )
+ assert_equal( a1.a10_i(-0x80000000), "-2147483648" )
+ assert_equal( a1.a10_l(-0x80000000), "-2147483648" )
+ assert_equal( a1.a10_ll(-0x80000000), "-2147483648" )
+ assert_equal( a1.a10_ui(0xffffffff), "4294967295" )
+ assert_equal( a1.a10_ul(0xffffffff), "4294967295" )
+ assert_equal( a1.a10_ull(0xffffffff), "4294967295" )
+ assert_equal( a1.a11_s(0x70000000), 0 )
+ assert_equal( a1.a11_s(0x7fffffff), -1 )
+ assert_equal( a1.a11_us(0x70000000), 0 )
+ assert_equal( a1.a11_us(0x7fffffff), 65535 )
+ assert_equal( a1.a11_i(-0x80000000), -2147483648 )
+ assert_equal( a1.a11_l(-0x80000000), -2147483648 )
+ assert_equal( a1.a11_ll(-0x80000000), -2147483648 )
+ assert_equal( a1.a11_ui(0xffffffff), 4294967295 )
+ assert_equal( a1.a11_ul(0xffffffff), 4294967295 )
+ assert_equal( a1.a11_ull(0xffffffff), 4294967295 )
+
assert_equal( a1.a10_d(5.2), "5.2" )
if a1.respond_to?(:a10_d_qstr)
assert_equal( a1.a10_d_qstr(5.25), "5.25" )