From: Rico Tzschichholz Date: Wed, 13 Jun 2018 17:57:21 +0000 (+0200) Subject: tests: Add more invalid class tests to increase coverage X-Git-Tag: 0.41.90~65 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0df98c57d59cea06ae969ca1f7f46889c8dff7f3;p=thirdparty%2Fvala.git tests: Add more invalid class tests to increase coverage --- diff --git a/tests/Makefile.am b/tests/Makefile.am index c62cc62b3..4d53645e2 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -467,6 +467,15 @@ TESTS = \ parser/yield-method.test \ parser/bug728574.vala \ parser/bug749576.vala \ + semantic/class-base-type-invalid.test \ + semantic/class-base-type-less-accessible.test \ + semantic/class-compact-derived-instance-field.test \ + semantic/class-compact-interface.test \ + semantic/class-missing-implement-interface-method.test \ + semantic/class-missing-implement-interface-property.test \ + semantic/class-missing-implement-method.test \ + semantic/class-missing-implement-property.test \ + semantic/class-missing-prerequisites.test \ semantic/class-too-few-type-arguments.test \ semantic/class-too-many-type-arguments.test \ semantic/constant-extern.test \ diff --git a/tests/methods/prepostconditions.vala b/tests/methods/prepostconditions.vala index 871bfa7fe..aeae32a9f 100644 --- a/tests/methods/prepostconditions.vala +++ b/tests/methods/prepostconditions.vala @@ -3,10 +3,15 @@ class Foo { public void foo () ensures (ensured = true) { } + + public string bar () ensures (result.length >= 3) { + return "bar"; + } } void main () { var foo = new Foo(); foo.foo(); assert(foo.ensured); -} \ No newline at end of file + assert(foo.bar () == "bar"); +} diff --git a/tests/semantic/class-base-type-invalid.test b/tests/semantic/class-base-type-invalid.test new file mode 100644 index 000000000..36ce87c4c --- /dev/null +++ b/tests/semantic/class-base-type-invalid.test @@ -0,0 +1,10 @@ +Invalid Code + +class Bar { +} + +public class Foo : Bar { +} + +void main () { +} diff --git a/tests/semantic/class-base-type-less-accessible.test b/tests/semantic/class-base-type-less-accessible.test new file mode 100644 index 000000000..4f8826f3f --- /dev/null +++ b/tests/semantic/class-base-type-less-accessible.test @@ -0,0 +1,11 @@ +Invalid Code + +struct Bar { + public int i; +} + +class Foo : Bar { +} + +void main () { +} diff --git a/tests/semantic/class-compact-derived-instance-field.test b/tests/semantic/class-compact-derived-instance-field.test new file mode 100644 index 000000000..b33e71eb9 --- /dev/null +++ b/tests/semantic/class-compact-derived-instance-field.test @@ -0,0 +1,13 @@ +Invalid Code + +[Compact] +class Bar { +} + +[Compact] +class Foo : Bar { + public int i; +} + +void main () { +} diff --git a/tests/semantic/class-compact-interface.test b/tests/semantic/class-compact-interface.test new file mode 100644 index 000000000..46de90510 --- /dev/null +++ b/tests/semantic/class-compact-interface.test @@ -0,0 +1,11 @@ +Invalid Code + +interface Bar { +} + +[Compact] +class Foo : Bar { +} + +void main () { +} diff --git a/tests/semantic/class-missing-implement-interface-method.test b/tests/semantic/class-missing-implement-interface-method.test new file mode 100644 index 000000000..1d20e84a7 --- /dev/null +++ b/tests/semantic/class-missing-implement-interface-method.test @@ -0,0 +1,11 @@ +Invalid Code + +interface Bar { + public abstract void bar (); +} + +class Foo : Bar { +} + +void main () { +} diff --git a/tests/semantic/class-missing-implement-interface-property.test b/tests/semantic/class-missing-implement-interface-property.test new file mode 100644 index 000000000..9178af5e2 --- /dev/null +++ b/tests/semantic/class-missing-implement-interface-property.test @@ -0,0 +1,11 @@ +Invalid Code + +interface Bar { + public abstract string bar { get; set; } +} + +class Foo : Bar { +} + +void main () { +} diff --git a/tests/semantic/class-missing-implement-method.test b/tests/semantic/class-missing-implement-method.test new file mode 100644 index 000000000..c5b154a50 --- /dev/null +++ b/tests/semantic/class-missing-implement-method.test @@ -0,0 +1,11 @@ +Invalid Code + +abstract class Bar { + public abstract void bar (); +} + +class Foo : Bar { +} + +void main () { +} diff --git a/tests/semantic/class-missing-implement-property.test b/tests/semantic/class-missing-implement-property.test new file mode 100644 index 000000000..e958a7782 --- /dev/null +++ b/tests/semantic/class-missing-implement-property.test @@ -0,0 +1,11 @@ +Invalid Code + +abstract class Bar { + public abstract string bar { get; set; } +} + +class Foo : Bar { +} + +void main () { +} diff --git a/tests/semantic/class-missing-prerequisites.test b/tests/semantic/class-missing-prerequisites.test new file mode 100644 index 000000000..3395c5075 --- /dev/null +++ b/tests/semantic/class-missing-prerequisites.test @@ -0,0 +1,19 @@ +Invalid Code + +interface IFoo { +} + +interface IBaz { +} + +interface IBar : IFoo, IBaz { +} + +class Bar : IBar { +} + +class Foo : Bar { +} + +void main () { +}