From e677cc73005fc0f495531289e11a6234b8dd02dc Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 4 Dec 2021 09:03:59 +0100 Subject: [PATCH] WIP: tests for QStringView and QByteArrayView bindings --- src/gsi/gsi_test/gsiTest.cc | 26 +++--- src/gsi/gsi_test/gsiTest.h | 5 +- testdata/python/basic.py | 147 +++++++++++++++++++++++++++-- testdata/ruby/basic_testcore.rb | 158 +++++++++++++++++++++++++++----- 4 files changed, 289 insertions(+), 47 deletions(-) diff --git a/src/gsi/gsi_test/gsiTest.cc b/src/gsi/gsi_test/gsiTest.cc index 34d9180e1..a4f183933 100644 --- a/src/gsi/gsi_test/gsiTest.cc +++ b/src/gsi/gsi_test/gsiTest.cc @@ -237,7 +237,7 @@ A::qsv_cref_to_ia (const QStringView &qs) QStringView A::ia_cref_to_qsv (const std::vector &ia) { - QString s; + static QString s; for (std::vector::const_iterator i = ia.begin (); i != ia.end (); ++i) { s.push_back (char (*i)); } @@ -281,8 +281,8 @@ A::ia_cref_to_ba (const std::vector &ia) return ba; } -const std::vector & -A::ia_cref_to_ba_cref (const std::vector &ia) +std::vector & +A::ia_cref_to_ba_ref (const std::vector &ia) { static std::vector ba; ba.clear (); @@ -1002,8 +1002,8 @@ static gsi::Class decl_a ("", "A", gsi::method ("ia_cref_to_qba", &A::ia_cref_to_qba) + gsi::method ("ia_cref_to_qba_cref", &A::ia_cref_to_qba_cref) + gsi::method ("ia_cref_to_qba_ref", &A::ia_cref_to_qba_ref) + - gsi::method ("ia_cptr_to_qba_cptr", &A::ia_cref_to_qba_cptr) + - gsi::method ("ia_cptr_to_qba_ptr", &A::ia_cref_to_qba_ptr) + + gsi::method ("ia_cref_to_qba_cptr", &A::ia_cref_to_qba_cptr) + + gsi::method ("ia_cref_to_qba_ptr", &A::ia_cref_to_qba_ptr) + gsi::method ("qs_cref_to_ia", &A::qs_cref_to_ia) + gsi::method ("qs_ref_to_ia", &A::qs_ref_to_ia) + @@ -1013,8 +1013,8 @@ static gsi::Class decl_a ("", "A", gsi::method ("ia_cref_to_qs", &A::ia_cref_to_qs) + gsi::method ("ia_cref_to_qs_cref", &A::ia_cref_to_qs_cref) + gsi::method ("ia_cref_to_qs_ref", &A::ia_cref_to_qs_ref) + - gsi::method ("ia_cptr_to_qs_cptr", &A::ia_cref_to_qs_cptr) + - gsi::method ("ia_cptr_to_qs_ptr", &A::ia_cref_to_qs_ptr) + + gsi::method ("ia_cref_to_qs_cptr", &A::ia_cref_to_qs_cptr) + + gsi::method ("ia_cref_to_qs_ptr", &A::ia_cref_to_qs_ptr) + #if QT_VERSION >= 0x60000 @@ -1026,8 +1026,8 @@ static gsi::Class decl_a ("", "A", gsi::method ("ia_cref_to_qbav", &A::ia_cref_to_qbav) + gsi::method ("ia_cref_to_qbav_cref", &A::ia_cref_to_qbav_cref) + gsi::method ("ia_cref_to_qbav_ref", &A::ia_cref_to_qbav_ref) + - gsi::method ("ia_cptr_to_qbav_cptr", &A::ia_cref_to_qbav_cptr) + - gsi::method ("ia_cptr_to_qbav_ptr", &A::ia_cref_to_qbav_ptr) + + gsi::method ("ia_cref_to_qbav_cptr", &A::ia_cref_to_qbav_cptr) + + gsi::method ("ia_cref_to_qbav_ptr", &A::ia_cref_to_qbav_ptr) + gsi::method ("qsv_cref_to_ia", &A::qsv_cref_to_ia) + gsi::method ("qsv_ref_to_ia", &A::qsv_ref_to_ia) + @@ -1037,8 +1037,8 @@ static gsi::Class decl_a ("", "A", gsi::method ("ia_cref_to_qsv", &A::ia_cref_to_qsv) + gsi::method ("ia_cref_to_qsv_cref", &A::ia_cref_to_qsv_cref) + gsi::method ("ia_cref_to_qsv_ref", &A::ia_cref_to_qsv_ref) + - gsi::method ("ia_cptr_to_qsv_cptr", &A::ia_cref_to_qsv_cptr) + - gsi::method ("ia_cptr_to_qsv_ptr", &A::ia_cref_to_qsv_ptr) + + gsi::method ("ia_cref_to_qsv_cptr", &A::ia_cref_to_qsv_cptr) + + gsi::method ("ia_cref_to_qsv_ptr", &A::ia_cref_to_qsv_ptr) + #endif @@ -1049,8 +1049,12 @@ static gsi::Class decl_a ("", "A", gsi::method ("ba_cptr_to_ia", &A::ba_cptr_to_ia) + gsi::method ("ba_ptr_to_ia", &A::ba_ptr_to_ia) + gsi::method ("ba_to_ia", &A::ba_to_ia) + + gsi::method ("ia_cref_to_ba", &A::ia_cref_to_ba) + + gsi::method ("ia_cref_to_ba_ref", &A::ia_cref_to_ba_ref) + gsi::method ("ia_cref_to_ba_cref", &A::ia_cref_to_ba_cref) + + gsi::method ("ia_cref_to_ba_ptr", &A::ia_cref_to_ba_ptr) + + gsi::method ("ia_cref_to_ba_cptr", &A::ia_cref_to_ba_cptr) + gsi::method ("br", &A::br) + gsi::method ("get_e", &A::get_e) + diff --git a/src/gsi/gsi_test/gsiTest.h b/src/gsi/gsi_test/gsiTest.h index 37777c3ca..402ba693e 100644 --- a/src/gsi/gsi_test/gsiTest.h +++ b/src/gsi/gsi_test/gsiTest.h @@ -203,7 +203,10 @@ struct A * @brief Byte sequences: tests return of std::vector */ static std::vector ia_cref_to_ba (const std::vector &ia); - static const std::vector &ia_cref_to_ba_cref (const std::vector &ia); + static std::vector &ia_cref_to_ba_ref (const std::vector &ia); + static const std::vector &ia_cref_to_ba_cref (const std::vector &ia) { return ia_cref_to_ba_ref (ia); } + static std::vector *ia_cref_to_ba_ptr (const std::vector &ia) { return &ia_cref_to_ba_ref (ia); } + static const std::vector *ia_cref_to_ba_cptr (const std::vector &ia) { return &ia_cref_to_ba_ref (ia); } /* * @brief A dummy method providing a chance to set a breakpoint in the script diff --git a/testdata/python/basic.py b/testdata/python/basic.py index 1e653628d..d949db945 100644 --- a/testdata/python/basic.py +++ b/testdata/python/basic.py @@ -2847,22 +2847,23 @@ class BasicTest(unittest.TestCase): self.assertEqual(sc.got_s0a, 0) self.assertEqual(sc.got_s0b, 0) - def test_74(self): + def test_QByteArray(self): - # binary strings + # QByteArray if "ia_cref_to_qba" in pya.A.__dict__: - qba = pya.A.ia_cref_to_qba([ 17, 42, 0, 8 ]) + qba = pya.A.ia_cref_to_qba([ 16, 42, 0, 8 ]) if sys.version_info < (3, 0): - self.assertEqual(repr(qba), "bytearray(b'\\x11*\\x00\\x08')") + self.assertEqual(repr(qba), "bytearray(b'\\x10*\\x00\\x08')") else: - self.assertEqual(repr(qba), "b'\\x11*\\x00\\x08'") - self.assertEqual(pya.A.qba_to_ia(qba), [ 17, 42, 0, 8 ]) - self.assertEqual(pya.A.qba_cref_to_ia(qba), [ 17, 42, 0, 8 ]) - self.assertEqual(pya.A.qba_cptr_to_ia(qba), [ 17, 42, 0, 8 ]) - self.assertEqual(pya.A.qba_ref_to_ia(qba), [ 17, 42, 0, 8 ]) - self.assertEqual(pya.A.qba_ptr_to_ia(qba), [ 17, 42, 0, 8 ]) + self.assertEqual(repr(qba), "b'\\x10*\\x00\\x08'") + + self.assertEqual(pya.A.qba_to_ia(qba), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qba_cref_to_ia(qba), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qba_cptr_to_ia(qba), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qba_ref_to_ia(qba), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qba_ptr_to_ia(qba), [ 16, 42, 0, 8 ]) qba = pya.A.ia_cref_to_qba_cref([ 17, 42, 0, 8 ]) if sys.version_info < (3, 0): @@ -2870,8 +2871,132 @@ class BasicTest(unittest.TestCase): else: self.assertEqual(repr(qba), "b'\\x11*\\x00\\x08'") + qba = pya.A.ia_cref_to_qba_ref([ 18, 42, 0, 8 ]) + if sys.version_info < (3, 0): + self.assertEqual(repr(qba), "bytearray(b'\\x12*\\x00\\x08')") + else: + self.assertEqual(repr(qba), "b'\\x12*\\x00\\x08'") + + qba = pya.A.ia_cref_to_qba_cptr([ 19, 42, 0, 8 ]) + if sys.version_info < (3, 0): + self.assertEqual(repr(qba), "bytearray(b'\\x13*\\x00\\x08')") + else: + self.assertEqual(repr(qba), "b'\\x13*\\x00\\x08'") + + qba = pya.A.ia_cref_to_qba_ptr([ 20, 42, 0, 8 ]) + if sys.version_info < (3, 0): + self.assertEqual(repr(qba), "bytearray(b'\\x14*\\x00\\x08')") + else: + self.assertEqual(repr(qba), "b'\\x14*\\x00\\x08'") + self.assertEqual(pya.A.qba_to_ia(b'\x00\x01\x02'), [ 0, 1, 2 ]) + def test_QByteArrayView(self): + + # QByteArrayView + + if "ia_cref_to_qbav" in pya.A.__dict__: + + qbav = pya.A.ia_cref_to_qbav([ 16, 42, 0, 8 ]) + if sys.version_info < (3, 0): + self.assertEqual(repr(qbav), "bytearray(b'\\x10*\\x00\\x08')") + else: + self.assertEqual(repr(qbav), "b'\\x10*\\x00\\x08'") + + self.assertEqual(pya.A.qbav_to_ia(qbav), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qbav_cref_to_ia(qbav), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qbav_cptr_to_ia(qbav), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qbav_ref_to_ia(qbav), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qbav_ptr_to_ia(qbav), [ 16, 42, 0, 8 ]) + + qbav = pya.A.ia_cref_to_qbav_cref([ 17, 42, 0, 8 ]) + if sys.version_info < (3, 0): + self.assertEqual(repr(qbav), "bytearray(b'\\x11*\\x00\\x08')") + else: + self.assertEqual(repr(qbav), "b'\\x11*\\x00\\x08'") + + qbav = pya.A.ia_cref_to_qbav_ref([ 18, 42, 0, 8 ]) + if sys.version_info < (3, 0): + self.assertEqual(repr(qbav), "bytearray(b'\\x12*\\x00\\x08')") + else: + self.assertEqual(repr(qbav), "b'\\x12*\\x00\\x08'") + + qbav = pya.A.ia_cref_to_qbav_cptr([ 19, 42, 0, 8 ]) + if sys.version_info < (3, 0): + self.assertEqual(repr(qbav), "bytearray(b'\\x13*\\x00\\x08')") + else: + self.assertEqual(repr(qbav), "b'\\x13*\\x00\\x08'") + + qbav = pya.A.ia_cref_to_qbav_ptr([ 20, 42, 0, 8 ]) + if sys.version_info < (3, 0): + self.assertEqual(repr(qbav), "bytearray(b'\\x14*\\x00\\x08')") + else: + self.assertEqual(repr(qbav), "b'\\x14*\\x00\\x08'") + + self.assertEqual(pya.A.qbav_to_ia(b'\x00\x01\x02'), [ 0, 1, 2 ]) + + def test_QString(self): + + # QString + + if "ia_cref_to_qs" in pya.A.__dict__: + + qs = pya.A.ia_cref_to_qs([ 16, 42, 0, 8 ]) + self.assertEqual(repr(qs), "'\\x10*\\x00\\x08'") + + self.assertEqual(pya.A.qs_to_ia(qs), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qs_cref_to_ia(qs), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qs_cptr_to_ia(qs), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qs_ref_to_ia(qs), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qs_ptr_to_ia(qs), [ 16, 42, 0, 8 ]) + + qs = pya.A.ia_cref_to_qs_cref([ 17, 42, 0, 8 ]) + self.assertEqual(repr(qs), "'\\x11*\\x00\\x08'") + + qs = pya.A.ia_cref_to_qs_ref([ 18, 42, 0, 8 ]) + self.assertEqual(repr(qs), "'\\x12*\\x00\\x08'") + + qs = pya.A.ia_cref_to_qs_cptr([ 19, 42, 0, 8 ]) + self.assertEqual(repr(qs), "'\\x13*\\x00\\x08'") + + qs = pya.A.ia_cref_to_qs_ptr([ 20, 42, 0, 8 ]) + self.assertEqual(repr(qs), "'\\x14*\\x00\\x08'") + + self.assertEqual(pya.A.qs_to_ia('\x00\x01\x02'), [ 0, 1, 2 ]) + + def test_QStringView(self): + + # QStringView + + if "ia_cref_to_qsv" in pya.A.__dict__: + + qsv = pya.A.ia_cref_to_qsv([ 16, 42, 0, 8 ]) + self.assertEqual(repr(qsv), "'\\x10*\\x00\\x08'") + + self.assertEqual(pya.A.qsv_to_ia(qsv), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qsv_cref_to_ia(qsv), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qsv_cptr_to_ia(qsv), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qsv_ref_to_ia(qsv), [ 16, 42, 0, 8 ]) + self.assertEqual(pya.A.qsv_ptr_to_ia(qsv), [ 16, 42, 0, 8 ]) + + qsv = pya.A.ia_cref_to_qsv_cref([ 17, 42, 0, 8 ]) + self.assertEqual(repr(qsv), "'\\x11*\\x00\\x08'") + + qsv = pya.A.ia_cref_to_qsv_ref([ 18, 42, 0, 8 ]) + self.assertEqual(repr(qsv), "'\\x12*\\x00\\x08'") + + qsv = pya.A.ia_cref_to_qsv_cptr([ 19, 42, 0, 8 ]) + self.assertEqual(repr(qsv), "'\\x13*\\x00\\x08'") + + qsv = pya.A.ia_cref_to_qsv_ptr([ 20, 42, 0, 8 ]) + self.assertEqual(repr(qsv), "'\\x14*\\x00\\x08'") + + self.assertEqual(pya.A.qsv_to_ia('\x00\x01\x02'), [ 0, 1, 2 ]) + + def test_binaryStrings(self): + + # binary strings (non-Qt) + ba = pya.A.ia_cref_to_ba([ 17, 42, 0, 8 ]) if sys.version_info < (3, 0): self.assertEqual(repr(ba), "bytearray(b'\\x11*\\x00\\x08')") @@ -2892,7 +3017,9 @@ class BasicTest(unittest.TestCase): self.assertEqual(pya.A.ba_to_ia(b'\x00\x01\x02'), [ 0, 1, 2 ]) # Custom factory implemented in Python +# def test_80(self): + gc = pya.GObject.g_inst_count() gf = PyGFactory() go = pya.GFactory.create_f(gf, 17) diff --git a/testdata/ruby/basic_testcore.rb b/testdata/ruby/basic_testcore.rb index a34755802..f77026ff2 100644 --- a/testdata/ruby/basic_testcore.rb +++ b/testdata/ruby/basic_testcore.rb @@ -2803,39 +2803,147 @@ class Basic_TestClass < TestBase end - def test_74 + def test_QByteArray - # binary strings + # QByteArray - assert_equal(RBA::A::qba_to_ia(qba), [ 17, 42, 0, 8 ]) - assert_equal(RBA::A::qba_cref_to_ia(qba), [ 17, 42, 0, 8 ]) - assert_equal(RBA::A::qba_cptr_to_ia(qba), [ 17, 42, 0, 8 ]) - assert_equal(RBA::A::qba_ref_to_ia(qba), [ 17, 42, 0, 8 ]) - assert_equal(RBA::A::qba_ptr_to_ia(qba), [ 17, 42, 0, 8 ]) + if RBA::A.respond_to?(:ia_cref_to_qba) - qba = RBA::A::ia_cref_to_qba([ 16, 42, 0, 8 ]) - assert_equal(qba.inspect, "\"\\x10*\\x00\\b\"") - qba = RBA::A::ia_cref_to_qba_cref([ 17, 42, 0, 8 ]) - assert_equal(qba.inspect, "\"\\x11*\\x00\\b\"") - qba = RBA::A::ia_cref_to_qba_ref([ 18, 42, 0, 8 ]) - assert_equal(qba.inspect, "\"\\x12*\\x00\\b\"") - qba = RBA::A::ia_cref_to_qba_cptr([ 19, 42, 0, 8 ]) - assert_equal(qba.inspect, "\"\\x13*\\x00\\b\"") - qba = RBA::A::ia_cref_to_qba_ptr([ 20, 42, 0, 8 ]) - assert_equal(qba.inspect, "\"\\x14*\\x00\\b\"") + qba = RBA::A::ia_cref_to_qba([ 16, 42, 0, 8 ]) + assert_equal(qba.inspect, "\"\\x10*\\x00\\b\"") - assert_equal(RBA::A::qba_to_ia("\x00\x01\x02"), [ 0, 1, 2 ]) + assert_equal(RBA::A::qba_to_ia(qba), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qba_cref_to_ia(qba), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qba_cptr_to_ia(qba), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qba_ref_to_ia(qba), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qba_ptr_to_ia(qba), [ 16, 42, 0, 8 ]) - ba = RBA::A::ia_cref_to_ba([ 17, 42, 0, 8 ]) - assert_equal(ba.inspect, "\"\\x11*\\x00\\b\"") - assert_equal(RBA::A::ba_to_ia(ba), [ 17, 42, 0, 8 ]) - assert_equal(RBA::A::ba_cref_to_ia(ba), [ 17, 42, 0, 8 ]) - assert_equal(RBA::A::ba_cptr_to_ia(ba), [ 17, 42, 0, 8 ]) - assert_equal(RBA::A::ba_ref_to_ia(ba), [ 17, 42, 0, 8 ]) - assert_equal(RBA::A::ba_ptr_to_ia(ba), [ 17, 42, 0, 8 ]) + qba = RBA::A::ia_cref_to_qba_cref([ 17, 42, 0, 8 ]) + assert_equal(qba.inspect, "\"\\x11*\\x00\\b\"") + qba = RBA::A::ia_cref_to_qba_ref([ 18, 42, 0, 8 ]) + assert_equal(qba.inspect, "\"\\x12*\\x00\\b\"") + qba = RBA::A::ia_cref_to_qba_cptr([ 19, 42, 0, 8 ]) + assert_equal(qba.inspect, "\"\\x13*\\x00\\b\"") + qba = RBA::A::ia_cref_to_qba_ptr([ 20, 42, 0, 8 ]) + assert_equal(qba.inspect, "\"\\x14*\\x00\\b\"") + + assert_equal(RBA::A::qba_to_ia("\x00\x01\x02"), [ 0, 1, 2 ]) + + end + + end + + def test_QByteArrayView + + # QByteArrayView + + if RBA::A.respond_to?(:ia_cref_to_qba) + + qbav = RBA::A::ia_cref_to_qbav([ 16, 42, 0, 8 ]) + assert_equal(qbav.inspect, "\"\\x10*\\x00\\b\"") + + assert_equal(RBA::A::qbav_to_ia(qbav), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qbav_cref_to_ia(qbav), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qbav_cptr_to_ia(qbav), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qbav_ref_to_ia(qbav), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qbav_ptr_to_ia(qbav), [ 16, 42, 0, 8 ]) + + qbav = RBA::A::ia_cref_to_qbav_cref([ 17, 42, 0, 8 ]) + assert_equal(qbav.inspect, "\"\\x11*\\x00\\b\"") + qbav = RBA::A::ia_cref_to_qbav_ref([ 18, 42, 0, 8 ]) + assert_equal(qbav.inspect, "\"\\x12*\\x00\\b\"") + qbav = RBA::A::ia_cref_to_qbav_cptr([ 19, 42, 0, 8 ]) + assert_equal(qbav.inspect, "\"\\x13*\\x00\\b\"") + qbav = RBA::A::ia_cref_to_qbav_ptr([ 20, 42, 0, 8 ]) + assert_equal(qbav.inspect, "\"\\x14*\\x00\\b\"") + + assert_equal(RBA::A::qbav_to_ia("\x00\x01\x02"), [ 0, 1, 2 ]) + + end + + end + + def test_QString + + # QString + + if RBA::A.respond_to?(:ia_cref_to_qba) + + qs = RBA::A::ia_cref_to_qs([ 16, 42, 0, 8 ]) + assert_equal(qs.inspect, "\"\\x10*\\x00\\b\"") + + assert_equal(RBA::A::qs_to_ia(qs), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qs_cref_to_ia(qs), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qs_cptr_to_ia(qs), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qs_ref_to_ia(qs), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qs_ptr_to_ia(qs), [ 16, 42, 0, 8 ]) + + qs = RBA::A::ia_cref_to_qs_cref([ 17, 42, 0, 8 ]) + assert_equal(qs.inspect, "\"\\x11*\\x00\\b\"") + qs = RBA::A::ia_cref_to_qs_ref([ 18, 42, 0, 8 ]) + assert_equal(qs.inspect, "\"\\x12*\\x00\\b\"") + qs = RBA::A::ia_cref_to_qs_cptr([ 19, 42, 0, 8 ]) + assert_equal(qs.inspect, "\"\\x13*\\x00\\b\"") + qs = RBA::A::ia_cref_to_qs_ptr([ 20, 42, 0, 8 ]) + assert_equal(qs.inspect, "\"\\x14*\\x00\\b\"") + + assert_equal(RBA::A::qs_to_ia("\x00\x01\x02"), [ 0, 1, 2 ]) + + end + + end + + def test_QStringView + + # QStringView + + if RBA::A.respond_to?(:ia_cref_to_qs) + + qsv = RBA::A::ia_cref_to_qsv([ 16, 42, 0, 8 ]) + assert_equal(qsv.inspect, "\"\\x10*\\x00\\b\"") + + assert_equal(RBA::A::qsv_to_ia(qsv), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qsv_cref_to_ia(qsv), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qsv_cptr_to_ia(qsv), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qsv_ref_to_ia(qsv), [ 16, 42, 0, 8 ]) + assert_equal(RBA::A::qsv_ptr_to_ia(qsv), [ 16, 42, 0, 8 ]) + + qsv = RBA::A::ia_cref_to_qsv_cref([ 17, 42, 0, 8 ]) + assert_equal(qsv.inspect, "\"\\x11*\\x00\\b\"") + qsv = RBA::A::ia_cref_to_qsv_ref([ 18, 42, 0, 8 ]) + assert_equal(qsv.inspect, "\"\\x12*\\x00\\b\"") + qsv = RBA::A::ia_cref_to_qsv_cptr([ 19, 42, 0, 8 ]) + assert_equal(qsv.inspect, "\"\\x13*\\x00\\b\"") + qsv = RBA::A::ia_cref_to_qsv_ptr([ 20, 42, 0, 8 ]) + assert_equal(qsv.inspect, "\"\\x14*\\x00\\b\"") + + assert_equal(RBA::A::qsv_to_ia("\x00\x01\x02"), [ 0, 1, 2 ]) + + end + + end + + def test_binaryStrings + + # binary strings (non-Qt) + + ba = RBA::A::ia_cref_to_ba([ 16, 42, 1, 8 ]) + assert_equal(ba.inspect, "\"\\x10*\\x01\\b\"") + + assert_equal(RBA::A::ba_to_ia(ba), [ 16, 42, 1, 8 ]) + assert_equal(RBA::A::ba_cref_to_ia(ba), [ 16, 42, 1, 8 ]) + assert_equal(RBA::A::ba_cptr_to_ia(ba), [ 16, 42, 1, 8 ]) + assert_equal(RBA::A::ba_ref_to_ia(ba), [ 16, 42, 1, 8 ]) + assert_equal(RBA::A::ba_ptr_to_ia(ba), [ 16, 42, 1, 8 ]) ba = RBA::A::ia_cref_to_ba_cref([ 17, 42, 0, 8 ]) assert_equal(ba.inspect, "\"\\x11*\\x00\\b\"") + ba = RBA::A::ia_cref_to_ba_ref([ 18, 42, 0, 8 ]) + assert_equal(ba.inspect, "\"\\x12*\\x00\\b\"") + ba = RBA::A::ia_cref_to_ba_cptr([ 19, 42, 0, 8 ]) + assert_equal(ba.inspect, "\"\\x13*\\x00\\b\"") + ba = RBA::A::ia_cref_to_ba_ptr([ 20, 42, 0, 8 ]) + assert_equal(ba.inspect, "\"\\x14*\\x00\\b\"") assert_equal(RBA::A::ba_to_ia("\x00\x01\x02"), [ 0, 1, 2 ])