[vala/wip/null-conditional: 2/2] Add test case



commit e73009f2e4de8190eb372f8bcc93d9de9b102712
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Thu Dec 19 10:18:30 2019 +0100

    Add test case

 tests/Makefile.am                 |  1 +
 tests/control-flow/bug761267.vala | 51 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 21bfb431e..829629d3d 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -192,6 +192,7 @@ TESTS = \
        control-flow/bug691514.vala     \
        control-flow/bug736774-1.vala \
        control-flow/bug736774-2.vala \
+       control-flow/bug761267.vala \
        control-flow/bug790903.test \
        control-flow/bug790903-2.test \
        control-semantic/argument-extra.test \
diff --git a/tests/control-flow/bug761267.vala b/tests/control-flow/bug761267.vala
new file mode 100644
index 000000000..5c2e91cde
--- /dev/null
+++ b/tests/control-flow/bug761267.vala
@@ -0,0 +1,51 @@
+class Foo {
+       public int i = 42;
+
+       public Foo? foo () {
+               return null;
+       }
+
+       public void faz () {
+               assert_not_reached ();
+       }
+}
+
+void bar (Foo? f) {
+       {
+               int? j = f?.i;
+               assert (j == null);
+       }
+       {
+               int k = 23;
+               k = f?.i;
+               assert (k == 0);
+       }
+}
+
+void baz (Foo? f) {
+       {
+               int i = f?.i;
+               assert (i == 42);
+       }
+       {
+               int? j = 23;
+               j = f?.foo ()?.i;
+               assert (j == null);
+       }
+       {
+               int k = 23;
+               k = f?.foo ()?.i;
+               assert (k == 0);
+       }
+}
+
+void main () {
+       {
+               Foo? foo = null;
+               foo?.faz ();
+       }
+       {
+               bar (null);
+               baz (new Foo ());
+       }
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]