diff options
-rw-r--r-- | tests/Makefile.am | 1 | ||||
-rw-r--r-- | tests/delegates/return-array-null-terminated.vala | 17 |
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"); + } +} |