diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2016-11-04 18:06:37 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2017-03-05 15:20:43 +0100 |
commit | b5cb6aafa93331470ada3bb0257f136036b3c5a9 (patch) | |
tree | 8df8d1012819ba447f5f82f68411561ec7dc6540 /tests/chainup | |
parent | e40b5ffb2dc3d20ef0a7c64935595a1be1cdbf59 (diff) | |
download | vala-b5cb6aafa93331470ada3bb0257f136036b3c5a9.tar.gz |
tests: Add a bunch of chain-up tests
https://bugzilla.gnome.org/show_bug.cgi?id=567269
Diffstat (limited to 'tests/chainup')
-rw-r--r-- | tests/chainup/class-base-foo.vala | 20 | ||||
-rw-r--r-- | tests/chainup/class-base.vala | 20 | ||||
-rw-r--r-- | tests/chainup/class-object.vala | 12 | ||||
-rw-r--r-- | tests/chainup/class-this-foo.vala | 17 | ||||
-rw-r--r-- | tests/chainup/class-this.vala | 17 | ||||
-rw-r--r-- | tests/chainup/no-chainup.vala | 21 | ||||
-rw-r--r-- | tests/chainup/struct-base-foo.vala | 20 | ||||
-rw-r--r-- | tests/chainup/struct-base.vala | 20 | ||||
-rw-r--r-- | tests/chainup/struct-this-foo.vala | 17 | ||||
-rw-r--r-- | tests/chainup/struct-this.vala | 17 |
10 files changed, 181 insertions, 0 deletions
diff --git a/tests/chainup/class-base-foo.vala b/tests/chainup/class-base-foo.vala new file mode 100644 index 000000000..606d71975 --- /dev/null +++ b/tests/chainup/class-base-foo.vala @@ -0,0 +1,20 @@ +public class Foo { + public int i; + public Foo.foo () { + i = 1; + } +} + +public class Bar : Foo { + public int j; + public Bar () { + base.foo (); + j = 1; + } +} + +void main () { + var bar = new Bar (); + assert (bar.i == 1); + assert (bar.j == 1); +} diff --git a/tests/chainup/class-base.vala b/tests/chainup/class-base.vala new file mode 100644 index 000000000..1bec7e40f --- /dev/null +++ b/tests/chainup/class-base.vala @@ -0,0 +1,20 @@ +public class Foo { + public int i; + public Foo () { + i = 1; + } +} + +public class Bar : Foo { + public int j; + public Bar () { + base (); + this.j = 1; + } +} + +void main () { + var bar = new Bar (); + assert (bar.i == 1); + assert (bar.j == 1); +} diff --git a/tests/chainup/class-object.vala b/tests/chainup/class-object.vala new file mode 100644 index 000000000..1d6b0d777 --- /dev/null +++ b/tests/chainup/class-object.vala @@ -0,0 +1,12 @@ +public class Foo : Object { + public int i; + public Foo () { + Object (); + i = 1; + } +} + +void main () { + var foo = new Foo (); + assert (foo.i == 1); +} diff --git a/tests/chainup/class-this-foo.vala b/tests/chainup/class-this-foo.vala new file mode 100644 index 000000000..41b3b20b8 --- /dev/null +++ b/tests/chainup/class-this-foo.vala @@ -0,0 +1,17 @@ +public class Foo { + public int i; + public int j; + public Foo () { + this.foo (); + j = 1; + } + public Foo.foo () { + i = 1; + } +} + +void main () { + var foo = new Foo (); + assert (foo.i == 1); + assert (foo.j == 1); +} diff --git a/tests/chainup/class-this.vala b/tests/chainup/class-this.vala new file mode 100644 index 000000000..bc091710d --- /dev/null +++ b/tests/chainup/class-this.vala @@ -0,0 +1,17 @@ +public class Foo { + public int i; + public int j; + public Foo () { + j = 1; + } + public Foo.bar () { + this (); + i = 1; + } +} + +void main () { + var foo = new Foo.bar (); + assert (foo.i == 1); + assert (foo.j == 1); +} diff --git a/tests/chainup/no-chainup.vala b/tests/chainup/no-chainup.vala new file mode 100644 index 000000000..d164bb3cd --- /dev/null +++ b/tests/chainup/no-chainup.vala @@ -0,0 +1,21 @@ +public class Foo { + int i; + public Foo () { + i = 0; + } + + public Foo.foo () { + SourceFunc f = () => true; + f (); + } +} + +public struct Bar { + int i; + public Bar () { + i = 0; + } +} + +void main () { +} diff --git a/tests/chainup/struct-base-foo.vala b/tests/chainup/struct-base-foo.vala new file mode 100644 index 000000000..44aeb3bb1 --- /dev/null +++ b/tests/chainup/struct-base-foo.vala @@ -0,0 +1,20 @@ +public struct Foo { + public int i; + public int j; + public Foo.foo () { + i = 1; + } +} + +public struct Bar : Foo { + public Bar () { + base.foo (); + this.j = 1; + } +} + +void main () { + var bar = Bar (); + //FIXME assert (bar.i == 1); + assert (bar.j == 1); +} diff --git a/tests/chainup/struct-base.vala b/tests/chainup/struct-base.vala new file mode 100644 index 000000000..b1622cc24 --- /dev/null +++ b/tests/chainup/struct-base.vala @@ -0,0 +1,20 @@ +public struct Foo { + public int i; + public int j; + public Foo () { + i = 1; + } +} + +public struct Bar : Foo { + public Bar () { + base (); + this.j = 1; + } +} + +void main () { + var bar = Bar (); + assert (bar.i == 1); + assert (bar.j == 1); +} diff --git a/tests/chainup/struct-this-foo.vala b/tests/chainup/struct-this-foo.vala new file mode 100644 index 000000000..c0e53beed --- /dev/null +++ b/tests/chainup/struct-this-foo.vala @@ -0,0 +1,17 @@ +public struct Foo { + public int i; + public int j; + public Foo () { + this.foo (); + j = 1; + } + public Foo.foo () { + i = 1; + } +} + +void main () { + var foo = Foo (); + //FIXME assert (foo.i == 1); + assert (foo.j == 1); +} diff --git a/tests/chainup/struct-this.vala b/tests/chainup/struct-this.vala new file mode 100644 index 000000000..1619e0442 --- /dev/null +++ b/tests/chainup/struct-this.vala @@ -0,0 +1,17 @@ +public struct Foo { + public int i; + public int j; + public Foo () { + j = 1; + } + public Foo.bar () { + this (); + i = 1; + } +} + +void main () { + var foo = Foo.bar (); + assert (foo.i == 1); + assert (foo.j == 1); +} |