[vala/wip/null-conditional: 2/2] Add test case
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/wip/null-conditional: 2/2] Add test case
- Date: Thu, 19 Dec 2019 09:19:45 +0000 (UTC)
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]