]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
tests: Extend girwriter test with array length-type usage to increase coverage
authorRico Tzschichholz <ricotz@ubuntu.com>
Mon, 27 Nov 2023 21:39:07 +0000 (22:39 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 27 Nov 2023 21:39:07 +0000 (22:39 +0100)
tests/girwriter/GirTest-1.0.gir-expected
tests/girwriter/girtest.vala
tests/girwriter/girtest.vapi-expected
tests/girwriter/girtest.vapigen-expected

index c3da33e4d3630e4201f8f576813b669deaa2617b..786dd7784e0f9368a1c8732c992dfa75222ec490 100644 (file)
                                </parameter>
                        </parameters>
                </method>
+               <method name="array_size_t_length" c:identifier="gir_test_object_test_array_size_t_length">
+                       <return-value transfer-ownership="full">
+                               <array length="4" c:type="gint*">
+                                       <type name="gint" c:type="gint"/>
+                               </array>
+                       </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
+                               <parameter name="array" transfer-ownership="none">
+                                       <array length="1" c:type="gint*">
+                                               <type name="gint" c:type="gint"/>
+                                       </array>
+                               </parameter>
+                               <parameter name="array_length1" transfer-ownership="full">
+                                       <type name="gulong" c:type="gsize"/>
+                               </parameter>
+                               <parameter name="array2" direction="out" transfer-ownership="full">
+                                       <array length="3" c:type="gint**">
+                                               <type name="gint" c:type="gint"/>
+                                       </array>
+                               </parameter>
+                               <parameter name="array2_length1" direction="out" transfer-ownership="full">
+                                       <type name="gulong" c:type="gsize*"/>
+                               </parameter>
+                               <parameter name="result_length1" direction="out" transfer-ownership="full">
+                                       <type name="gulong" c:type="gsize*"/>
+                               </parameter>
+                       </parameters>
+               </method>
                <method name="array_inout" c:identifier="gir_test_object_test_array_inout">
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
index 191f01a1cfb01bef934c04c366bf95865bbe92ae..06a5065052257e0585e6d0821c5b39a49fdfa505 100644 (file)
@@ -280,6 +280,11 @@ namespace GirTest {
                public void array_in (int[] array) {
                }
 
+               public int[:size_t] array_size_t_length (int[:size_t] array, out int[:size_t] array2) {
+                       array2 = new int[8:size_t];
+                       return new int[8:size_t];
+               }
+
                public void array_inout (ref int[] array) {
                        assert (array.length > 0);
                        array = new int[8];
index 681e4ab7d12895e851c95efb0f79eed0ebb0f6ce..5c75f2b5cc67b2566073a63fa970e16b413bb9ed 100644 (file)
@@ -72,6 +72,7 @@ namespace GirTest {
                public void array_out (out int[] array);
                public int[] array_return ();
                public int[] array_return_int_in_delegate_out (int i1, out GirTest.DelegateTest d);
+               public int[:size_t] array_size_t_length (int[:size_t] array, out int[:size_t] array2);
                public (unowned string)[] container_return ();
                public async void coroutine_async ();
                public virtual async void coroutine_method_throw (int i1, out int o1) throws GirTest.ErrorTest;
index 00ddb45034a8f7d369d40538f8f294a93a9899b1..9ec22e5ad1b1d254475b0a8446c308571a926920 100644 (file)
@@ -84,6 +84,8 @@ namespace GirTest {
                public int[] array_return ();
                [CCode (array_length_pos = 2.3)]
                public int[] array_return_int_in_delegate_out (int i1, out GirTest.DelegateTest d);
+               [CCode (array_length_pos = 2.2, array_length_type = "gsize")]
+               public int[] array_size_t_length ([CCode (array_length_cname = "array_length1", array_length_pos = 1.5, array_length_type = "gsize")] int[] array, [CCode (array_length_cname = "array2_length1", array_length_pos = 2.1, array_length_type = "gsize")] out int[] array2);
                [CCode (array_length_pos = 0.1)]
                public (unowned string)[] container_return ();
                public async void coroutine_async ();