diff options
author | Corentin Noël <corentin@elementary.io> | 2018-02-05 01:02:21 +0000 |
---|---|---|
committer | Corentin Noël <corentin@elementary.io> | 2018-02-05 01:02:21 +0000 |
commit | db6753ef3a595d0606ec6f6637b0024078d79d84 (patch) | |
tree | 17e0459b9cddf697a425b82d3e3a9873399a9dc9 /tests | |
parent | f63c2cb0bfdd282b3d8d1ffcba1b58273555715a (diff) | |
download | vala-wip/tintou/tests.tar.gz |
tests: add invalid cases for the Parserwip/tintou/tests
Diffstat (limited to 'tests')
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 (); +} |