diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-04-18 22:33:26 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-04-28 08:47:50 +0200 |
commit | 3ab71ea6d3500856545e8b8736bcee907e58b3c4 (patch) | |
tree | e6bd547d19e331ef2b537474189cc4dceb2192a8 | |
parent | 2278792c6d707f4efae935e606e497b53adcb985 (diff) | |
download | vala-3ab71ea6d3500856545e8b8736bcee907e58b3c4.tar.gz |
tests: Add "generics reference transfer" test to increase coverage
-rw-r--r-- | tests/Makefile.am | 1 | ||||
-rw-r--r-- | tests/generics/reference-transfer.vala | 24 |
2 files changed, 25 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 79656a816..0343c0fdf 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -678,6 +678,7 @@ TESTS = \ generics/parameter-sizeof-initializer.vala \ generics/member-dup-destroy.vala \ generics/property-int-cast.vala \ + generics/reference-transfer.vala \ generics/string-literal-comparison.vala \ generics/type-parameter-properties.vala \ generics/value-pointer-type-access.vala \ diff --git a/tests/generics/reference-transfer.vala b/tests/generics/reference-transfer.vala new file mode 100644 index 000000000..da2c1e305 --- /dev/null +++ b/tests/generics/reference-transfer.vala @@ -0,0 +1,24 @@ +class Bar<G> { + public G g; + public Bar (G g) { + this.g = g; + assert (g == "bar"); + } +} + +void bar<G> (Bar<G> g) { + var t = (owned) g.g; + assert (g.g == null); + assert (t == "bar"); +} + +void foo<G> (owned G g) { + var t = (owned) g; + assert (g == null); + assert (t == "foo"); +} + +void main () { + foo<string> ("foo"); + bar<string> (new Bar<string> ("bar")); +} |