From: Rico Tzschichholz Date: Fri, 4 Nov 2016 17:06:37 +0000 (+0100) Subject: tests: Add some invalid "chain-up" tests X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2Fwip%2Fbug567269;p=thirdparty%2Fvala.git tests: Add some invalid "chain-up" tests https://bugzilla.gnome.org/show_bug.cgi?id=567269 --- diff --git a/tests/Makefile.am b/tests/Makefile.am index ab30ae345..5c681597d 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -58,17 +58,27 @@ TESTS = \ chainup/base-struct-invalid.test \ chainup/class-base.vala \ chainup/class-base-foo.vala \ + chainup/class-base-foo-invalid.test \ + chainup/class-base-invalid.test \ chainup/class-multiple.vala \ chainup/class-object.vala \ + chainup/class-object-invalid.test \ chainup/class-this.vala \ chainup/class-this-foo.vala \ + chainup/class-this-foo-invalid.test \ + chainup/class-this-invalid.test \ chainup/class-with-lambda.vala \ + chainup/class-with-lambda-invalid.test \ chainup/method-lambda-base.vala \ chainup/no-chainup.vala \ chainup/struct-base.vala \ chainup/struct-base-foo.vala \ + chainup/struct-base-foo-invalid.test \ + chainup/struct-base-invalid.test \ chainup/struct-this.vala \ chainup/struct-this-foo.vala \ + chainup/struct-this-foo-invalid.test \ + chainup/struct-this-invalid.test \ chainup/bug791785.vala \ pointers/bug590641.vala \ methods/lambda.vala \ diff --git a/tests/chainup/class-base-foo-invalid.test b/tests/chainup/class-base-foo-invalid.test new file mode 100644 index 000000000..7f9293b10 --- /dev/null +++ b/tests/chainup/class-base-foo-invalid.test @@ -0,0 +1,16 @@ +Invalid Code + +public class Foo { + public Foo.foo () {} +} + +public class Bar : Foo { + int i; + public Bar () { + i = 1; + base.foo (); + } +} + +void main () { +} diff --git a/tests/chainup/class-base-invalid.test b/tests/chainup/class-base-invalid.test new file mode 100644 index 000000000..6137805fe --- /dev/null +++ b/tests/chainup/class-base-invalid.test @@ -0,0 +1,15 @@ +Invalid Code + +public class Foo { +} + +public class Bar : Foo { + int i; + public Bar () { + i = 1; + base (); + } +} + +void main () { +} diff --git a/tests/chainup/class-object-invalid.test b/tests/chainup/class-object-invalid.test new file mode 100644 index 000000000..d9dd47dc7 --- /dev/null +++ b/tests/chainup/class-object-invalid.test @@ -0,0 +1,12 @@ +Invalid Code + +public class Foo : Object { + int i; + public Foo () { + i = 1; + Object (); + } +} + +void main () { +} diff --git a/tests/chainup/class-this-foo-invalid.test b/tests/chainup/class-this-foo-invalid.test new file mode 100644 index 000000000..3e6c438ef --- /dev/null +++ b/tests/chainup/class-this-foo-invalid.test @@ -0,0 +1,13 @@ +Invalid Code + +public class Foo { + int i; + public Foo () { + i = 1; + this.foo (); + } + public Foo.foo () {} +} + +void main () { +} diff --git a/tests/chainup/class-this-invalid.test b/tests/chainup/class-this-invalid.test new file mode 100644 index 000000000..171e928e9 --- /dev/null +++ b/tests/chainup/class-this-invalid.test @@ -0,0 +1,12 @@ +Invalid Code + +public class Foo { + int i; + public Foo.bar () { + i = 1; + this (); + } +} + +void main () { +} diff --git a/tests/chainup/class-with-lambda-invalid.test b/tests/chainup/class-with-lambda-invalid.test new file mode 100644 index 000000000..a4addb7a5 --- /dev/null +++ b/tests/chainup/class-with-lambda-invalid.test @@ -0,0 +1,14 @@ +Invalid Code + +public class Foo : Object { + int i; + + public Foo.with_foo () { + SourceFunc f = () => i==1; + f(); + this (); + } +} + +void main () { +} diff --git a/tests/chainup/struct-base-foo-invalid.test b/tests/chainup/struct-base-foo-invalid.test new file mode 100644 index 000000000..fc47cf752 --- /dev/null +++ b/tests/chainup/struct-base-foo-invalid.test @@ -0,0 +1,16 @@ +Invalid Code + +public struct Foo { + int i; + public Foo.foo () {} +} + +public struct Bar : Foo { + public Bar () { + i = 1; + base.foo (); + } +} + +void main () { +} diff --git a/tests/chainup/struct-base-invalid.test b/tests/chainup/struct-base-invalid.test new file mode 100644 index 000000000..e93499157 --- /dev/null +++ b/tests/chainup/struct-base-invalid.test @@ -0,0 +1,17 @@ +Invalid Code + +public struct Foo { + int i; + + public Foo () {} +} + +public struct Bar : Foo { + public Bar () { + i = 1; + base (); + } +} + +void main () { +} diff --git a/tests/chainup/struct-this-foo-invalid.test b/tests/chainup/struct-this-foo-invalid.test new file mode 100644 index 000000000..5f10f272f --- /dev/null +++ b/tests/chainup/struct-this-foo-invalid.test @@ -0,0 +1,13 @@ +Invalid Code + +public struct Foo { + int i; + public Foo () { + i = 1; + this.foo (); + } + public Foo.foo () {} +} + +void main () { +} diff --git a/tests/chainup/struct-this-invalid.test b/tests/chainup/struct-this-invalid.test new file mode 100644 index 000000000..656e85e83 --- /dev/null +++ b/tests/chainup/struct-this-invalid.test @@ -0,0 +1,13 @@ +Invalid Code + +public struct Foo { + int i; + public Foo () {} + public Foo.foo () { + i = 1; + this (); + } +} + +void main () { +}