efl-mono: test on inout RwSlice.
This commit is contained in:
parent
a7cf1b4c3c
commit
6e3768b2b6
|
@ -380,6 +380,20 @@ class TestEinaSlice
|
|||
Test.Assert(slc.GetBytes().SequenceEqual(base_seq));
|
||||
}
|
||||
|
||||
public static void test_eina_rw_slice_inout()
|
||||
{
|
||||
var t = new Dummy.TestObject();
|
||||
var rw_seq = new byte[4]{0xA, 0xA, 0xA, 0xA};
|
||||
var expected_seq = new byte[4]{0xA, 0xB, 0xC, 0xD};
|
||||
var pinnedRWData = GCHandle.Alloc(rw_seq, GCHandleType.Pinned);
|
||||
IntPtr ptr = pinnedRWData.AddrOfPinnedObject();
|
||||
var slc = new Eina.RwSlice(ptr, (UIntPtr)4);
|
||||
Test.Assert(t.EinaRwSliceInout(ref slc));
|
||||
Test.Assert(slc.Mem != IntPtr.Zero);
|
||||
Test.Assert(slc.Length == rw_seq.Length);
|
||||
Test.Assert(slc.GetBytes().SequenceEqual(expected_seq));
|
||||
}
|
||||
|
||||
/*
|
||||
public static void test_eina_slice_return()
|
||||
{
|
||||
|
|
|
@ -266,6 +266,13 @@ class Dummy.Test_Object extends Efl.Object implements Efl.Part, Dummy.Test_Iface
|
|||
return: bool;
|
||||
}
|
||||
|
||||
eina_rw_slice_inout {
|
||||
params {
|
||||
@inout slice: Eina.Rw_Slice;
|
||||
}
|
||||
return: bool;
|
||||
}
|
||||
|
||||
/*
|
||||
eina_slice_return {
|
||||
return: Eina.Slice;
|
||||
|
|
|
@ -331,6 +331,14 @@ Eina_Bool _dummy_test_object_eina_rw_slice_out(EINA_UNUSED Eo *obj, EINA_UNUSED
|
|||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
Eina_Bool _dummy_test_object_eina_rw_slice_inout(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Rw_Slice *slice)
|
||||
{
|
||||
if (!slice) return EINA_FALSE;
|
||||
for (size_t i = 0; i < slice->len; i++)
|
||||
slice->bytes[i] += (uint8_t)i;
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
Eina_Slice _dummy_test_object_eina_slice_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
|
||||
{
|
||||
Eina_Slice slc = EINA_SLICE_ARRAY(base_seq);
|
||||
|
|
Loading…
Reference in New Issue