summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/Makefile.am1
-rw-r--r--tests/delegates/return-array-null-terminated.vala17
2 files changed, 18 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 38c13357d..6917197fc 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -244,6 +244,7 @@ TESTS = \
delegates/lambda-mixed-instance-static.vala \
delegates/lambda-shared-closure.vala \
delegates/reference_transfer.vala \
+ delegates/return-array-null-terminated.vala \
delegates/wrapper.vala \
delegates/bug519949.test \
delegates/bug539166.vala \
diff --git a/tests/delegates/return-array-null-terminated.vala b/tests/delegates/return-array-null-terminated.vala
new file mode 100644
index 000000000..8918b3e55
--- /dev/null
+++ b/tests/delegates/return-array-null-terminated.vala
@@ -0,0 +1,17 @@
+[CCode (has_target = false, array_length = false, array_null_terminated = true)]
+delegate string[] FooFunc ();
+
+[CCode (array_length = false, array_null_terminated = true)]
+string[] foo () {
+ return {"foo", "bar"};
+}
+
+void main () {
+ FooFunc f = foo;
+
+ {
+ var s = f ();
+ assert (s.length == 2);
+ assert (s[1] == "bar");
+ }
+}