[vala/wip/tintou/tests] tests: add invalid cases for the Parser



commit db6753ef3a595d0606ec6f6637b0024078d79d84
Author: Corentin Noël <corentin elementary io>
Date:   Mon Feb 5 01:02:21 2018 +0000

    tests: add invalid cases for the Parser

 tests/Makefile.am                                  |   50 ++++++++++++++++++++
 tests/parser/assignment.vala                       |    3 +-
 tests/parser/attribute-duplicate.test              |    6 ++
 tests/parser/attribute-wrong-number.test           |    6 ++
 tests/parser/base-class-invalid.test               |   10 ++++
 tests/parser/constructor-no-new.test               |   11 ++++
 tests/parser/constructor-no-static-class.test      |   11 ++++
 tests/parser/creation-no-abstract.test             |   11 ++++
 tests/parser/creation-no-override.test             |   11 ++++
 tests/parser/creation-no-virtual.test              |   11 ++++
 tests/parser/delegate-no-new.test                  |    7 +++
 tests/parser/destructor-no-new.test                |   11 ++++
 tests/parser/destructor-no-static-class.test       |   11 ++++
 tests/parser/destructor-wrong-name.test            |   11 ++++
 tests/parser/expect-endbrace.test                  |    7 +++
 tests/parser/expect-error.test                     |    9 ++++
 tests/parser/field-no-abstract.test                |    9 ++++
 tests/parser/field-no-override.test                |    9 ++++
 tests/parser/field-no-static-class.test            |    9 ++++
 tests/parser/field-no-virtual.test                 |    9 ++++
 tests/parser/foreach-no-type.test                  |    8 +++
 tests/parser/function-syntax-error.test            |    5 ++
 tests/parser/inner-array-size.test                 |    5 ++
 tests/parser/invalid-brace.test                    |    6 ++
 tests/parser/method-no-abstract-override.test      |   11 ++++
 .../method-no-abstract-virtual-override.test       |   11 ++++
 tests/parser/method-no-abstract-virtual.test       |   11 ++++
 tests/parser/method-no-class-abstract.test         |   11 ++++
 tests/parser/method-no-class-override.test         |   11 ++++
 tests/parser/method-no-class-virtual.test          |   11 ++++
 tests/parser/method-no-static-abstract.test        |   11 ++++
 tests/parser/method-no-static-class.test           |   11 ++++
 tests/parser/method-no-static-override.test        |   11 ++++
 tests/parser/method-no-static-virtual.test         |   11 ++++
 tests/parser/method-no-virtual-override.test       |   11 ++++
 tests/parser/namespace-missing-bracket.test        |    7 +++
 tests/parser/property-default-redefined.test       |    9 ++++
 tests/parser/property-get-must-have-body.test      |   14 ++++++
 tests/parser/property-get-redefined.test           |   17 +++++++
 tests/parser/property-get-set-construct.test       |    9 ++++
 tests/parser/property-no-abstract-override.test    |    9 ++++
 .../property-no-abstract-virtual-override.test     |    9 ++++
 tests/parser/property-no-abstract-virtual.test     |    9 ++++
 tests/parser/property-no-static-class.test         |    9 ++++
 tests/parser/property-no-virtual-override.test     |    9 ++++
 tests/parser/property-set-must-have-body.test      |   14 ++++++
 tests/parser/property-set-redefined.test           |   17 +++++++
 tests/parser/signal-no-class.test                  |    9 ++++
 tests/parser/signal-no-static.test                 |    9 ++++
 tests/parser/statement-outside-root.test           |    9 ++++
 tests/parser/tuple.vala                            |    4 ++
 tests/parser/unsupported-property-async.test       |    9 ++++
 tests/parser/unsupported-property-throws.test      |    9 ++++
 tests/parser/void-parameter-invalid.test           |    9 ++++
 tests/parser/yield-method.test                     |    9 ++++
 55 files changed, 565 insertions(+), 1 deletions(-)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e89b338..fb28ecf 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 ceef7cf..257cd55 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 0000000..c310d03
--- /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 0000000..4da4d60
--- /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 0000000..0e3efe1
--- /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 0000000..802dbca
--- /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 0000000..0401e50
--- /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 0000000..ab842b2
--- /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 0000000..1704d0d
--- /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 0000000..2ea1587
--- /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 0000000..6414da4
--- /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 0000000..3cc3a64
--- /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 0000000..093eef2
--- /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 0000000..38ea936
--- /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 0000000..bfea532
--- /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 0000000..14d8cb9
--- /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 0000000..ed7fd4c
--- /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 0000000..d09924d
--- /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 0000000..2d42070
--- /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 0000000..4f1dca7
--- /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 0000000..24e60ca
--- /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 0000000..4f6673f
--- /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 0000000..fc882e1
--- /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 0000000..2e62b78
--- /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 0000000..e38ecfb
--- /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 0000000..8493976
--- /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 0000000..72da929
--- /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 0000000..11b5615
--- /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 0000000..69eb9f9
--- /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 0000000..3d78943
--- /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 0000000..c7937f5
--- /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 0000000..7976e4d
--- /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 0000000..f4a21df
--- /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 0000000..3d78943
--- /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 0000000..e38ecfb
--- /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 0000000..03626c7
--- /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 0000000..5b30bc3
--- /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 0000000..418f38a
--- /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 0000000..83cd3fd
--- /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 0000000..be61878
--- /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 0000000..0f50bf5
--- /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 0000000..a3e51c0
--- /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 0000000..1099c6e
--- /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 0000000..96f6f23
--- /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 0000000..1b34a05
--- /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 0000000..c578bbb
--- /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 0000000..b1a2e7a
--- /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 0000000..2bcdfeb
--- /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 0000000..ae1c538
--- /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 0000000..c798359
--- /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 1c16942..0b015c6 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 0000000..fd02953
--- /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 0000000..cbf1b3f
--- /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 0000000..11e8faf
--- /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 0000000..1cf7cdf
--- /dev/null
+++ b/tests/parser/yield-method.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+async void test () {
+       yield "";
+}
+
+void main () {
+       test.begin ();
+}


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