summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorentin Noël <corentin@elementary.io>2018-02-05 01:02:21 +0000
committerCorentin Noël <corentin@elementary.io>2018-02-05 01:02:21 +0000
commitdb6753ef3a595d0606ec6f6637b0024078d79d84 (patch)
tree17e0459b9cddf697a425b82d3e3a9873399a9dc9
parentf63c2cb0bfdd282b3d8d1ffcba1b58273555715a (diff)
downloadvala-wip/tintou/tests.tar.gz
tests: add invalid cases for the Parserwip/tintou/tests
-rw-r--r--tests/Makefile.am50
-rw-r--r--tests/parser/assignment.vala3
-rw-r--r--tests/parser/attribute-duplicate.test6
-rw-r--r--tests/parser/attribute-wrong-number.test6
-rw-r--r--tests/parser/base-class-invalid.test10
-rw-r--r--tests/parser/constructor-no-new.test11
-rw-r--r--tests/parser/constructor-no-static-class.test11
-rw-r--r--tests/parser/creation-no-abstract.test11
-rw-r--r--tests/parser/creation-no-override.test11
-rw-r--r--tests/parser/creation-no-virtual.test11
-rw-r--r--tests/parser/delegate-no-new.test7
-rw-r--r--tests/parser/destructor-no-new.test11
-rw-r--r--tests/parser/destructor-no-static-class.test11
-rw-r--r--tests/parser/destructor-wrong-name.test11
-rw-r--r--tests/parser/expect-endbrace.test7
-rw-r--r--tests/parser/expect-error.test9
-rw-r--r--tests/parser/field-no-abstract.test9
-rw-r--r--tests/parser/field-no-override.test9
-rw-r--r--tests/parser/field-no-static-class.test9
-rw-r--r--tests/parser/field-no-virtual.test9
-rw-r--r--tests/parser/foreach-no-type.test8
-rw-r--r--tests/parser/function-syntax-error.test5
-rw-r--r--tests/parser/inner-array-size.test5
-rw-r--r--tests/parser/invalid-brace.test6
-rw-r--r--tests/parser/method-no-abstract-override.test11
-rw-r--r--tests/parser/method-no-abstract-virtual-override.test11
-rw-r--r--tests/parser/method-no-abstract-virtual.test11
-rw-r--r--tests/parser/method-no-class-abstract.test11
-rw-r--r--tests/parser/method-no-class-override.test11
-rw-r--r--tests/parser/method-no-class-virtual.test11
-rw-r--r--tests/parser/method-no-static-abstract.test11
-rw-r--r--tests/parser/method-no-static-class.test11
-rw-r--r--tests/parser/method-no-static-override.test11
-rw-r--r--tests/parser/method-no-static-virtual.test11
-rw-r--r--tests/parser/method-no-virtual-override.test11
-rw-r--r--tests/parser/namespace-missing-bracket.test7
-rw-r--r--tests/parser/property-default-redefined.test9
-rw-r--r--tests/parser/property-get-must-have-body.test14
-rw-r--r--tests/parser/property-get-redefined.test17
-rw-r--r--tests/parser/property-get-set-construct.test9
-rw-r--r--tests/parser/property-no-abstract-override.test9
-rw-r--r--tests/parser/property-no-abstract-virtual-override.test9
-rw-r--r--tests/parser/property-no-abstract-virtual.test9
-rw-r--r--tests/parser/property-no-static-class.test9
-rw-r--r--tests/parser/property-no-virtual-override.test9
-rw-r--r--tests/parser/property-set-must-have-body.test14
-rw-r--r--tests/parser/property-set-redefined.test17
-rw-r--r--tests/parser/signal-no-class.test9
-rw-r--r--tests/parser/signal-no-static.test9
-rw-r--r--tests/parser/statement-outside-root.test9
-rw-r--r--tests/parser/tuple.vala4
-rw-r--r--tests/parser/unsupported-property-async.test9
-rw-r--r--tests/parser/unsupported-property-throws.test9
-rw-r--r--tests/parser/void-parameter-invalid.test9
-rw-r--r--tests/parser/yield-method.test9
55 files changed, 565 insertions, 1 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e89b338eb..fb28ecf42 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -334,12 +334,62 @@ TESTS = \
annotations/description.vala \
annotations/noaccessormethod.test \
parser/assignment.vala \
+ parser/attribute-wrong-number.test \
+ parser/attribute-duplicate.test \
+ parser/constructor-no-static-class.test \
+ parser/constructor-no-new.test \
parser/continue-statement.vala \
+ parser/creation-no-abstract.test \
+ parser/creation-no-override.test \
+ parser/creation-no-virtual.test \
+ parser/delegate-no-new.test \
+ parser/destructor-no-static-class.test \
+ parser/destructor-no-new.test \
+ parser/destructor-wrong-name.test \
parser/do-statement.vala \
+ parser/expect-endbrace.test \
+ parser/expect-error.test \
+ parser/field-no-abstract.test \
+ parser/field-no-override.test \
+ parser/field-no-static-class.test \
+ parser/field-no-virtual.test \
+ parser/foreach-no-type.test \
+ parser/function-syntax-error.test \
+ parser/inner-array-size.test \
+ parser/invalid-brace.test \
+ parser/method-no-virtual-override.test \
+ parser/method-no-class-abstract.test \
+ parser/method-no-class-override.test \
+ parser/method-no-class-virtual.test \
+ parser/method-no-static-abstract.test \
+ parser/method-no-static-class.test \
+ parser/method-no-static-override.test \
+ parser/method-no-static-virtual.test \
+ parser/method-no-abstract-virtual-override.test \
+ parser/method-no-abstract-virtual.test \
+ parser/method-no-abstract-override.test \
+ parser/namespace-missing-bracket.test \
parser/preprocessor.vala \
+ parser/property-default-redefined.test \
+ parser/property-get-must-have-body.test \
+ parser/property-get-redefined.test \
+ parser/property-get-set-construct.test \
+ parser/property-no-abstract-virtual.test \
+ parser/property-no-abstract-virtual-override.test \
+ parser/property-no-abstract-override.test \
+ parser/property-no-static-class.test \
+ parser/property-set-must-have-body.test \
+ parser/property-set-redefined.test \
+ parser/signal-no-static.test \
+ parser/signal-no-class.test \
+ parser/statement-outside-root.test \
parser/switch-statement.vala \
parser/template.vala \
parser/tuple.vala \
+ parser/unsupported-property-throws.test \
+ parser/unsupported-property-async.test \
+ parser/void-parameter-invalid.test \
+ parser/yield-method.test \
$(NULL)
NON_NULL_TESTS = \
diff --git a/tests/parser/assignment.vala b/tests/parser/assignment.vala
index ceef7cf97..257cd55ea 100644
--- a/tests/parser/assignment.vala
+++ b/tests/parser/assignment.vala
@@ -6,9 +6,10 @@ void main () {
i *= 2;
i /= 2;
i |= 1;
- i &= 1;
+ i &= 1;
i ^= 1;
i %= 1;
+ i = ~1;
i <<= 2;
i >>= 2;
}
diff --git a/tests/parser/attribute-duplicate.test b/tests/parser/attribute-duplicate.test
new file mode 100644
index 000000000..c310d03df
--- /dev/null
+++ b/tests/parser/attribute-duplicate.test
@@ -0,0 +1,6 @@
+Invalid Code
+
+[CCode (cname = "test1"), CCode (cname = "test2")]
+void main () {
+
+}
diff --git a/tests/parser/attribute-wrong-number.test b/tests/parser/attribute-wrong-number.test
new file mode 100644
index 000000000..4da4d6044
--- /dev/null
+++ b/tests/parser/attribute-wrong-number.test
@@ -0,0 +1,6 @@
+Invalid Code
+
+[Attribute (prop = -a)]
+void main () {
+
+}
diff --git a/tests/parser/base-class-invalid.test b/tests/parser/base-class-invalid.test
new file mode 100644
index 000000000..0e3efe1fa
--- /dev/null
+++ b/tests/parser/base-class-invalid.test
@@ -0,0 +1,10 @@
+Invalid Code
+
+class Foo {
+ public Foo () {
+ base ();
+ }
+}
+
+void main () {
+}
diff --git a/tests/parser/constructor-no-new.test b/tests/parser/constructor-no-new.test
new file mode 100644
index 000000000..802dbcaf8
--- /dev/null
+++ b/tests/parser/constructor-no-new.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ new construct {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/constructor-no-static-class.test b/tests/parser/constructor-no-static-class.test
new file mode 100644
index 000000000..0401e505c
--- /dev/null
+++ b/tests/parser/constructor-no-static-class.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ static class construct {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/creation-no-abstract.test b/tests/parser/creation-no-abstract.test
new file mode 100644
index 000000000..ab842b2f0
--- /dev/null
+++ b/tests/parser/creation-no-abstract.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ abstract Test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/creation-no-override.test b/tests/parser/creation-no-override.test
new file mode 100644
index 000000000..1704d0ddc
--- /dev/null
+++ b/tests/parser/creation-no-override.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ override Test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/creation-no-virtual.test b/tests/parser/creation-no-virtual.test
new file mode 100644
index 000000000..2ea1587b4
--- /dev/null
+++ b/tests/parser/creation-no-virtual.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ virtual Test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/delegate-no-new.test b/tests/parser/delegate-no-new.test
new file mode 100644
index 000000000..6414da483
--- /dev/null
+++ b/tests/parser/delegate-no-new.test
@@ -0,0 +1,7 @@
+Invalid Code
+
+public new delegate void MyDelegate ();
+
+void main () {
+
+}
diff --git a/tests/parser/destructor-no-new.test b/tests/parser/destructor-no-new.test
new file mode 100644
index 000000000..3cc3a64af
--- /dev/null
+++ b/tests/parser/destructor-no-new.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ new ~Test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/destructor-no-static-class.test b/tests/parser/destructor-no-static-class.test
new file mode 100644
index 000000000..093eef2bc
--- /dev/null
+++ b/tests/parser/destructor-no-static-class.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ static class ~Test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/destructor-wrong-name.test b/tests/parser/destructor-wrong-name.test
new file mode 100644
index 000000000..38ea936ba
--- /dev/null
+++ b/tests/parser/destructor-wrong-name.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ ~TestTypo () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/expect-endbrace.test b/tests/parser/expect-endbrace.test
new file mode 100644
index 000000000..bfea53275
--- /dev/null
+++ b/tests/parser/expect-endbrace.test
@@ -0,0 +1,7 @@
+Invalid Code
+
+void main () {
+ if (true) {
+
+ return;
+}
diff --git a/tests/parser/expect-error.test b/tests/parser/expect-error.test
new file mode 100644
index 000000000..14d8cb9e2
--- /dev/null
+++ b/tests/parser/expect-error.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public private class Test {
+
+}
+
+void main () {
+ new Test ();
+}
diff --git a/tests/parser/field-no-abstract.test b/tests/parser/field-no-abstract.test
new file mode 100644
index 000000000..ed7fd4c64
--- /dev/null
+++ b/tests/parser/field-no-abstract.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ abstract int i;
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/field-no-override.test b/tests/parser/field-no-override.test
new file mode 100644
index 000000000..d09924d03
--- /dev/null
+++ b/tests/parser/field-no-override.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ override int i;
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/field-no-static-class.test b/tests/parser/field-no-static-class.test
new file mode 100644
index 000000000..2d42070e1
--- /dev/null
+++ b/tests/parser/field-no-static-class.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ static class int i;
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/field-no-virtual.test b/tests/parser/field-no-virtual.test
new file mode 100644
index 000000000..4f1dca70f
--- /dev/null
+++ b/tests/parser/field-no-virtual.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ virtual int i;
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/foreach-no-type.test b/tests/parser/foreach-no-type.test
new file mode 100644
index 000000000..24e60ca2b
--- /dev/null
+++ b/tests/parser/foreach-no-type.test
@@ -0,0 +1,8 @@
+Invalid Code
+
+void main () {
+ int[] test = {};
+ foreach (t in test) {
+ error ("");
+ }
+}
diff --git a/tests/parser/function-syntax-error.test b/tests/parser/function-syntax-error.test
new file mode 100644
index 000000000..4f6673f17
--- /dev/null
+++ b/tests/parser/function-syntax-error.test
@@ -0,0 +1,5 @@
+Invalid Code
+
+void int main () {
+ error ("");
+}
diff --git a/tests/parser/inner-array-size.test b/tests/parser/inner-array-size.test
new file mode 100644
index 000000000..fc882e15d
--- /dev/null
+++ b/tests/parser/inner-array-size.test
@@ -0,0 +1,5 @@
+Invalid Code
+
+void main () {
+ var test = new string[4][];
+}
diff --git a/tests/parser/invalid-brace.test b/tests/parser/invalid-brace.test
new file mode 100644
index 000000000..2e62b782a
--- /dev/null
+++ b/tests/parser/invalid-brace.test
@@ -0,0 +1,6 @@
+Invalid Code
+
+void main () {
+ error ("");
+}
+}
diff --git a/tests/parser/method-no-abstract-override.test b/tests/parser/method-no-abstract-override.test
new file mode 100644
index 000000000..e38ecfb25
--- /dev/null
+++ b/tests/parser/method-no-abstract-override.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ abstract override void test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/method-no-abstract-virtual-override.test b/tests/parser/method-no-abstract-virtual-override.test
new file mode 100644
index 000000000..8493976e2
--- /dev/null
+++ b/tests/parser/method-no-abstract-virtual-override.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ abstract virtual override void test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/method-no-abstract-virtual.test b/tests/parser/method-no-abstract-virtual.test
new file mode 100644
index 000000000..72da92997
--- /dev/null
+++ b/tests/parser/method-no-abstract-virtual.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ abstract virtual void test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/method-no-class-abstract.test b/tests/parser/method-no-class-abstract.test
new file mode 100644
index 000000000..11b56158f
--- /dev/null
+++ b/tests/parser/method-no-class-abstract.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ class abstract void test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/method-no-class-override.test b/tests/parser/method-no-class-override.test
new file mode 100644
index 000000000..69eb9f901
--- /dev/null
+++ b/tests/parser/method-no-class-override.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ class override void test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/method-no-class-virtual.test b/tests/parser/method-no-class-virtual.test
new file mode 100644
index 000000000..3d789435b
--- /dev/null
+++ b/tests/parser/method-no-class-virtual.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ class virtual void test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/method-no-static-abstract.test b/tests/parser/method-no-static-abstract.test
new file mode 100644
index 000000000..c7937f50b
--- /dev/null
+++ b/tests/parser/method-no-static-abstract.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ static abstract void test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/method-no-static-class.test b/tests/parser/method-no-static-class.test
new file mode 100644
index 000000000..7976e4df1
--- /dev/null
+++ b/tests/parser/method-no-static-class.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ static class void test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/method-no-static-override.test b/tests/parser/method-no-static-override.test
new file mode 100644
index 000000000..f4a21df78
--- /dev/null
+++ b/tests/parser/method-no-static-override.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ static override void test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/method-no-static-virtual.test b/tests/parser/method-no-static-virtual.test
new file mode 100644
index 000000000..3d789435b
--- /dev/null
+++ b/tests/parser/method-no-static-virtual.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ class virtual void test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/method-no-virtual-override.test b/tests/parser/method-no-virtual-override.test
new file mode 100644
index 000000000..e38ecfb25
--- /dev/null
+++ b/tests/parser/method-no-virtual-override.test
@@ -0,0 +1,11 @@
+Invalid Code
+
+public class Test {
+ abstract override void test () {
+
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/namespace-missing-bracket.test b/tests/parser/namespace-missing-bracket.test
new file mode 100644
index 000000000..03626c74a
--- /dev/null
+++ b/tests/parser/namespace-missing-bracket.test
@@ -0,0 +1,7 @@
+Invalid Code
+
+void main () {
+
+}
+
+namespace Test {
diff --git a/tests/parser/property-default-redefined.test b/tests/parser/property-default-redefined.test
new file mode 100644
index 000000000..5b30bc30e
--- /dev/null
+++ b/tests/parser/property-default-redefined.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ public int i { get; set; default=0; default=1; }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/property-get-must-have-body.test b/tests/parser/property-get-must-have-body.test
new file mode 100644
index 000000000..418f38a3b
--- /dev/null
+++ b/tests/parser/property-get-must-have-body.test
@@ -0,0 +1,14 @@
+Invalid Code
+
+public class Test {
+ public int i {
+ get;
+ set {
+ return 0;
+ }
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/property-get-redefined.test b/tests/parser/property-get-redefined.test
new file mode 100644
index 000000000..83cd3fdd8
--- /dev/null
+++ b/tests/parser/property-get-redefined.test
@@ -0,0 +1,17 @@
+Invalid Code
+
+public class Test {
+ public int i {
+ get;
+ get {
+ return 0;
+ }
+ set {
+
+ }
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/property-get-set-construct.test b/tests/parser/property-get-set-construct.test
new file mode 100644
index 000000000..be618788b
--- /dev/null
+++ b/tests/parser/property-get-set-construct.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ public int i { get; set; delete; }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/property-no-abstract-override.test b/tests/parser/property-no-abstract-override.test
new file mode 100644
index 000000000..0f50bf519
--- /dev/null
+++ b/tests/parser/property-no-abstract-override.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ abstract override int i { get; set; }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/property-no-abstract-virtual-override.test b/tests/parser/property-no-abstract-virtual-override.test
new file mode 100644
index 000000000..a3e51c0d4
--- /dev/null
+++ b/tests/parser/property-no-abstract-virtual-override.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ abstract virtual override int i { get; set; }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/property-no-abstract-virtual.test b/tests/parser/property-no-abstract-virtual.test
new file mode 100644
index 000000000..1099c6ebb
--- /dev/null
+++ b/tests/parser/property-no-abstract-virtual.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ abstract virtual int i { get; set; }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/property-no-static-class.test b/tests/parser/property-no-static-class.test
new file mode 100644
index 000000000..96f6f23ac
--- /dev/null
+++ b/tests/parser/property-no-static-class.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ static class int i { get; set; }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/property-no-virtual-override.test b/tests/parser/property-no-virtual-override.test
new file mode 100644
index 000000000..1b34a05fb
--- /dev/null
+++ b/tests/parser/property-no-virtual-override.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ virtual override int i { get; set; }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/property-set-must-have-body.test b/tests/parser/property-set-must-have-body.test
new file mode 100644
index 000000000..c578bbb94
--- /dev/null
+++ b/tests/parser/property-set-must-have-body.test
@@ -0,0 +1,14 @@
+Invalid Code
+
+public class Test {
+ public int i {
+ get {
+ return 0;
+ }
+ set;
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/property-set-redefined.test b/tests/parser/property-set-redefined.test
new file mode 100644
index 000000000..b1a2e7ac6
--- /dev/null
+++ b/tests/parser/property-set-redefined.test
@@ -0,0 +1,17 @@
+Invalid Code
+
+public class Test {
+ public int i {
+ get {
+ return 0;
+ }
+ set;
+ set {
+
+ }
+ }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/signal-no-class.test b/tests/parser/signal-no-class.test
new file mode 100644
index 000000000..2bcdfebe3
--- /dev/null
+++ b/tests/parser/signal-no-class.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ public class signal void test ();
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/signal-no-static.test b/tests/parser/signal-no-static.test
new file mode 100644
index 000000000..ae1c538e9
--- /dev/null
+++ b/tests/parser/signal-no-static.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ public static signal void test ();
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/statement-outside-root.test b/tests/parser/statement-outside-root.test
new file mode 100644
index 000000000..c79835921
--- /dev/null
+++ b/tests/parser/statement-outside-root.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+namespace Test {
+ var i = {};
+}
+
+void main () {
+
+}
diff --git a/tests/parser/tuple.vala b/tests/parser/tuple.vala
index 1c16942de..0b015c689 100644
--- a/tests/parser/tuple.vala
+++ b/tests/parser/tuple.vala
@@ -11,4 +11,8 @@ void main () {
(i, j) = BAR;
assert (i == 42);
assert (j == 4711);
+
+ var (test, test2) = new int[] { 0, 1 };
+ assert (test == 0);
+ assert (test2 == 1);
}
diff --git a/tests/parser/unsupported-property-async.test b/tests/parser/unsupported-property-async.test
new file mode 100644
index 000000000..fd0295330
--- /dev/null
+++ b/tests/parser/unsupported-property-async.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ public async int i { get; set; }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/unsupported-property-throws.test b/tests/parser/unsupported-property-throws.test
new file mode 100644
index 000000000..cbf1b3fd6
--- /dev/null
+++ b/tests/parser/unsupported-property-throws.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public class Test {
+ public int i throws int { get; set; }
+}
+
+void main () {
+ var test = new Test ();
+}
diff --git a/tests/parser/void-parameter-invalid.test b/tests/parser/void-parameter-invalid.test
new file mode 100644
index 000000000..11e8faf2b
--- /dev/null
+++ b/tests/parser/void-parameter-invalid.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+public void test (void argument) {
+
+}
+
+void main () {
+ test ();
+}
diff --git a/tests/parser/yield-method.test b/tests/parser/yield-method.test
new file mode 100644
index 000000000..1cf7cdf96
--- /dev/null
+++ b/tests/parser/yield-method.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+async void test () {
+ yield "";
+}
+
+void main () {
+ test.begin ();
+}