diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-04-28 21:33:10 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-04-28 22:01:49 +0200 |
commit | 7e2bbebc92f20c42bb62e2f03d94aeb145337237 (patch) | |
tree | b9fc4bf283e7664dfad2b88a2dcc0d62f12ea02a /tests | |
parent | ae15049a7f2f58d6c6422937d41ffa75b9220d48 (diff) | |
download | vala-7e2bbebc92f20c42bb62e2f03d94aeb145337237.tar.gz |
tests: Add "generic array" test to increase coverage
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 1 | ||||
-rw-r--r-- | tests/generics/arrays.vala | 35 |
2 files changed, 36 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 16cd7303b..b5a1acf04 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -675,6 +675,7 @@ TESTS = \ asynchronous/variadic-invalid.test \ asynchronous/variadic-invalid-2.test \ asynchronous/yield.vala \ + generics/arrays.vala \ generics/arrays-not-supported.test \ generics/arrays-not-supported-2.test \ generics/arrays-not-supported-3.test \ diff --git a/tests/generics/arrays.vala b/tests/generics/arrays.vala new file mode 100644 index 000000000..b28d8cc47 --- /dev/null +++ b/tests/generics/arrays.vala @@ -0,0 +1,35 @@ +class Foo<G> { + public G[] ga; + + public Foo (G g) { + var gs = new G[] { g }; + assert (gs.length == 1); + assert (gs[0] == "foo"); + + ga = gs; + assert (ga.length == 1); + assert (ga[0] == "foo"); + } + + public void foo (owned G[] gs) { + assert (gs.length == 1); + assert (gs[0] == "foo"); + } +} + +void bar<G> (G g) { + var gs = new G[] { g }; + assert (gs.length == 1); + assert (gs[0] == "bar"); + + var gs_copy = gs; + assert (gs_copy.length == 1); + assert (gs_copy[0] == "bar"); +} + +void main () { + var foo = new Foo<string> ("foo"); + foo.foo (foo.ga); + + bar<string> ("bar"); +} |