[vala/wip/bug567269: 6/7] test: Add chainup test-set



commit d1e339ea31e06dbb6aae57e733d96f95f6a8c78e
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Fri Nov 4 18:06:37 2016 +0100

    test: Add chainup test-set

 tests/Makefile.am                            |   21 +++++++++++++++++++++
 tests/chainup/class-base-foo-invalid.test    |   16 ++++++++++++++++
 tests/chainup/class-base-foo.vala            |   14 ++++++++++++++
 tests/chainup/class-base-invalid.test        |   15 +++++++++++++++
 tests/chainup/class-base.vala                |   12 ++++++++++++
 tests/chainup/class-object-invalid.test      |   12 ++++++++++++
 tests/chainup/class-object.vala              |   10 ++++++++++
 tests/chainup/class-this-foo-invalid.test    |   13 +++++++++++++
 tests/chainup/class-this-foo.vala            |   11 +++++++++++
 tests/chainup/class-this-invalid.test        |   12 ++++++++++++
 tests/chainup/class-this.vala                |   10 ++++++++++
 tests/chainup/class-with-lambda-invalid.test |   14 ++++++++++++++
 tests/chainup/class-with-lambda.vala         |   19 +++++++++++++++++++
 tests/chainup/no-chainup.vala                |   21 +++++++++++++++++++++
 tests/chainup/struct-base-foo-invalid.test   |   16 ++++++++++++++++
 tests/chainup/struct-base-foo.vala           |   14 ++++++++++++++
 tests/chainup/struct-base-invalid.test       |   17 +++++++++++++++++
 tests/chainup/struct-base.vala               |   15 +++++++++++++++
 tests/chainup/struct-this-foo-invalid.test   |   13 +++++++++++++
 tests/chainup/struct-this-foo.vala           |   13 +++++++++++++
 tests/chainup/struct-this-invalid.test       |   13 +++++++++++++
 tests/chainup/struct-this.vala               |   11 +++++++++++
 22 files changed, 312 insertions(+), 0 deletions(-)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index ba88951..32954fe 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -43,6 +43,27 @@ TESTS = \
        basic-types/bug756376.vala \
        basic-types/bug761307.vala \
        basic-types/bug771626.test \
+       chainup/class-base.vala \
+       chainup/class-base-foo.vala \
+       chainup/class-object.vala \
+       chainup/class-this.vala \
+       chainup/class-this-foo.vala \
+       chainup/class-with-lambda.vala \
+       chainup/no-chainup.vala \
+       chainup/struct-base.vala \
+       chainup/struct-base-foo.vala \
+       chainup/struct-this.vala \
+       chainup/struct-this-foo.vala \
+       chainup/class-base-foo-invalid.test \
+       chainup/class-base-invalid.test \
+       chainup/class-object-invalid.test \
+       chainup/class-this-foo-invalid.test \
+       chainup/class-this-invalid.test \
+       chainup/class-with-lambda-invalid.test \
+       chainup/struct-base-foo-invalid.test \
+       chainup/struct-base-invalid.test \
+       chainup/struct-this-foo-invalid.test \
+       chainup/struct-this-invalid.test \
        pointers/bug590641.vala \
        namespaces.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 0000000..7f9293b
--- /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-foo.vala b/tests/chainup/class-base-foo.vala
new file mode 100644
index 0000000..0ff2ba8
--- /dev/null
+++ b/tests/chainup/class-base-foo.vala
@@ -0,0 +1,14 @@
+public class Foo {
+       public Foo.foo () {}
+}
+
+public class Bar : Foo {
+       int i;
+       public Bar () {
+               base.foo ();
+               i = 1;
+       }
+}
+
+void main () {
+}
diff --git a/tests/chainup/class-base-invalid.test b/tests/chainup/class-base-invalid.test
new file mode 100644
index 0000000..6137805
--- /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-base.vala b/tests/chainup/class-base.vala
new file mode 100644
index 0000000..096d08b
--- /dev/null
+++ b/tests/chainup/class-base.vala
@@ -0,0 +1,12 @@
+public class Foo {
+}
+public class Bar : Foo {
+       int i;
+       public Bar () {
+               base ();
+               this.i = 0;
+       }
+}
+
+void main () {
+}
diff --git a/tests/chainup/class-object-invalid.test b/tests/chainup/class-object-invalid.test
new file mode 100644
index 0000000..d9dd47d
--- /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-object.vala b/tests/chainup/class-object.vala
new file mode 100644
index 0000000..a269586
--- /dev/null
+++ b/tests/chainup/class-object.vala
@@ -0,0 +1,10 @@
+public class Foo : Object {
+       int i;
+       public Foo () {
+               Object ();
+               i = 1;
+       }
+}
+
+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 0000000..3e6c438
--- /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-foo.vala b/tests/chainup/class-this-foo.vala
new file mode 100644
index 0000000..b0e5fb9
--- /dev/null
+++ b/tests/chainup/class-this-foo.vala
@@ -0,0 +1,11 @@
+public class Foo {
+       int i;
+       public Foo () {
+               this.foo ();
+               i = 1;
+       }
+       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 0000000..171e928
--- /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-this.vala b/tests/chainup/class-this.vala
new file mode 100644
index 0000000..2ba0e9a
--- /dev/null
+++ b/tests/chainup/class-this.vala
@@ -0,0 +1,10 @@
+public class Foo {
+       int i;
+       public Foo.bar () {
+               this ();
+               i = 1;
+       }
+}
+
+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 0000000..a4addb7
--- /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/class-with-lambda.vala b/tests/chainup/class-with-lambda.vala
new file mode 100644
index 0000000..643944e
--- /dev/null
+++ b/tests/chainup/class-with-lambda.vala
@@ -0,0 +1,19 @@
+public class Test : Object {
+       public Test.lambda_after () {
+               this ();
+               SourceFunc f = () => this != null;
+               f (); // silence unused warning
+       }
+
+       public Test.lambda_before () {
+               SourceFunc f = () => {
+                       SourceFunc g = () => true;
+                       return g ();
+               };
+               this ();
+               f (); // silence unused warning
+       }
+}
+
+void main () {
+}
diff --git a/tests/chainup/no-chainup.vala b/tests/chainup/no-chainup.vala
new file mode 100644
index 0000000..d164bb3
--- /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-invalid.test b/tests/chainup/struct-base-foo-invalid.test
new file mode 100644
index 0000000..fc47cf7
--- /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-foo.vala b/tests/chainup/struct-base-foo.vala
new file mode 100644
index 0000000..720396d
--- /dev/null
+++ b/tests/chainup/struct-base-foo.vala
@@ -0,0 +1,14 @@
+public struct Foo {
+       int i;
+       public Foo.foo () {}
+}
+
+public struct Bar : Foo {
+       public Bar () {
+               base.foo ();
+               this.i = 1;
+       }
+}
+
+void main () {
+}
diff --git a/tests/chainup/struct-base-invalid.test b/tests/chainup/struct-base-invalid.test
new file mode 100644
index 0000000..e934991
--- /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-base.vala b/tests/chainup/struct-base.vala
new file mode 100644
index 0000000..8469cda
--- /dev/null
+++ b/tests/chainup/struct-base.vala
@@ -0,0 +1,15 @@
+public struct Foo {
+       int i;
+
+       public Foo () {}
+}
+
+public struct Bar : Foo {
+       public Bar () {
+               base ();
+               this.i = 0;
+       }
+}
+
+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 0000000..5f10f27
--- /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-foo.vala b/tests/chainup/struct-this-foo.vala
new file mode 100644
index 0000000..62dc90e
--- /dev/null
+++ b/tests/chainup/struct-this-foo.vala
@@ -0,0 +1,13 @@
+public struct Foo {
+       int i;
+       public Foo () {
+               this.foo ();
+               i = 1;
+       }
+       public Foo.foo () {}
+}
+
+void main () {
+       var foo = Foo.foo ();
+       assert (foo.i == 1);
+}
diff --git a/tests/chainup/struct-this-invalid.test b/tests/chainup/struct-this-invalid.test
new file mode 100644
index 0000000..656e85e
--- /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 () {
+}
diff --git a/tests/chainup/struct-this.vala b/tests/chainup/struct-this.vala
new file mode 100644
index 0000000..49eba41
--- /dev/null
+++ b/tests/chainup/struct-this.vala
@@ -0,0 +1,11 @@
+public struct Foo {
+       int i;
+       public Foo () {}
+       public Foo.bar () {
+               this ();
+               i = 1;
+       }
+}
+
+void main () {
+}


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