]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
tests: Add more invalid class tests to increase coverage
authorRico Tzschichholz <ricotz@ubuntu.com>
Wed, 13 Jun 2018 17:57:21 +0000 (19:57 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Wed, 13 Jun 2018 18:09:25 +0000 (20:09 +0200)
tests/Makefile.am
tests/methods/prepostconditions.vala
tests/semantic/class-base-type-invalid.test [new file with mode: 0644]
tests/semantic/class-base-type-less-accessible.test [new file with mode: 0644]
tests/semantic/class-compact-derived-instance-field.test [new file with mode: 0644]
tests/semantic/class-compact-interface.test [new file with mode: 0644]
tests/semantic/class-missing-implement-interface-method.test [new file with mode: 0644]
tests/semantic/class-missing-implement-interface-property.test [new file with mode: 0644]
tests/semantic/class-missing-implement-method.test [new file with mode: 0644]
tests/semantic/class-missing-implement-property.test [new file with mode: 0644]
tests/semantic/class-missing-prerequisites.test [new file with mode: 0644]

index c62cc62b3470f34a1bf95f04286b6a3af74aac5b..4d53645e276ad81e5e78b2823f8c41e3cd81ecfe 100644 (file)
@@ -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 \
index 871bfa7fef91cf090da8a1eecf5db97a13472b43..aeae32a9f999fed828d5d7f2d602a6f965288994 100644 (file)
@@ -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 (file)
index 0000000..36ce87c
--- /dev/null
@@ -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 (file)
index 0000000..4f8826f
--- /dev/null
@@ -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 (file)
index 0000000..b33e71e
--- /dev/null
@@ -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 (file)
index 0000000..46de905
--- /dev/null
@@ -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 (file)
index 0000000..1d20e84
--- /dev/null
@@ -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 (file)
index 0000000..9178af5
--- /dev/null
@@ -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 (file)
index 0000000..c5b154a
--- /dev/null
@@ -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 (file)
index 0000000..e958a77
--- /dev/null
@@ -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 (file)
index 0000000..3395c50
--- /dev/null
@@ -0,0 +1,19 @@
+Invalid Code
+
+interface IFoo {
+}
+
+interface IBaz {
+}
+
+interface IBar : IFoo, IBaz {
+}
+
+class Bar : IBar {
+}
+
+class Foo : Bar {
+}
+
+void main () {
+}